From the original SynthMaker forum (2004–2014), with its members’ names and dates.
attic ·
In Infuzion's Chord/Scale-Tool found here [old link] the Int to Note module doesn't seem to track right in the minus range from C0 down to around B-2. I would like to fix this but to me it seems like it should work the way it is. Can anyone else spot the problem, maybe I'm just to tired right now. 🙁
trogluddite ·
attic wrote: maybe I'm just to tired right now.
Maybe 😉 - But you are still right about the Note to Int!
The module does not parse the negative numbers - so, for example, B-2 will give the note number for B2 etc.
I just noticed the same thing in the parser for my MagiMIDI project - I set my drum pads to output in the 'minus' octave, so it wouldn't clash with my keyboard, and found that MagiMIDI wouldn't parse the notes unless I just used the decimal code for the note.
Should be e-mailed to Malc as a bug - but in the meantime, I'm working on a custom parser module as a workaround - will post up when I get it working.
attic ·
MagiMIDI wouldn't parse the notes unless I just used the decimal code for the note.
Thanks Trog, good to have an idea whats going on here, but I'm a little fuzzy on what your saying and want to fix this. Do you mean don't start from 60 and count from the bottom up + remove the string? Or maybe I need sleep first. Is this the exact same problem as in your MagiMIDI or is this slightly different? Will your custom parser work in this scenario or should I build something for this one?
trogluddite ·
Ooops, my bad 😊 - maybe I need some sleep too!
I didn't look at Infuzion's schematic, and just assumed you were using the stock 'Note to Int' primitive (that's what's inside my gizmo). Maybe Infuzion made his own because of the "minus octaves" bug with the stock one!
in fact, infuzion's version gives me some ideas to fix my own problems - though it does have one little quirk (not sure if this relates to your problem)...
In that .osm, middle C (MIDI note 60) is indexed as "C0" whereas for many MIDI devices "Middle" C is actually C4 (sometimes even C3 - don't you just love "standards"). To me, his version makes more sense (+ and - of the 'middle' seems more logical) - but maybe that is why your lower octaves are going out of range?
attic ·
No whats happening for me is the readout between C0 or note 60 and down to B-2 doesn't change it reads C0 in that whole range until it hits B-2. Every other range above 60 (C0) reads out fine and B-2 and below are good. I don't have it hooked to midi just a slider. uhm ... this slider here the one you just fixed for me Lol. 😉 Question On Slider control.
If you have time look at the osm I attached you will see what I mean if you drag down on the slider.
trogluddite ·
Ah - I think I can see the problem...
Inside the note to Int, I think it should be like this...
... in the original, the 'less than zero' comes from the divider. But it is an integer divider, so values from -1 to -11 round to zero - leaving the 'less than' unable to detect that the note is below middle C.
oddson ·
The Note to Integer was replaced by a primitive [or by Trog's update] and the inverse function (integer to note name) looks more complex than is needed (partly because of newer primitives). I'd suggest this:
See HERE for OSM.
trogluddite ·
Very elegant. 🙂
attic ·
I got some sleep and this all is much clearer. Thank you for the solution. The rule primitives are something I need to learn so that parse section in the Note to Int (bugfix) looks complex to me. I really appreciate your efforts and the time you both take for all of us. 🙂
Wrote something here? To have a post removed or your name hidden, write to [email protected].