abSynth FM - FM Synthesizer with step sequencer

I’m happy to hear you guys enjoying this.:smile:
The 16-step limitation is mostly a matter of user interface design.
Now I’m considering to extend it to be able to process more “sequences”,
so that you can choose one to play.


If there was an editor for the web that would be amazing too! Download and share tracks.


hi @boochow,

Really great work you’ve done ! We at TEAM a.r.g. are working on a 4 channel tracker player and FX player for sound in games. Our goal is to get everything as small as possible, using a new song format and a really dense player.

Got a questions for you: how big (byte size) is the synth on it’s own ?


@bateske hmm, good idea. Anyway import and export functions are necessary. I will try it.

@JO3RI The synth engine itself is not my work, it is pcm1723’s, so I can’t say the precise size of the synth code.
FMMelody, a very simple sketch, requires 10,246 bytes flash and 1,430 bytes RAM on Arduboy.
Hello world sketch requires 7,902 bytes flash and 1,342 bytes RAM.
Thus, roughly speaking, about 2.5K bytes of flash and 100 bytes of RAM seems to be necessary for this FM synth engine.

However, FM synthesis is not suitable for games IMHO because it requires much more CPU power in comparison with standard wave table synthesizer.

1 Like

Does the sound come from the arduboy? I tried downloading it, and the audio did not work… pls respond so i can figure out how to get it to work!

Have you installed Arduboy2 Library? If so, please restart Arduino IDE and try to upload the sketch again.

Also, I have uploaded hex file on GitHub. You can use Arduboy Manager for Win to upload it to your Arduboy.

1 Like

Hey, boochow! If you’re interested, shoot me a message and I’ll host your games on my repo. :wink:

@crait thanks ! I will contact you when this sketch would be stable.

1 Like

When I try compiling and uploading I get the following error:

sketch/PWMDAC.cpp:16:28: fatal error: Wiring_private.h: No such file or directory

Hi, @drh
wiring_private.h is in \hardware\arduino\avr\cores\arduino folder.
If you selected proper board type (Arduino Leonardo) on IDE’s “tools” menu, it should be automatically processed by the compiler.

hey @boochow i still cannot get the sound to work even though i have restarted the ide and uploaded it. I can hear it playing, but very faintly. any way to turn up the volume?

@rwatters32 does this small playback only sketch work ?

If it would work, please try absynth fm again.

@boochow i tried the test and it worked fine, but when I uploaded absynth again, i still got the same result any fixes

@boochow the playback only works fine, but absynth still doesn’t make any noise

@rwatters32 ok, your arduboy working well.
Please test the hex file I uploaded on GitHub.
If it works, please inform.me your Arduino IDE version number.

1 Like

@boochow my version number is 1.6.12

@boochow hex file seems to be fine

@boochow is there anything I can change to make the volume louder because I’m getting the visuals, just the sound is so faint that I have press my ear onto it to kind of hear it

@rwatters32 there is no volume control. it plays always loudest sound, but in general, the volume level is lower than usual game sound.

@boochow I understand this, but absynth is making virtually no sound at all