eSpeak ~ Open Source Speech Synthesizer


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.

speak.sourceforge.net

NAudio ~ .NET Audio & MIDI Library


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.

naudio_player_demo
NAudio demo project showing an MP3 file playing

naudio.codeplex.com
github.com/naudio/NAudio

PortAudio ~ Free Cross-platform Open-source Audio I/O Library


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.

www.portaudio.com

JACK ~ Audio Connection Kit


Have you ever wanted to take the audio output of one piece of software and send it to another? How about taking the output of that same program and send it to two others, then record the result in the first program? Or maybe you’re a programmer who writes real-time audio and music applications and who is looking for a cross-platform API that enables not only device sharing but also inter-application audio routing, and is incredibly easy to learn and use? If so, JACK may be what you’ve been looking for.

Audio Connection Kit

jackaudio.org
jackaudio.org/downloads
en.wikipedia.org/wiki/JACK_Audio_Connection_Kit

JACK Rack is an effects “rack” for the JACK low latency audio API. The rack can be filled with LADSPA effects plugins and can be controlled using the ALSA sequencer. It’s phat; it turns your computer into an effects box.

jack-rack

jack-rack.sourceforge.net

Gnome Extension:

extensions.gnome.org/extension/1135/jackvolume

Resources:

github.com/dagargo/jack-client-template
github.com/dagargo/overwitch (JACK client for Overbridge devices)