Hacker News new | past | comments | ask | show | jobs | submit login
Mt32-pi: A baremetal Roland MT-32 emulator (github.com/dwhinham)
106 points by rcarmo on Oct 3, 2021 | hide | past | favorite | 21 comments



I did something similar for emulating Pipe Organs: openpipes.org


How does that compare with just running Aeolus[0] on an RPi ?

[0] https://kokkinizita.linuxaudio.org/linuxaudio/aeolus/


My first prototypes were done with Aeolus, which is a simple but limited additive synth with up to 64 components. This distro utilizes GrandOrgue, a very specialized Pipe Organ emulator and sampler, running headless on a framebuffer and loading a number of postprocessing plugins if necessary. It Is capable of not only sounding hyper realistic but also running very complex register combinations via midi, with 24/96 multi-attack multi-release samples. Raspi4 Is the first generation able to run the hundreds of simultaneous streams needed for this task.


BTW, I run Pianoteq on a custom-built RPi4. No samples, full physical modelling synthesis. It can handle it with ease.


I suspect that Fons might disagree with your assessment of Aeolus, but fair enough. Thanks for the info.


I've had correspondence with Fons, including a little drama about somebody improving upon his code, which he disagreed, and caused the deletion of the improved repo. This incident put me further away from working with its codebase, in fear of further retaliation from His part. If you have further interest in modelling, Modartt also has a modelled Pipe Organ now apart from Pianoteq. In the future I plan to work on GAN-based Pipe modelling, to obtain a whole new experimentation domain regarding Pipe voicing.


For Pipe Organ professionals, sounding similar Is just one aspect of the instrument. There are tonnes of other nuances, that require as much thought as the sound emulation itself. In that vein Is that I call Aeolus "simple". The sound is pretty accurate, but most pro players I know pass from it for sample based-complex operation emulated apps like GO or Hauptwerk.


I agree that my project runs on the application layer, not as impressive as this bare metal solution.


I recently visited the pipe organ museum in Valley (Bavaria, Germany), where they did something similar: connect an organ console (which had been replaced with a newer one) to a PC to recreate the original sound of the organ (http://www.lampl-orgelzentrum.com/St.Lorenz_Zentralspieltisc...) - however this was done using samples. While reading that, I wondered if it would be possible to get the same (or maybe an even better) result by emulating the pipes...


Both are done, each with good results. There is a whole community making their own pipe organs, samples pipes is more common.


This is extremely cool. Many years ago I started and abandoned a similar kind of thing. The plan was to have support for LV2[1] plugins, so you'd get something like a Mod Duo[2] (itself very cool), but like this in that'd boot fast, have low latency, and be really cheap.

[1] https://lv2plug.in/

[2] https://moddevices.com/products/mod-duo/


That would probably be Zynthian[0]

[0] https://www.zynthian.org/


Oh that does look interesting actually. Loses a couple of nerd points (and I guess probably adds some boot time and latency) due to being Linux-based and not bare metal. But it does look versatile and cheap (although the kit still seems a bit pricey).

Edit: Oh, fancy seeing you here. Hi!


You can buy a hat for the pi that allows you to connect via serial to a mister fpga such as this one https://misterfpga.co.uk/product/mister-fpga-mt32-pi-hat-v2-...

From what I've seen it works great with the old computer cores. I've only gone so far as to emulate Roland over network on a PC but even that works pretty great with the Mister. Thought y'all might be interested in one of the more common ways I see this being used.


Cool. The recommendation on a good d/a convertor struck me as ironic: IIRC, the MT32 has quite a grungy and noisy character.


This limitation is due to the poor implementation of the PI analog audio out; pretty much every other ARM based SBC performs much better in that field. I hope the code is portable to other ARM boards too. Although I never liked the MT-32 sound, being open to soundfonts makes this project much more interesting than the original device.

Hopefully one day we'll see a bare metal synthesizer engine such as the TSynth (https://electrotechnique.cc/), which does wonders on a small Teensy; I wonder what it could do on a much more powerful board like a PI or any other ARM board.


I suppose that a good DAC is necessary to emulate the imperfections of the original, still. The audio outputs on the Pi boards aren't bad for the same reason the MT-32 output is.


Very cool.

If you're into this kind of stuff... here's a YT channel that discusses "bad audio gear" including the MT-32:

https://www.youtube.com/watch?v=DfUOR9I2Fwc


I was just going to ask how it compares to https://github.com/munt/munt but then I realized it uses Munt under the hood :-)


This would be so awesome in ISA or PCI form factor


Wow. This sounds like I can download a synth now!




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: