Tasmota/lib/lib_audio/ESP8266Audio/src/libtinysoundfont
Jason2866 fa7e0f938e
only disable midi for esp32 no code update
Disable since esp32 compiler bug
2024-10-17 21:48:55 +02:00
..
LICENSE move libs in folder lib 2020-10-26 12:51:06 +00:00
README.ESP8266 updated Audio libs 2021-12-27 14:24:58 +01:00
README.md move libs in folder lib 2020-10-26 12:51:06 +00:00
tsf.h only disable midi for esp32 no code update 2024-10-17 21:48:55 +02:00

TinySoundFont

SoundFont2 synthesizer library in a single C/C++ file

Overview

TinySoundFont is a software synthesizer using SoundFont2 sound bank files.

The library is a single C header file so it is extremely simple to integrate in your C/C++ projects.

#define TSF_IMPLEMENTATION
#include "tsf.h"

...

tsf* TinySoundFont = tsf_load_filename("soundfont.sf2");
tsf_set_output(TinySoundFont, TSF_MONO, 44100, 0); //sample rate
tsf_note_on(TinySoundFont, 0, 60, 1.0f); //preset 0, middle C
short HalfSecond[22050]; //synthesize 0.5 seconds
tsf_render_short(TinySoundFont, HalfSecond, 22050, 0);

The library code is based on SFZero by Steve Folta.

Documentation

The API documentation can be found on top of the library source code.

There are also examples available which come with a sample SoundFont file and build and play sound on Win32, Win64, Linux and MacOSX with no further dependencies.

Dependencies

C standard libraries for fopen, math and malloc (can be removed by providing custom functions with #defines).

License

TinySoundFont is available under the MIT license.