All Projects → schellingb → Tinysoundfont

schellingb / Tinysoundfont

Licence: mit
SoundFont2 synthesizer library in a single C/C++ file

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Tinysoundfont

Arduino Pitch-Detector
Pitch Detection on Arduino using Autocorrelation
Stars: ✭ 21 (-92.63%)
Mutual labels:  synthesizer
prototracker-modular
A modular synth tracker
Stars: ✭ 44 (-84.56%)
Mutual labels:  synthesizer
VOSIMSynth
Modular VST environment for building synthesizers and audio processors.
Stars: ✭ 41 (-85.61%)
Mutual labels:  synthesizer
ahx-web-player
AHX player web interface
Stars: ✭ 24 (-91.58%)
Mutual labels:  synthesizer
Speech256
An FPGA implementation of a classic 80ies speech synthesizer. Done for the Retro Challenge 2017/10.
Stars: ✭ 51 (-82.11%)
Mutual labels:  synthesizer
vult
Vult is a transcompiler well suited to write high-performance DSP code
Stars: ✭ 316 (+10.88%)
Mutual labels:  synthesizer
canvas
A visual additive synthesizer
Stars: ✭ 18 (-93.68%)
Mutual labels:  synthesizer
Vult
Vult is a transcompiler well suited to write high-performance DSP code
Stars: ✭ 272 (-4.56%)
Mutual labels:  synthesizer
MicroDexed
Dexed port for Teensy (3.5/3.6 with audio shield)
Stars: ✭ 20 (-92.98%)
Mutual labels:  synthesizer
sorceress
A Rust environment for sound synthesis and algorithmic composition.
Stars: ✭ 64 (-77.54%)
Mutual labels:  synthesizer
react-synth
🎹simple react synthesiser 🎹
Stars: ✭ 39 (-86.32%)
Mutual labels:  synthesizer
awesome-open-source-synths
Awesome Open Source Synths List!
Stars: ✭ 64 (-77.54%)
Mutual labels:  synthesizer
eurorack-cpu
A CPU implemented in a modular synthesizer
Stars: ✭ 253 (-11.23%)
Mutual labels:  synthesizer
OpenWare
Firmware for OWL devices
Stars: ✭ 23 (-91.93%)
Mutual labels:  synthesizer
kiro-synth
Modular sound synthesizer written in Rust
Stars: ✭ 62 (-78.25%)
Mutual labels:  synthesizer
AriaModules
Aria Salvatrice's Signature Series - Cool and Nice virtual synthesizer modules
Stars: ✭ 51 (-82.11%)
Mutual labels:  synthesizer
geonkick
A free software percussion synthesizer for GNU/Linux
Stars: ✭ 238 (-16.49%)
Mutual labels:  synthesizer
Pysynth
Several simple music synthesizers in Python 3. Input from ABC or MIDI files is also supported.
Stars: ✭ 279 (-2.11%)
Mutual labels:  synthesizer
arduino-midi-sound-module
Turn your Arduino Uno into a 16-voice MIDI sound synthesizer
Stars: ✭ 43 (-84.91%)
Mutual labels:  synthesizer
arduino-DualLFO
Use PWM and simple low-pass filters on the output to create two simultaneous waveforms from an Arduino
Stars: ✭ 17 (-94.04%)
Mutual labels:  synthesizer

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].