The Sound Description Interchange Format (SDIF) is an established standard for the interchange of sound descriptions and analysis data. This project provides libraries, SDIF (in C) and Easdif (in C++), tools, and wrappers to read and write SDIF files.
RxFFmpeg is a high-performance multimedia processing framework built on top of FFmpeg and optimized specifically for Android environments, enabling developers to perform complex audio and video editing operations programmatically. It integrates widely used encoding libraries such as x264, mp3lame, and fdk-aac, allowing it to support a broad range of media formats and transformations. The framework provides a wrapper around FFmpeg commands, making it easier to execute advanced media operations without directly handling low-level command syntax. It supports both synchronous and asynchronous execution, enabling developers to manage long-running media tasks efficiently within mobile applications. The system also includes features like hardware acceleration through MediaCodec, significantly improving performance on supported devices. Its design focuses on flexibility, allowing users to perform tasks such as transcoding, clipping, filtering, and compositing media with minimal overhead.
Features:
Callback system for tracking execution progress
Execution of FFmpeg commands through a simplified interface
Support for synchronous and asynchronous media processing
Hardware acceleration using MediaCodec
Wide range of video and audio editing capabilities
GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement software radios. It can be used with readily-available low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in research, industry, academia, government, and hobbyist environments to support both wireless communications research and real-world radio systems.
GNU Radio is a free software development toolkit that provides signal processing blocks to implement software-defined radios and signal processing systems. It can be used with external radio frequency (RF) hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in hobbyist, academic, and commercial environments to support both wireless communications research and real-world radio systems.
The programming language for writing fast, portable audio software.
You’ve heard of C, C++, C#, objective-C… well, Cmajor is a C-family language designed specifically for writing DSP signal processing code.
Our goal is to improve on the current status-quo for audio development in quite a few ways:
To match (and often beat) the performance of traditional C/C++
To make the same code portable across diverse processor architectures (CPU, DSP, GPU, TPU etc)
To offer enough power and flexibility to satisfy professional audio tech industry users
To speed-up commercial product cycles by enabling sound-designers to be more independent from the instrument platforms
To attract students and beginners by being vastly easier to learn than C/C++
If you’re keen to learn the nitty-gritty of the language itself, the language guide offers a deep dive. To see some examples of the code, try the examples folder.
Incudine is used to design software synthesizers or sound plugins from scratch, exploiting the expressive power of Common Lisp, without the constraints of using pre-built unit generators. It is also a compositional tool that produces high quality sounds, controllable at the sample level, while defining and redefining the digital signal processors and the musical structures on-the-fly.
Resonance Audio is a multi-platform spatial audio SDK, delivering high fidelity at scale. This powerful spatial audio technology is critical to realistic experiences for AR, VR, gaming, and video. Resonance Audio simulates how sound waves interact with human ears and their environment.
Cabbage is a software for prototyping and developing audio instruments with the Csound audio synthesis language. Instrument development and prototyping is carried out with the main Cabbage IDE. Users write and compile Csound code in a code editor. If one wishes one can also create a graphical frontend, although this is no longer a requirement for Cabbage. Any Csound file can be run with Cabbage, regardless of whether or not it has a graphical interface. Cabbage is designed for realtime processing in mind. It is possible to use Cabbage to run Csound in the more traditional score-driven way, but your success may vary.
Cabbage is a ‘host’ application. It treats each and every Csound instrument as a unique audio plugin, which gets added to a digital audio graph (DAG) once it is compiled. The graph can be opened and edited at any point during a performance. If one wishes to use one of their Csound instruments in another audio plugin host, such as Reaper, Live, Bitwig, Ardour, QTractor, etc, they can export the instrument through the ‘Export instrument’ option.
FluidSynth is a real-time software synthesizer based on the SoundFont 2 specifications and has reached widespread distribution. FluidSynth itself does not have a graphical user interface, but due to its powerful API several applications utilize it and it has even found its way onto embedded systems and is used in some mobile apps.
Features:
Cross platform support (Linux, macOS and Windows to name a few)
SoundFont 2 support
SoundFont 3 support (vorbis-compressed SF2)
Realtime effect control using SoundFont 2.01 modulators
Playback of MIDI files
Shared library which can be used in other programs
FluidPatcher is a performance-oriented interface for FluidSynth built using wxpython to create a simple GUI that allows live editing, selecting, and playing of patches. A patch is a collection of settings such as soundfont presets for each MIDI channel, control-change/sysex messages to send when the patch is selected, and midi router or effects settings. Groups of patches are stored in banks, which are saved as human-readable and -editable YAML files. This allows a musician to easily create complex combinations of synthesizer settings ahead of time and switch between them on the fly during a performance.
Features:
Live playing: Play on your MIDI controller and hear the results
Customization: Create your own combinations of instruments/effects
Extendability: Use the included libraries to design your own implementations/software
Bfxr is an elaboration of the glorious Sfxr, the program of choice for many people looking to make sound effects for computer games.
Bfxr has moved in the direction of increased complexity and range of expression. All the buttons that you know and love are here, but there are some new things as well:
5 new waveforms : triangle, breaker, tan, whistle, and pink noise.
3 new filters : compression, harmonics, and bitcrusher.
Ability to lock parameters during mutation/randomization.
Expanded pitch-jumping abilities – good for arpeggiation effects.
Visualisation
Mixer
Keeps your sounds and mixes in persistent lists.
Can reverse synths
Ability to link directly to sounds
You have full rights to all sounds made with bfxr, and are free to use them for any purposes, commercial or otherwise.
eSpeak is a compact open source Linux and Windows speech synthesizer for English and other languages. eSpeak uses a “formant synthesis” method. This allows many languages to be provided in a small size. The speech is clear, and can be used at high speeds, but is not as natural or smooth as larger synthesizers which are based on human speech recordings.
eSpeak is available as:
A command line program (Linux and Windows) to speak text from a file or from stdin.
A shared library version for use by other programs. (On Windows this is a DLL).
A SAPI5 version for Windows, so it can be used with screen-readers and other programs that support the Windows SAPI5 interface.
eSpeak has been ported to other platforms, including Android, Mac OSX and Solaris.
NAudio is an open source .NET audio and MIDI library, containing dozens of useful audio related classes intended to speed development of audio related utilities in .NET. It has been in development since 2002 and has grown to include a wide variety of features. While some parts of the library are relatively new and incomplete, the more mature features have undergone extensive testing and can be quickly used to add audio capabilities to an existing .NET application. NAudio can be quickly added to your .NET application using NuGet.
PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in ‘C’ or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O.