Poly scanner
  • Hi, its the noob again:)

    I'm trying to make a polyphonic scanner, as found in jupiter 4 etc.
    Basically i want an incoming midi note to make a counter cycle through 4 different voice cards. By voice cards i mean a complete synth with vco, vcf, adsr, vca etc.

    4 voice cards, and if , lets say i press middle C 4 times, the poly scanner will "play" each voice card, one after another, cycling through them. If i press 4 keys down at the same time, 4 voice cards will play at the same time, but with the corresponding keys/frequencies.

    Right now i am having some problems with the polyphonic scanner part. I have got i partially working, but something is wrong with my logic. In this patch i am trying a 2 voice model. The synt part of it, is just something i quickly put together to test my scanner. Its the scanner that i need help with. I am having problems with playing 2 notes at the same time. For the sake of being able to tell the difference, i have set each voice to different waveforms. The scaling of the pitch is not right, but thats not neccesary for this test.

    polyscanner (1).audulus
  • Slight update. I found out that the midi module that I used was monophonic. But switching it out with the normal midi module still didn't fix the problem. (You have to rescale the osc before you get sound with the new midi module). By setting the midi module to "legato" I get get monophonic behavior, but it alternates between the 2 oscillators. By setting it to duophonic (2) I get polyphony, but 2 for each voice card.
  • You can change the MIDI module to polyphonic by changing it inside the patch. I would "surface" that control if I could, but Audulus doesn't allow for it.

    Does it work as expected now, then?
  • Changed it to (2 poly), and it works much more like what i expected.
    I still get weird mapping behaviour though, they take turns to being one pitch behind of what you press on th ekeyboard (hard to explain, but just play with one key at a time at different places on the keyboard and you'll understand what i mean).
    I have uploaded the new version.
    Only look at it if you feel like it. I would appreciate the help, but totally understand that this is not a "fix my stuff-hotline";)

  • The synth you attached there doesn't make any sound when I use it - but chances are it's because you're only switching the gates and not the gates + pitch together. If you do that, they won't flipflop like you're talking about :)
  • Weird. I have sound here... let me double check the patch
  • Try closing the patch and reopening it - that might reset something in a way that breaks it.
  • Hmm. I have sound, but just renamed the patch and uploaded it again to make sure.
    polyscanner3. Ah! think i found the error. You have to play high up on the keyboard ot get sound (+1 octave in ipad). I havent scaled the oscillator hz inputs correctly yet.
  • Yep, just clicking for me. Did you try closing and reopening the patch?
  • Update.
    Ah! think i found the error. You have to play high up on the keyboard to get sound (+1 octave in ipad). I havent scaled the oscillator hz inputs correctly yet.
  • You know there's the o2Hz module right? I guess that's what you need :)
  • yeah.. i'm just lazy about it;) But i guess i'll implement it now.
  • wrong post. want to delete it, but i cant:)
  • Ok. I'll try another approach, i never did get it to Work by using the method/logic i thought would work.

    I'll try to explain what i am trying to achieve Again:

    My midi is set to 4 voice polyphony in audulus.

    If i play the same note (middle A=440hz) 4 times after each other, i want a node that takes the incoming 4 polyphony midi signal, and muxes them out, one by one to 4 discrete oscillators (for this example, i'll set each oscillator to output a different waveform. First osc=sine, 2nd=saw, 3rd=Square 4th=triangle

    The result would be hearing the note A played 4 times after each other, but each time it would be with a different waveform.

    If i plaed a four note chord, i should hear a 4 note chord, each with different waveforms.

    I'll try a slightly modified method than i did earlier (see posts above)

    If I create a 2 voice midi keyboard and read its gate output by using a number meter, I get something like (1 0) one key pressed, second key not pressed. Is there a way I can split up the outputs? So after the gate output I would have a one input node, that has 2 outputs. One for (1) and one for (0).

    So basically if I have a midi out, polyphony set to 4, and 4 keys pressed I will get a total of (1 1 1 1). Can I split that up so I get four discrete (1) outputs, instead of one combined, I want 4 separate.

    Right now i get into trouble, because sometimes i get gate (0 1) and sometimes (1 1)
    (0 1) is fine, but once i get (1 1) the same oscillator will suddenly have 2 voices. I'm trying to avoid that. So by splitting them up, i could set up some rules so that it will never happen (maybe).

    I have attached my newest patch. In that patch i have set it up so oscillator 1 plays in the left side of the stereo out, and the 2nd oscillator plays out of the right side. Just to be able to tell the difference fast. I never want to hear 2 notes in the same side. only one in each side.

    In reality, i just want to make a 4 voice polyphonic keyboard matrix. Imagine 4 discrete monophonic synthesizers being connected and controlled by one single keyboard. 4 note polyphony should be possible pretty easily, once my brain can make a logical system for the scanning/outputs.


    Sent from my iPad using Tapatalk
  • @the19thbear Try the mono to quad and quad to mono nodes. They will split up a 4 channel poly signal into descrete mono signals. You can use it for both the output of the oscillator and the gate.
  • I'm sorry, you connect it to the output of the keyboard node, not the oscillator... oh geez, where's the coffee...
  • And if anyone has a quick solution, feel free to let me know:)
    Tonight I'll try to experiment further with the poly/mono
  • Got it working. Thanks! The poly/mono did the trick:)

    Sent from my iPhone using Tapatalk
  • Ok. I realised i got it working, but the "cheap" way. No voice cycling.
    I actually would like to modify it a bit.
    If you take a look at the attached patch, you can see that its a basic 3 voice card synth. ( I plan on making it a 4 voice).

    Think of a voice card as a self contained synth. Just like on normal polysynths back in the day. Juno 106, Juno 60 etc.
    Each voicecard has one oscillator (and in the future, each one will have its own filter, vca etc). So basically a 3 voice mono synth. But it can be played polyphonically by a shared keyboard.
    They share 1 adsr. The 3 oscillators/voice cards are summed into mixer. Nothing fancy, just me learning Audulus.

    The incoming 3 voice midi-keyboard signal is split out with a mono/poly and then connected to each voice. (the midi is set to 4 poly, i plan to add another voicecard in the future to get 4 voice polyphony).

    A basic synth looking like this: Midi out:Mono/poly:voicecards:Mixer:Out

    So right now, if i play one note 3 times in a row, it will be the same voicecard/oscillator (the first one) that is playing. I actually want a controller "thing" to cycle through all 4 voice cards cards intstead, allowing for slight variation each time (since i have a discrete chaotic element built into each voicecard).
    BUT i want a math rule (or whatever) to never allow the possibility that one voicecard will play all 4 voices. Each voicecard should only be able to play one voice/note each.

    Makes sense?
    Could someone walk me through how to do it? Or modify my patch if you have the time?

  • I think you are describing the way that the old oberheim 8-voice poly worked? Where it would go round robin to all the synth voices and you could tune them all with different patches and it would sound mad? I have an Arturia iSEM app that does that. I think I could try an make that.

    like this video at around 1 minute:
  • Edit: Ok, I uploaded it and then found a bug. I think I got it this time!
    Screen Shot 2016-12-06 at 4.33.19 PM.png
    1359 x 1040 - 281K
  • Just opened up the patch. It seems to do exactly what I want! I couldn't have done this myself so thanks a lot!
  • Right now I'm trying to figure out how to add a 4th voice. I'll give it a go but the 4 switch is a bit more complicated than I thought. I would never ever have figured that out! Just give me some time and I might be writing for some tips/tricks;) but until then, I'm patching away.
  • Meh. I got to admit that I don't fully understand the logic and therefore can't modify it to be 4 voice. Could you pretty pretty please add a voice? I completely understand if you don't have time, and I really appreciate all the help you and others are offering here!

    Sent from my iPhone using Tapatalk
  • Sure. I should say if you would like to know more about switches, I recommend the Audulus Build-Cast on 8 step sequencers. That video clarified how to use counters along with the mux/demux switches to rotate through sources, which is all this patch is.

    I think the Oberheim version is a little more sophisticated because it has more options like it could select a random voice or you can have it hold the voice for a key and new notes wouldn't change the voice on that first note.

    I think this patch is a pretty ok approximation, and honestly now I am thinking about ways to use it :) If Audulus had midi out, I could route notes to 4 different synths. Now I just need to buy 3 more synths!
    4_voice_switch copy.audulus
  • Haha. Yes. One can never get too many synths;)
    And thanks a lot for helping me out.