IMPORTANT : Before updating, make sure to backup your preset files (they will appear as “preset0.txt” up to “preset32.txt” (that can vary if you didn’t fill all preset) in the patch folder). You can then copy them back to the new, updated patch folder and you’ll get to keep your presets.


This is my first Pure Data patch. I tried to reproduce the iconic Juno-106, one of my favorite synth. 

It was all done using Pd Vanilla. The filter doesn’t have the same character than the real deal, neither does the chorus, but it’s still fun to play. 

The hardest part was to make the multiple parameter pages. The Organelle seems to be sending each knob value on a regular basis, so when changing page, the parameters would jump to the actual position of the knobs. I managed to block this, but the drawback is that you now have to “awake” knobs when you change pages if you want to change a parameter, by moving it a bit before it reacts.

I couldn’t make it more than 4 voices (75% CPU Load). The patch makes the Organelle screen a bit slower…

Here’s some notes that might be useful for using this patch:
There are 7 parameter pages. To change page, press the aux button. The LED color is different for each page.

Page 1 (red LED) General:
-Knob 1: Transpose (from -2 to +2 octave shift)
-Knob 2: Portamento (from 0 ms (deactivated) to up to one second slides)
-Knob 3: Chorus On or Off. (This is a switch, either on or off, and the change is made when knob is halfway through)
-Knob 4: Volume (volume of the patch (digital scaling) before the volume of the Organelle)

Page 2 (yellow) LFO:
-1: LFO Rate (LFO speed from 0 to 30 Hz)
-2: LFO Delay (the time it takes for the LFO to get to full scale (a bit like attack) from 0 to 5 seconds)
-3: LFO Pitch (The amount that the LFO will influence pitch (from 0 to 100)
-4: LFO VCF (The amount that the LFO will influence the Frequency of the VCF (lowpass filter). The LFO will have the actual Filter frequency value as its center. If the LFO VCF amount is high and the VCF frequency value is very low, the LFO could cut the sound everytime its wave is negative (this is not dangerous)

Page 3 (green) Oscillator page 1:
-1: Square wave oscillator On or Off (enable or disable the square wave oscillator)
-2: Pulse width (This parameter adjust the pulse width of the square wave oscillator and sub oscillator. A value of 0 means the square wave is symetric (the wave is up half the cycle and then down the other half of the cycle). A value of 80 means that the up stage is much longer than the down stage.)
-3: PWM (Pulse width modulation. From 0 to 100. Set to zero, the LFO doesn’t modulate the pulse width)
-4: (No parameter)

Page 4 (light blue) Oscillator page 2:
-1: Saw wave oscillator On or Off (enable or disable the saw wave oscillator)
-2: Sub oscillator mix (this will crossfade the sub oscillator with the oscillators)
-3: Noise vol (volume of noise)
-4: (No parameter)

Page 5 (dark blue) Filter page 1:
-1: VCF Freq (frequency (cutoff) of the lowpass filter)
-2: VCF Res (Resonance of the lowpass filter)
-3: VCF Envelope mode (Normal of Inverted. The ADSR Envelope will work as you expect in normal mode, but in reverse, it will work negatively)
-4: VCF Envelope Depth (how much the ADSR Envelope will modulate the frequency of the lowpass filter. )

Page 6 (pink) Filter page 2:
-1: VCF Kybd Trk (this will make the Filter frequency track the keyboard. A value of 100 should track perfectly)
-2: HPF Freq (Frequency of the highpass filter. A value of zero means the filter is completely open. Beware, the value will jump a bit when you move that knob; that is due to the highpass filter object being used in the patch)
-3: (No parameter)
-4: VCA Env Mode (Either ADSR or Gate. This switch only affects the VCA (amplifier) and not the filter. In gate mode, the envelope will be on immediatly when you press a note and off when you release it. Fun tip: set this parameter to gate mode. Set a slow attack on the envelope page and put the VCF frequency filter to very low and the VCF Envelope Depth to high. Press and hold one note of the keyboard, and you’ll hear the effect…)

Page 7 (white) Envelope:
-1: Attack (Duration of the attack stage of the envelope. From 1.5 ms to 3 sec)
-2: Decay (Duration of the decay stage of the envelope. From 1.5 ms to 12 sec)
-3: Sustain (Sustain level of the envelope. From 0 to 100)
-4: Release (Duration of the release stage of the envelope (after you release the key). From 1.5 ms to 12 sec)

Page 8 (LED off) Presets:
Knob 1: Operation (Select which operation you want to do : Save or Load (a preset))
Knob 2: Preset number (select the preset number to perform the save or load operation)
Hold the AUX button until the LED flashes to perform the save or load operation. Pressing (and not holding) the AUX button will go back to page 1 without performing the save or load operation.

Let me know if you find any bugs. I hope you enjoy!

UPDATE 0.91: This version has better filter control, better envelope curves and better LFO Delay.

UPDATE 0.92: You can now save and recall up to 32 preset sounds. See page 8’s description above for details.

UPDATE 0.94: Polyphony would not be 4 voices when played from an external keyboard. Fixed.

550 PM
  • Platform:
  • Category: Synthesizer
  • Revision: 0.94
  • License: GNUGPLv3
  • Views: 4,717
  • Modified: 2 years ago
Chat about this patch on Discord! Download (1297)
1 Star 20
5 comments on “Juno-104
  1. fuurthur on said:

    Awesome stuff! Great controls and the presets are really handy. That’s the next task for my sequencer.

    Do you hear some aliasing happening? It could just be something on my end or just in my head…

    Anyway, keep up the good work. I look forward to the next one.

  2. Rawticks on said:

    Glad you like it, fuurthur. Yes there is much aliasing happening in the high frequencies. I have no clue how to reduce it though… I have a Roland JU-06 (the small “boutique” juno-106) and hear aliasing too sometimes (albeit much less than in my patch) and it seems to occur mostly when the chorus is activated. Might be a side effect of it…

  3. Christian Winther on said:

    Great patch!
    Was struggeling a bit with saving. Realized I had to load, then save.
    Wanted to tell you that sometimes when I save or load, the Organelle suddenly restarts itself, like some overload happens.

    Keep up the great work, I also really like the GlassFM!

  4. Fritz Fritzmann on said:

    Thanks for this excellent patch!!!!!!!

    One question, at the moment it is midi omni, isn’t it?
    How could I switch it, that it is only midi channel 1?

  5. no_camo on said:

    I’ve got a midi issue when sending USB midi data from a doepfer a-192-2 cv to midi. The Juno patch gets locked up on the save page everytime and also won’t save current parameters from the new save menu.

    Sounds amazing would love to figure out what’s up?!

Leave a Reply