Giter Site home page Giter Site logo

Comments (16)

baconpaul avatar baconpaul commented on September 1, 2024

Do you have a wav with a root note header in it? Curious what the block is. If possible attaching one here would help

from shortcircuit-xt.

mkruselj avatar mkruselj commented on September 1, 2024

With WAV there's multiple ways to write root note in the metadata, IIRC. I think it can be in smpl and then also in inst chunk.

http://web.archive.org/web/19991115123323/http://www.borg.com/~jglatt/tech/wave.htm

Supporting reading from both chunks seems prudent for a sampler.

from shortcircuit-xt.

MTornPDX avatar MTornPDX commented on September 1, 2024

Right. I may have it backwards, but from ones I’ve tried I think Ableton, Bitwig, and Reason likes it in SMPL, and Logic Pro and Studio One recognizes INST.

Same with Fine Tuning (or, I think, MIDI Pitch Fraction), something I insist is very important to support. And also to support negative values for fine turning (-50 to 50). In Ableton, a WAV with negative tuning is misread as one note lower.

I’ll try to produce example files of all of these later today.

from shortcircuit-xt.

baconpaul avatar baconpaul commented on September 1, 2024

Yeah reading the spec these are easy to read and plumb through. Good test examples with the expected result would make it easy enough to do. We already have a chunk reader in the code which gives us what we need. Just need plumbing.

from shortcircuit-xt.

MTornPDX avatar MTornPDX commented on September 1, 2024

WAV Root notes and tuning.zip

from shortcircuit-xt.

baconpaul avatar baconpaul commented on September 1, 2024

thanks!

from shortcircuit-xt.

baconpaul avatar baconpaul commented on September 1, 2024

Wow that SMPLA3 really loads improperly!

from shortcircuit-xt.

MTornPDX avatar MTornPDX commented on September 1, 2024

SMPL Negative tuning is messy. I THINK the value can 0 to 100, with values over 50 representing tunings of -49 to 0.

There's a discrepancy between different samplers on wether a negative value (say 75, that is a tuning of -25) should also automatically save the file with a root note one lower. So a sample set for A#3 tuning -29 will be saved (and read) in Bitwig as a A3 tuning 71.
In Reason, however, that same A#3 tuning -29 will be saved as an A#3 tuning 71!

I don't have a strong suggestion which to use. Since I come from a Reason background I tend to lean that way, but since Ableton and Bitwig do it the other way, it might be more important to match those two.

from shortcircuit-xt.

baconpaul avatar baconpaul commented on September 1, 2024

Yeah I was just noticing if I reset and drag in that sample all my note ranges are totally corrupted - something is very wrong in the loader

from shortcircuit-xt.

MTornPDX avatar MTornPDX commented on September 1, 2024

Oh, that kind of improperly! I better make sure that the WAV loads correctly in a few of my sampler plugins to make sure I didn't send you a bum one.

from shortcircuit-xt.

MTornPDX avatar MTornPDX commented on September 1, 2024

Alright, I went through the four samples in five samplers (in four DAWs).
All of them opened cleanly, but:

Reason only recognizes root and tuning in SMPL. (but has the aforementioned note offset on negative tuning)
Logic Sampler only recognizes root and tuning in INST.
Studio One Presence XT recognizes everything in INST, root in SMPL, but gets the SMPL tuning wrong.
Bitwig only recognizes root and tuning in SMPL.
Ableton recognizes everything! (but offsets SMPL negative tuning by 1)
TAL Sampler recognizes nothing! (grrr)

So I THINK that these should be useful and reliable fo troubleshooting the SCXT weirdness.

from shortcircuit-xt.

baconpaul avatar baconpaul commented on September 1, 2024

Yes! Also glad to see such consistency n the commercial products :)

from shortcircuit-xt.

mkruselj avatar mkruselj commented on September 1, 2024

I would honestly suggest probably not to bother with tuning, especially since there are two different ways of interpreting negative tuning! We can never really know what was originally intended...

from shortcircuit-xt.

MTornPDX avatar MTornPDX commented on September 1, 2024

That would be a great loss, at least for me personally. Probably with the result of me not using SC at all - it's a big reason I don't really use Kontakt and TAL Sampler.

I have thousands (probably over 10,000) instrument samples WAVs that I've tuned by ear, and the thought of having to do it all over again if I migrate to SCXT is just, bleh, I can't be bothered.

If the only discrepancy is the specific instance of negative tuning of SMPL files, not implementing tuning at all would be throwing the baby out with the bath water.

If all I have to do is to transpose WAVs I've tuned to a negative value in Reason one note up when importing, I can absolutely live with that. That's what I'd have to do if I were to migrate to Ableton Live or Bitwig.

from shortcircuit-xt.

baconpaul avatar baconpaul commented on September 1, 2024

so the tuning means that your metadata says "this is note 60 and with this offset it will play at 261.52" basically? I think we should support that. Doesn't sound that hard to me, to be honest.

from shortcircuit-xt.

MTornPDX avatar MTornPDX commented on September 1, 2024

Yes, and there's already Fine tuning in the Pitch, Etc box for each sample. The WAV metadata tuning info should just be applied there.

For SFZ import, there's a standard opcode for a region, Tune, which works the same way, -50 to +50. Hopefully that will be properly implemented as well.
In fact, in a pinch, as long as SFZ import accepts tuning, I can go that route. I use Bjoern's Sample Mapper for mapping SFZs, and that one imports WAV SMPL root and tuning data nicely (using the Reason standard for negative tuning, even!). It's very quick to use, and I can map in Bjoern's, and import the SFZ to SCXT. A bit of a workaround, of course.

from shortcircuit-xt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.