One Synth Challenge #108: Diodow by HrastProgrammer (Schiing Wins!)

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

Ok, a question about Diodow.

1st. Is pitch bend broken or am I missing a step? :shrug:
Using the mod matrix selecting pitch bend and assigning to pitch (also tried individual osc1pitch and ocs2pitch to same effect).
It appears that a value of +1 for amount will raise the pitch by an octave when I move the pitchwheel up to full stop. However moving the pitchwheel down is a whole other story. Approximately 1/3 of the way down it passes one octave down and just keeps going and by the time I hit the stop (full down) the pitch is so low it doesn't make sound (or appear in SPAN).
Setting the amount to -1 just reverses the issue, moving pitchwheel down to stop will raise the pitch one octave, but moving the pitchwheel up will again just go multiple octaves.
How to I set it to just go one octave each direction?
As an aside I set the amount to +8 and pitchwheel up works as expected, but a slow pitchwheel down lowers pitch for part of the travel and then starts raising pitch. It is an interesting effect, just not what I'm after right now.

I've also tested my pitchwheel in other synths and in a midi data examiner and it appears to be functioning correctly.

So is there a trick to getting pitchwheel to work or is it a bit broken in Diodow?
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700

Post

Frostline wrote:Ok, a question about Diodow.

1st. Is pitch bend broken or am I missing a step? :shrug:
Using the mod matrix selecting pitch bend and assigning to pitch (also tried individual osc1pitch and ocs2pitch to same effect).
It appears that a value of +1 for amount will raise the pitch by an octave when I move the pitchwheel up to full stop. However moving the pitchwheel down is a whole other story. Approximately 1/3 of the way down it passes one octave down and just keeps going and by the time I hit the stop (full down) the pitch is so low it doesn't make sound (or appear in SPAN).
Setting the amount to -1 just reverses the issue, moving pitchwheel down to stop will raise the pitch one octave, but moving the pitchwheel up will again just go multiple octaves.
How to I set it to just go one octave each direction?
As an aside I set the amount to +8 and pitchwheel up works as expected, but a slow pitchwheel down lowers pitch for part of the travel and then starts raising pitch. It is an interesting effect, just not what I'm after right now.

I've also tested my pitchwheel in other synths and in a midi data examiner and it appears to be functioning correctly.

So is there a trick to getting pitchwheel to work or is it a bit broken in Diodow?
At .5 it goes up a 5th and down an octave.

So yeah, it's a bit funky. Not sure if by design or what, but that's what it's doing.

Post

wagtunes wrote: At .5 it goes up a 5th and down an octave.

So yeah, it's a bit funky. Not sure if by design or what, but that's what it's doing.
Well that's a bummer.

Thanks though for confirming it's behavior. :tu:
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700

Post

pitch+-2st: 0.12

Post

wagtunes wrote:At .5 it goes up a 5th and down an octave.

So yeah, it's a bit funky. Not sure if by design or what, but that's what it's doing.
It's because it's dealing with frequency, not note value, and it does a constant shift based on that one calculation, no matter which way you go :D

So if you set it at 0.5, and you're playing an A note at 440 Hz, half of that is 220 Hz. Going down, you go to 440-220 Hz, which is 220 Hz, the A note an octave below. Going up, you go to 440+220 Hz, which is 660 Hz, the E note a fifth above. HOWEVER, in our standard equal temperament tuning system, note frequency values between full octaves aren't tuned in exact ratios like this, and the E we get from a typical keyboard tuning is actually 659.25 Hz. So the octave in this example is right on, the fifth is close but not quite.

That's why pitch bending up and down using this ^ modulation method doesn't correspond to the most common tuning we're used to having, and is noticeably "wrong" when going full way either up or down. Check out the 0.12 value kokotte mentioned, for example, and how much flatter it sounds when going down ;)

Post

Guenon wrote:
wagtunes wrote:At .5 it goes up a 5th and down an octave.

So yeah, it's a bit funky. Not sure if by design or what, but that's what it's doing.
It's because it's dealing with frequency, not note value, and it does a constant shift based on that one calculation, no matter which way you go :D

So if you set it at 0.5, and you're playing an A note at 440 Hz, half of that is 220 Hz. Going down, you go to 440-220 Hz, which is 220 Hz, the A note an octave below. Going up, you go to 440+220 Hz, which is 660 Hz, the E note a fifth above. HOWEVER, in our standard equal temperament tuning system, note frequency values between full octaves aren't tuned in exact ratios like this, and the E we get from a typical keyboard tuning is actually 659.25 Hz. So the octave in this example is right on, the fifth is close but not quite.

That's why pitch bending up and down using this ^ modulation method doesn't correspond to the most common tuning we're used to having, and is noticeably "wrong" when going full way either up or down. Check out the 0.12 value kokotte mentioned, for example, and how much flatter it sounds when going down ;)
You're right,
in Tranzistow, you have different curve and tracking method

Post

Yeah. The humorous thing about it is, expanding my example above and replying to Frostline's case: as it's based on that one calculation and using the result for both the upwards and downwards shift, if you set it at full 1 it means you either add or subtract 100% of the current frequency value, hah -- so again, if you have an A at 440 Hz, when going full up the frequency will be doubled, 440+440 Hz (landing an octave above, naturally), and when going down it will be 440-440 Hz ... ;)

Post

Guenon wrote:It's because it's dealing with frequency, not note value, and it does a constant shift based on that one calculation, no matter which way you go
There are a few controls that—I have trouble getting my head around this—have linear control over a logarithmic range. (Or maybe it’s the reverse?) Pitch is the protagonist here mostly. And when you have pitch assigned to pitch, it’s not a problem. I made a level-to-pitch cheat sheet (tutorial 7?), but I forget whether it has MIDI note values. I’ll add them if not.
Tranzistow Tutorials: http://vze26m98.net/tranzistow/
Xenakis in America: http://oneblockavenue.net

Post

Yeah, thanks for doing the info files btw, cturner! The thing with using pitch bend as a modulation source for pitch is, you can only set a single "amount" value for the strength of it, and it operates using that value in the absolute frequency domain, instead of the relative note domain. It calculates the hard amount in absolute frequency it should go up or down, and it leads to this. As shown above, a situation might even follow where you go one octave up and yet (technically, yet half-jokingly) infinite octaves down, using the same "amount" of modulation :D

Unless there's some workaround or other alternative method for Diodow, my advice for not too much headache would be, if you want to utilize pitch bend simply for connecting notes in legato phrases and such, going both up and down:

1) Set an amount value that gives you a comfortable, in-tune interval in either direction (when going up it's something like... 0.059464 for a semitone and 0.11892 for a whole tone, etc. If there's some other voodoo involved, massage the numbers accordingly until you arrive at the desired audible in-tune interval, hah!)

2) If you're using a value that is in tune when going upwards: when the direction of the melody is going up during the bend legato, first play the initial note and then activate the pitch bend up to go to the target note. As usual.

3) Similarly, when the direction of the melody is going down, first activate the pitch bend up, then play the target note (the intended initial note will sound), then bring the pitch bend back down to center position in order to hit the target note :borg:
Last edited by Guenon on Fri Feb 09, 2018 11:53 am, edited 1 time in total.

Post

Heard back from BJ. He's okay. Pinning this thread just slipped by him.

Post

wagtunes wrote:Heard back from BJ. He's okay. Pinning this thread just slipped by him.
Thanks! Great to hear :)

(Edit: almost didn't find the thread now that it's pinned, lol)

Post

Guenon wrote:Yeah, thanks for doing the info files btw, cturner!
Hey, you’re welcome, @Guenon !

I’ll look into this later in the day. I assume when we’re talking pitch bend, everyone means a 14bit MIDI value?
Tranzistow Tutorials: http://vze26m98.net/tranzistow/
Xenakis in America: http://oneblockavenue.net

Post

@Guenon
Thanks for the explanation of how pitch bend is implemented. I didn't quite understand how a 1 value was 12 semitones and .5 was 7 semitones. Now I understand it is more complicated than I thought.

Was wanting to use PB to increase the note range of the 12 pads on my keyboard since I have found them to be easier to improvise ideas on. Guess I will make do with just one extra octave.
The one month I think I will move away from just feeding most stuff into an arp and actually try to play and the synth wants to thwart me, must be fate. :lol:
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700

Post

(This probably should be a post over in the "Hrastwerk Tips" thread.)

I spent a little time with this Pitch Bend issue, but I'm sort of handicapped because my copy of Diodow has suddenly started to crash Reaper. The Tranzistow Demo is just fine, so here's what I did there.

I made a MIDI file of A4 half notes at 120bpm, so it's playing 440hz. I set the pitch bend to a linear distribution of settings like so:
PB_MIDI.png
It's actually overkill. If you loop the last two notes, it'll inscribe the highest and lowest bends around the note. And this illustrates the problem discussed above. Highest PB note is something like 1000khz, and the lowest is most likely 0hz!

Tranzistow has a function that compensates for this:
PB_setting.png
The ExpPitch2 setting will enable the highest and lowest MIDI PB values to bend the pitch up and down an octave, like so:
PB_Spectrum.png
So the two "horns" in the spectrum are 220hz and 880hz which are an octave above and below 440hz, or A4.

But it seems that Diodow doesn't have such a convenient curve setting.

Coincidentally, I was just dealing with this issue, and wrote a snippet that does linear-to-logarithmic conversion:

Code: Select all

def lin2log(val):
	b = math.log(20000/20)/(20000-20)
	a = 20/math.exp(b*20)
	return a*math.exp(b*val)
Where within a range of 20-20,000hz, a linear progression is converted to a logarithmic one. But I'm not sure that this is what's needed. Maybe linear to exponential, or perhaps a bipolar treatment. Anyway, I hardly know Diodow, but it seems like you'd need an external solution for this, like a Reaper JSFX or a Max4Live thing that would swab the incoming MIDI data. How many here are using those two DAWs with Diodow?
You do not have the required permissions to view the files attached to this post.
Tranzistow Tutorials: http://vze26m98.net/tranzistow/
Xenakis in America: http://oneblockavenue.net

Post

Diodow is making me feel like dodo and kicking my butt.
Just a touch of EQ and a tickle of compression

Post Reply

Return to “Instruments”