Pretty cool. Seems like this project was built on the Microdexed [1] code, which is a port of Dexed to run on a teensy. It uses circle [2] as a bare-metal basis on the pi, which was also used by mt-32pi [3] to run a sample-based synth that can emulate the roland mt-32.
totaly true, also ideas from QY70 and other trackers.
We have a struggle with the SPI Flash and free memory in general on the teensy. Apart from the dynamic custom samples and cosmetics in the UI,i think it is already usable.
As a sidenote, I looked at Circle and wondered a bit where the line is drawn between "bare metal" and "mini OS" :) After all it's a big package with drivers and filesystems and stuff.. I guess at some point you could just run normal Linux and disable preemption and you're at the same level.
Nice! I've just recently started targeting the 64-bit Pi as a plugin platform, and have ported my entire library to it. So that's nearly 300 plugins also for the Pi, but no synths, just audio processors. And I use Dexed to make sounds, so this is right in my wheelhouse. Even have spare Pi 3s kicking around :)
I'm still trying to get Renoise up and running on the new Pi (400), but have already demoed a full Reaper mix with various plugins running that was made on an iMac Pro with no consideration as to CPU load, running just fine on the Pi too. All the sounds were 96k and on the Pi the project was resampled on the fly to 48k, but it played!
Add the right synths (such as Dexed: I like running it at 24 bit as a sound design machine, not just a DX7 imitation) and samples and the Pi is starting to turn into a full-on music workstation. Thrilling!
I would add that running Dexed on a bare metal Pi, means that you don't have to reinvent sound design and can use patches made elsewhere… but then, play them on the discrete unit, through whatever DAC, and then DISTORT them in analog in whatever circuit you devise, or a stompbox. Or simply run it into a ADC, some basic thing, that's not meant to take those high levels: I have a Razer thing that's easy to distort by running into its little mic input.
Overdriving FM with analog distortion gives you intense sounds that you'd struggle to match, purely in the box :) and being able to run a Dexed on a spare Pi makes all this very easy, doesn't it?
When I was young I hated those bands that uses synthesizers and preferred the guitars and drums. Now that I am older and got into electronics and programming I now am amazed on what they can do and even started collecting some of them.
This warms my heart to see. I was looking at various hardware (teensy and so on) at the time I originally started the project, but never had the time and energy to wrangle actually putting it together.
I tried hooking up a midi keyboard to our pi with a floss software synth installed called timidity, but the latency was terrible, no matter what I did. Turned down buffering, installed jack. Happen to know how to get past that?
Pipewire a route to check? I'm afraid I do all my production in Logic Studio and only dabbled in linux audio (probably one of suckiest things about Linux, or was, it's been getting much better over the years)
Edit: spider senses tingling yes, this will help, if you can get it on your distro (most modern seem capable, with various levels of tinkering - hey it wouldn't be linux audio without some deperation/fun!) https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ...
This is pretty sweet because you could then also use Juce to write other kinds of synth engines and then also have a similar process to Dex (which also uses Juce) to turn your vst/au plugin into a hardware synth.
But there's also a project from Juce that enables the same thing but just dropping in your vst plugin but it requires a particular dac hat which I got but I had been too busy to try it out.
With https://twitter.com/rpilocator I've bought 5 4's at retail price over the last month. They are by no means easy to get - but with a little effort they are possible to get. (Unless you need an 8gb one, those seem super rare.)
I found one in England from PiHut and had it shipped here a few months ago. But it was DOA. Their return process is that I have to ship it back and they might refund me for that.
I just ate it. So if anyone wants a Pi 4 w/ 2GB of bad SDRAM lemme know. I may just see if I can reflow the chip to fix. But I’m pretty terrible with hot air + smd, so I’m hesitant.
I really wanted the 4GB model to run monitoring software for my home network, etc. anyway. So I got a RockPro64 and I love that thing.
When I looked you could still get a 3 easily, which would be fine for this. It runs on a teensy too apparently, so it doesn’t seem the 4 helps in any way. Given it runs on a 2 means it’s just 32bit. You can probably still find a 3 easily.
Any chance to see it run on different ARM boards other than the RPi?
I ask because the RPi audio output is notoriously bad, to the point it requires an external DAC for any decent audio use, while there are many other cheap ARM boards out there with perfectly good internal DACs, and sometimes also very good ADCs.
Usually I have hard to solve ground loop noise issues with my Raspberry Pi based synths when used in combinaton with other synths.
So while this is for sure a nice project, with all due respect and kudos, for those really only interested in the DX7 sound, it is probably better to look into the new Volka FM 2.
Looks great, hope they get parameter assignment via MIDI controls working, got a load of pi's sat here doing nothing and midi controller galore but kinda limited if you can't change params on the fly with the controller.
The upside is, you have lots of DAC's that fill that whole market and with that, better choice.
Now you can always use an external USB DAC, I personally use a Behringer UMC202HD, though the UMC204HD maybe a better model if you want to hook in external MIDI devices into the mix.
You can use a DAC, according to the docs, there are loads supported as the other commenter suggests. I've got one of these https://www.hifiberry.com/dacs/
[1] https://codeberg.org/dcoredump/MicroDexed [2] https://github.com/rsta2/circle [3] https://github.com/dwhinham/mt32-pi