Ondes framboise - a DIY digital Ondes Martenot emulator
Moderators: Kent, luketeaford, Joe.
Ondes framboise - a DIY digital Ondes Martenot emulator
Those of you who, like me, dream of owning an Ondes but could never justify it in reality may be interested in my Ondes Framboise project. It's a digital emulator of an Ondes based on a Raspberry Pi 3A+ running Pure Data plus some custom hardware and software, which attempts to provide all the features of a genuine Ondes Martenot:
Input by keyboard (including sideways motion for vibrato) or by ribbon, with a total range of 8 octaves (4 octaves plus shift of ±1 or 2 octaves)
Volume control by Touche button or foot pedal
All of the voices (Ondes, Creux, Gambe, Nasillard, Octaviant, petit Gambe & Souffle) + Tutti switch
Transposition buttons
Emulation of all four Diffuseurs (Principal, Résonance, Métallique & Palme) in software, each on its own output channel with built-in amplifiers
Pedal controlled low-pass filter
Legato / claquement mode
Although far from perfect it's a lot better than not having an Ondes at all! I'm in the process of publishing the design at the moment. 3D printed parts and construction details are on Thingiverse (https://www.thingiverse.com/thing:4742145) and the code (Pure Data patch and custom server code) are on GitHub (https://github.com/clarionut/ondes_framboise). The current incarnation is a first prototype built solely to test function - it's far from elegant.
There are a couple of demos on YouTube - Rachmaninov 'Vocalise'
and Messaien 'Feuillets Inédits'
I hope you find it interesting!
Input by keyboard (including sideways motion for vibrato) or by ribbon, with a total range of 8 octaves (4 octaves plus shift of ±1 or 2 octaves)
Volume control by Touche button or foot pedal
All of the voices (Ondes, Creux, Gambe, Nasillard, Octaviant, petit Gambe & Souffle) + Tutti switch
Transposition buttons
Emulation of all four Diffuseurs (Principal, Résonance, Métallique & Palme) in software, each on its own output channel with built-in amplifiers
Pedal controlled low-pass filter
Legato / claquement mode
Although far from perfect it's a lot better than not having an Ondes at all! I'm in the process of publishing the design at the moment. 3D printed parts and construction details are on Thingiverse (https://www.thingiverse.com/thing:4742145) and the code (Pure Data patch and custom server code) are on GitHub (https://github.com/clarionut/ondes_framboise). The current incarnation is a first prototype built solely to test function - it's far from elegant.
There are a couple of demos on YouTube - Rachmaninov 'Vocalise'
and Messaien 'Feuillets Inédits'
I hope you find it interesting!
Last edited by clarionut on Fri Feb 05, 2021 6:16 pm, edited 1 time in total.
- Flounderguts
- Super Deluxe Wiggler
- Posts: 1116
- Joined: Thu Dec 07, 2017 5:56 pm
- Location: SLC
- Contact:
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
Nice first post.
Owning a DIY Ondes might be cooler than owning a real one
Where did you pull the keybed from?
Owning a DIY Ondes might be cooler than owning a real one

Where did you pull the keybed from?
----------------------
Flounderguts
Flounderguts
- SphericalSound
- Wiggling with Experience
- Posts: 444
- Joined: Thu Feb 01, 2018 9:23 am
- Location: Spain
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
Johnny Greenwood will approve this.
How are you approaching the ring thing?. To me it´s the very essence of the ondes... In fact, once you have it working, reproduce the rest of the electrical analogic part should be quite easy. It´s a circuit with +90 years, so it was extremely simple, I guess.
In any case it seems a super interesting project. Go for the framboise!
How are you approaching the ring thing?. To me it´s the very essence of the ondes... In fact, once you have it working, reproduce the rest of the electrical analogic part should be quite easy. It´s a circuit with +90 years, so it was extremely simple, I guess.
In any case it seems a super interesting project. Go for the framboise!
Last edited by SphericalSound on Fri Feb 05, 2021 4:40 pm, edited 1 time in total.
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
Ondes Framboises.
Ahahah! Great name.
Ahahah! Great name.
Matte-fueled habits
https://www.instagram.com/phon3mes/
https://www.instagram.com/phon3mes/
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
I bought the keyboard sometime in the mid 80s when such things were still available for organ and synth builders. It's been used in variety of computer music projects since then. There don't seem to be any around these days, but a MIDI keyboard could be used with some modifications to the code.
The ribbon controller is based on a 10-turn potentiometer with a loop of spring tensioned monofilament as the thread. It probably wouldn't feel right to an Ondist but it works well for me. A real Ondes ribbon controller is an extraordinarily clever variable capacitor - fine for RF oscillators, but unfortunately I have very limited abilities with analogue electronics. Hence the decision to go for fully digital emulation.
The ribbon controller is based on a 10-turn potentiometer with a loop of spring tensioned monofilament as the thread. It probably wouldn't feel right to an Ondist but it works well for me. A real Ondes ribbon controller is an extraordinarily clever variable capacitor - fine for RF oscillators, but unfortunately I have very limited abilities with analogue electronics. Hence the decision to go for fully digital emulation.
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
A quick update - the construction notes document on Thingiverse now has block diagrams of all the custom electronics. The audio chain isn't included - it just plugs together (with a bit of soldering if you want audio output sockets).
I'm just hoping someone out there wants to try building an Ondes framboise themselves!
My next experiments will be to replace the Raspberry Pi 3A+ with a 3B+, then tweak the code to work with a MIDI keyboard (basically remove the server code that reads all of the keyboard switches and handle legato / claquement mode in Pure Data) which should be trivial, and also to use an external USB stick for MIDI files for playback and 4-channel WAV files from recording mode.
I'm just hoping someone out there wants to try building an Ondes framboise themselves!
My next experiments will be to replace the Raspberry Pi 3A+ with a 3B+, then tweak the code to work with a MIDI keyboard (basically remove the server code that reads all of the keyboard switches and handle legato / claquement mode in Pure Data) which should be trivial, and also to use an external USB stick for MIDI files for playback and 4-channel WAV files from recording mode.
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
Update 10th February. I've added a circuit layout for the custom interface board to the construction notes on Thingiverse. I hope the details are right because I haven't built it yet! It's intended to work with a MIDI keyboard rather than the switch-based keyboard of the prototype. I've just acquired a Korg microkey2-61 5-octave small-key keyboard and this looks very promising; the keybed is only a very little longer than the full size 4-octave keyboard of the first prototype. It's also easy to automount a USB stick (at least on Raspbian Buster), so pretty much everything is ready for prototype 2. It will need some changes to both the Pure Data patch and the server code but these will be pretty trivial.
I just hope someone else will be tempted to have a go!
I just hope someone else will be tempted to have a go!
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
This is very interesting - and nice to see emulation of all of the voices and diffuseurs.
How did you find information for building the simulation - or is it done mainly 'by ear'? I see there have been some recent papers by Najnudel et al. about building digital emulations of the Ondes Martinot (e.g. https://ieeexplore.ieee.org/stamp/stamp ... er=9194365 ) but it looks like characterisation of the diffuseurs and voices is still a work in progress.
It sounds to me as though the tone of an Ondes Martinot goes quite far from sinusoidal (even with the sinusoidal voice) at low frequencies, producing quite a characteristic growl. This is also the behaviour of my primitive DIY theremin, which uses the same heterodyne technique for frequency generation as the Ondes. In the case of my theremin, I think it arises from the two oscillators having a small amount of parasitic influence on one another, which becomes more pronounced as they approach the same frequency (and eventually frequency-lock at very low difference frequency). I'm not sure if this has ever been measured or characterised for the Ondes Martinot - it doesn't look like this behaviour is part of Najnudel's analysis linked above.
How did you find information for building the simulation - or is it done mainly 'by ear'? I see there have been some recent papers by Najnudel et al. about building digital emulations of the Ondes Martinot (e.g. https://ieeexplore.ieee.org/stamp/stamp ... er=9194365 ) but it looks like characterisation of the diffuseurs and voices is still a work in progress.
It sounds to me as though the tone of an Ondes Martinot goes quite far from sinusoidal (even with the sinusoidal voice) at low frequencies, producing quite a characteristic growl. This is also the behaviour of my primitive DIY theremin, which uses the same heterodyne technique for frequency generation as the Ondes. In the case of my theremin, I think it arises from the two oscillators having a small amount of parasitic influence on one another, which becomes more pronounced as they approach the same frequency (and eventually frequency-lock at very low difference frequency). I'm not sure if this has ever been measured or characterised for the Ondes Martinot - it doesn't look like this behaviour is part of Najnudel's analysis linked above.
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
I found various descriptions of the Ondes voices by searching the internet though some of it is tricky to interpret. I found the Najnudel paper but unfortunately don't have access to it. My best understanding is that (approximately) Ondes = sine wave, Creux = peak-limited triangle wave, Gambe = square wave, Nasillard = pulse wave, Octaviant = full-wave rectified sine, petit gambe = square (again) and Souffle = pink noise. The last three can be mixed in at adjustable levels. I assume in the original Ondes these were generated from the original heterodyne-generated sine wave. In the framboise they're all (except Souffle) generated by wavetable synthesis. The waveforms are slightly smoothed to avoid excessively harsh harmonics, and the duty cycle of the Nasillard was adjusted by ear to give a solid but nasal sound - rather like a bassoon in some registers. I'd love to see some waveforms taken from a genuine Ondes but haven't been able to find any published.
For the diffuseurs, I used Pure Data's freeverb~ for the resonance - not perfect but a decent starting point. For the metallique and palme I found the resonators~ patch online (details are in the GitHub documents). For the Palme I use 4 chromatic octaves of resonators. It should strictly be 2 octaves, but the simulation can't excite harmonics like a real Palme. The metallique uses fewer resonators based on frequencies taken from a published analysis of a chinese gong, with some further frequencies added to make it work over a wider range of input pitch.
The frequency locking with Theremins is interesting but I don't think it applies to the Ondes. Going slightly off piste, I have a Moog Etherwave+ and in its original form it had a large null zone so it would stay silent when left alone, though this was at the expense of a restricted bass range and relatively poor tone quality at the low end. I suspect this may be a design feature. I fitted an ESPE-01 module which almost eliminates the null zone but gives a much extended and far better sounding bass. It's also no longer silent when left alone, having gone through the null zone and out the other side.
For the diffuseurs, I used Pure Data's freeverb~ for the resonance - not perfect but a decent starting point. For the metallique and palme I found the resonators~ patch online (details are in the GitHub documents). For the Palme I use 4 chromatic octaves of resonators. It should strictly be 2 octaves, but the simulation can't excite harmonics like a real Palme. The metallique uses fewer resonators based on frequencies taken from a published analysis of a chinese gong, with some further frequencies added to make it work over a wider range of input pitch.
The frequency locking with Theremins is interesting but I don't think it applies to the Ondes. Going slightly off piste, I have a Moog Etherwave+ and in its original form it had a large null zone so it would stay silent when left alone, though this was at the expense of a restricted bass range and relatively poor tone quality at the low end. I suspect this may be a design feature. I fitted an ESPE-01 module which almost eliminates the null zone but gives a much extended and far better sounding bass. It's also no longer silent when left alone, having gone through the null zone and out the other side.
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
That understanding of the voices is roughly what I have seen on the web - but I've never seen waveforms or a schematic. Like you I assumed that they were formed from waveshaping the original sine wave. The most detailed 'sketch' of the waveforms I've seen is this one https://electro-music.com/forum/phpbb-f ... 26_295.jpg with qualitative amplitudes of harmonics.
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
Yep, that's one that I found back at the beginning of the project. Not quite the same as a waveform from a 'scope though...
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
I've now uploaded a new version of the server code for the Ondes framboise on GitHub - ondes_server_M.c. This works with a MIDI keyboard rather than the switch-matrix keyboard of the original and handles the MIDI messaging and note priorities, so the Pure Data patch is unchanged from the original. On Raspbian Stretch the MIDI keyboard appears as /dev/snd/midiC1D0 - I've yet to find out if it's in the same place on Buster, so the code may need to be changed for this.
The construction notes (see here) on Thingiverse have now been updated with a more thoroughly tested version of the interface board layout. I hope this is now complete and correct (but no guarantees!).
The construction notes (see here) on Thingiverse have now been updated with a more thoroughly tested version of the interface board layout. I hope this is now complete and correct (but no guarantees!).
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
Final update for now. The new interface board and the server code to work with a MIDI keyboard have both been tested in the Ondes and everything works as expected. I used a Korg microKEY2-61. New mounts to attach the keyboard to the linear rails and a new vibrato stop are still needed but these are pretty trivial and my design will not work for anyone using different keyboard. The Thingiverse and GitHub pages are now fully up to date. I don't think there's much more I can add at this point, but I'm very happy to answer any questions if someone does want to have a go building an Ondes framboise for themselves.
I should have said, the MIDI keyboard version works best with a Raspberry Pi 3B+ as it needs at least 2 USB ports, 3 if you use an externally mounted USB stick to transfer MIDI and WAV files, leaving you with a spare socket for a computer keyboard. It might work with a USB hub on a 3A+ but I haven't tested this configuration.
I should have said, the MIDI keyboard version works best with a Raspberry Pi 3B+ as it needs at least 2 USB ports, 3 if you use an externally mounted USB stick to transfer MIDI and WAV files, leaving you with a spare socket for a computer keyboard. It might work with a USB hub on a 3A+ but I haven't tested this configuration.
Last edited by clarionut on Sun Feb 21, 2021 1:25 pm, edited 1 time in total.
Re: Ondes framboise - a DIY digital Ondes Martenot emulator
Following this , would quite like an onde to excited to see how this progresses
Maggots Gnawing Leppers Toes