Asynchronous audio board and Tone composer software?


Any recommendation for the followings:

1. Arduino audio board module that can do asynchronous call ( simultaneously plays multiple sounds ) with UART command navigation ?
( NOTE: DFPlayer and Adafruit FX audio board don't have any asynchronous feature, Teensy is expensive for a small project, other PCM waveform related using passive speaker projects not suitable because a simple "HelloWorld.wav" 8-bit PCM unsigned mono already taken about 10kB file size at 11025 sample rate.

2. Tone melody composer software that can convert to C/C++ format with frequency and delay ?
( NOTE: Tone() api required frequency and duration together, there are many tone samples and articles but none of it mentions the tone composer software thus cannot create own musics. )

Please advise.

Thank you.

You will need more “processing power” than a “regular Arduino” and it makes things easier if you have a processor with a DAC. A Raspberry Pi might be able to do it.

I don’t know what you mean by “C/C++ format” but see Arduino - Melody

But with tone() you’re limited to constant-volume square waves, one frequency at a time.

Take a look at my use of arrays here and microseconds, micros(), to creating multiple tones.
The code was based on reading button presses, changing to turn notes on & off based on data should be possible.

The code is like blink without delay to the Extreme :sunglasses:


I don’t know what you mean by “C/C++ format”

  • is something like the tone melody composer software able to capture a series of chords (notes) with respective frequency and duration values output in C header format, such as below so programmer can use tone() to bring out the music.

#include "pitches.h"

typedef struct
int frequency;
int duration;

_NOTE melody { { NOTE_D8, 64 }, { NOTE_C8, 128 }, { NOTE_A6, 32 } };

I do found some related tone composer software such as FamiTracker but is bit complex to use and unable to output above C header format otherwise I will have to write my own.

Hi all,

I have created a Windows app to compose tone melody, is called Tone Studio as shown below:

It can compose, edit, playback and output melody in C/C++ header format and is Arduino sketch compatible.

For further information about Tone Studio software, do check the GitHub site at HERE.