Vintage Synths & Web-MIDI Controller interface
IMHO the signal flow of vintage premium synths is at least as inspiring as their actual sound. I started to test this theory with rebuilding two classics with Axoloti: A Juno-106 and an ARP Odyssey. I didn't expect (neither should you) that the real-and-true-and-only sound can be reproduced with existing Axo objects. But the spirit of an old vintage machine can be approached, I think.
So here they are in the community library as patches:
patches/cpwitz/synths/webmidi/oddly.axp
An approach to an Odyssey. Two routing limitations exist: The filter is not audio-rate modifiable with the sample&hold mixer, and the osc2 sync doesn't work with pulse wave (when synced, it's always playing a plain square wave). Thanks to @johannes for his 24db lowpass filter jt/filter/vcf4pole. This patch is 2-voice paraphonic.
patches/cpwitz/synths/webmidi/junebug.axp
My attempt to recreate a Juno-106. Pretty damn close, I think. It's 6-voice polyphonic. Here the stereo chorus from @DrJustice is a pretty important part: drj/fx/stereo_chorus.
Web-MIDI Controller
You might ask: Why are these synths in a "webmidi" folder?
When fiddeling with sounds I find the well-loved Axoloti Patcher interface a bit too distractingly fiddly. And therefore I built a little HTML/JavaScript application which allows a more sexy and focused interface for handling synth parameters via MIDI CC. For several years now, the Chrome browser offers a JavaScript Web-MIDI API which I was longing to use for something for a long time.
Here's what you need to do, to use it:
- Install a Google Chrome Browser
- Download the webmidicontroller.zip from GitHub
- Unpack the ZIP file
- Start one of the mentioned Axo patches on your Axoloti
- Open the corresponding HTML file from the extracted ZIP content with Chrome (either drag'n'drop the HTML onto the Chrome Application or right-click and choose "open with...")
- Press the "Settings" button on the web page in Chrome and select your Axoloti for "MIDI out". Depending on your setup you can either use the "Axoloti Core" device (the directly to the computer connected Axoloti) or the MIDI device, where your Axoloti is attached to.
- Select the correct MIDI channel for each patch. Due to my MIDI setup the patches are configured like this:
oddly.axp is on channel 5,
junebug.axp is on channel 4 and the
formantor.axp is on channel 14.
- If you have a MIDI controller keyboard you can configure it as "MIDI in" in the settings dialog and the changes you make with your controller keyboard are displayed on the Chrome page. Of course your controller keyboard needs to be configured to use the corresponding MIDI CC numbers. The MIDI CC numbers of each control on the interface are shown as mouse-over tooltip.
- Press the "Settings" button again to close the settings window.
This is the JUNEBUG controller with the patches dialog opened.
Each controller page can store up to 128 patches and comes with a bunch of presets that I fumbled together. The interface should be quite self-explanatory. Just press the "Patches" button.
I also added my formant-synthesizer to be controlled with such a web-interface. The patch is in patches/cpwitz/synths/webmidi/formantor.axp and the HTML page from the ZIP is called formantor.html.
You can use this HTML/JavaScript to build your own controller interfaces for your patches or even real synths. With some basic HTML-knowledge you can make your own controller pages, sending whatever CC-values you like. There is a file called xx-template.html and if you open it with your favorite HTML editor (or on GitHub) you'll find comments inside the mark-up explaining, what you can do. Just copy the xx-template.html to a new file and make the appropriate changes to it.
That's it, tell me what you think about it!
Peter
P.S.: By the way - this web-application works completely offline and does not call any remote URLs or sends any data to any server in the world!