Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32 port #91

Open
schef opened this issue Jun 12, 2023 · 6 comments
Open

ESP32 port #91

schef opened this issue Jun 12, 2023 · 6 comments

Comments

@schef
Copy link

schef commented Jun 12, 2023

Hi guys,
would be evan possible and what would be the effort to port this beautiful software to esp32? The board i have in mind is ESP32-Audio-kit.

@x42
Copy link
Collaborator

x42 commented Jun 12, 2023

I do not know enough about the ESP32 to answer that question.
For the Xtensa LX7 Processor it might be a close call.

How are you going to get MIDI input?

Cadence offers a C/C++ compiler, and the best way forward to port a project to a microprocessor is to strip it down to the bare minimum. Basically only need to call the following methods in a loop for each process cycle

parse_raw_midi_data (..);
oscGenerateFragment (..);
preamp (..);
reverb (..);
whirlProc (..);

All that being said, if you do want a "micro-B3" you can just get a Raspberry Pi. setBfree runs there, and you can just connect a USB soundcard and/or USB-keyboard.

@schef
Copy link
Author

schef commented Jun 12, 2023 via email

@x42
Copy link
Collaborator

x42 commented Jun 12, 2023

The issue with Raspberry Pi is that the whole OS has to boot which is like more then 30s.

I suggest to remove the Desktop system, which is usually what requires the most time.

Projects like zynthian (which uses a stock RPi) manages this in 5 seconds from power on to play.
mod.audio is a bit faster (using a custom ARM board). A Kawai piano also need 3-4 seconds, which I find acceptable.

That being said, if you manage to get it going on the ESP32 it'd be cool! Have fun hacking!

@aeonSolutions
Copy link

@schef you can find a C++ port to Teensy boards (ESP32) here:
https://github.com/rodisch/Teensy-Orgl

@Kirtai
Copy link

Kirtai commented Sep 24, 2023

You could use the https://github.com/rsta2/circle environment to port setBfree to Raspberry Pi bare hardware.

A couple other projects do that, such as MT32-pi and MiniDexed.

@schef
Copy link
Author

schef commented Sep 25, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants