spLibs: A set of multi-platform libraries
[Japanese]
spLibs is a set of multi-platform libraries written in C.
Although this set of libraries was originally developed for speech signal processing, you
can use spLibs for other purpose.
spLibs has the following features.
- Support for multiple platforms: Windows, macOS, Linux, Android and iOS.
- Support for WAV and AIFF files I/O functions.
- Support for audio I/O functions (also support for full duplex and real time I/O)
- Support for many functions for signal processing.
- Easy to create excellent GUI by using spComponent.
- Support for OpenGL functions by spComponentEx.
spLibs consists of spBase which includes basic functions, spLib which
includes functions for speech signal processing, spAudio which includes
funtions for audio I/O functions, and spComponent which includes functions
for creating GUI. These parts except spBase are designed to work
independently, so you may download only the library you need.
Although licenses of spLibs depend on the library, many libraries have
the so-called X11 license which is pretty lax license. Please see documents
included in each library archive.
- spBase (Documents by Doxygen)
-
A basic library of spLibs. All libraries of spLibs need
this library. spBase includes fundamental
functions such as memory management, file I/O, dynamic library loading,
multithreading, etc.
- spLib (Documents by Doxygen)
-
A library for speech signal processing. This library includes many functions
for signal processing.
- spAudio (Documents by Doxygen)
-
An audio I/O library. This library supports full duplex and real time I/O, so
you can easily develop a application which inputs sound from a sound card and
outputs sound applied processing to the input sound in real time.
- spAudio for Python
(PyPI, Anaconda)
-
A python package of spAudio.
This python package enables fullduplex audio device I/O and
plugin-based file I/O supporting many sound formats including WAV, AIFF, MP3, Ogg Vorbis, FLAC, ALAC, raw, and more.
- spComponent
-
A library for creating GUI. By using this library, you can create excellent GUI application
easily.
Since this library uses the native GUI engine internally, the application
generated by using this library can be readily in conformity with the interface
guideline of the native environment.
This library is known to work on Windows, macOS (10.6+, Carbon/Cocoa),
Linux/UNIX (gtk+, Motif), Android, and iOS.
macOS Cocoa, iOS and Android versions are currently closed-source.
- spComponentEx
- spComponentEx is an extension set of spComponent which is a GUI toolkit
working on multiple platforms.
The part that many people have difficulty in compilation is isolated from spComponent.
Currently, a set of functions to support for OpenGL is prepared.
This OpenGL support enables multi-platform programming using GUI (buttons,
menus, text fields, etc.) and OpenGL.
spComponentEx also supports GLSL-based drawing and multi-byte text drawing on
almost all environments supported by spComponentEx.
- spPlugin
-
This is a collection of plug-ins for spAudio.
The latest version of spwave
requires this packages.
This distribution also includes a powerful command-line sound player `spplay'
which uses spPlugin.
- spMpeg
- MPEG audio I/O library
based on freeamp's decoding engine and bladeenc's encoding engine. However,
the archive doesn't include the source code of encoding engine and MPEG audio
encoder.
The following are applications which use spLibs.
- spwave
-
a speech file editor supporting WAV file, raw file, MP3 file, and so on.
- [2024/6/16]
- Updated almost all files. For Linux, added support for RHEL 9 and Ubuntu 24.
- [2020/11/15]
- Added support for CentOS 8 and Ubuntu 20 in Linux version.
- [2019/4/23]
- Updated spBase, spAudio, spPlugin, and spAudio for Python.
- [2019/3/28]
- Released spAudio for Python.
You can install it by
> pip install spaudio
- [2019/1/15]
- Updated all files of spLibs.
- [2016/11/21]
- Updated spBase, spAudio, spLib, spComponent, spComponentEx and spMpeg.
- [2016/6/6]
- Updated all files of spLibs.
- [2012/9/24]
- Updated spPlugin of the Linux RPM version, because the previous version does not include `pulsesimple' plugin.
- [2012/9/22]
- Updated Linux versions.
- [2012/9/18]
- Updated all files of spLibs.
- Binaries for Developer
- Windows, macOS, Android, and iOS
- yum/dnf / RPM
(for RHEL)
- apt / deb
(for Ubuntu)
- spPlugin Binaries
- yum/dnf / RPM
(for RHEL)
- apt / deb
(for Ubuntu)
Source Code
spPlugin uses the following libraries. I'd like to thank developers of the
libraries.
- AU/SND, PARIS, NIST, IRCAM, WAV ADPCM, ... (introduced from spPlugin version 0.8.3)
- libsndfile
Reading and writing of many of above formats was made possible by
libsndfile. Thanks Erik.
- Ogg Vorbis (introduced from spPlugin version 0.8.3)
- FLAC (introduced from spPlugin version 0.8.5)
- ALAC (introduced from spPlugin version 0.8.5)
- MP3 reading (included in spMpeg)
- FreeAmp (currently known as Zinf) decoding engine
- MP3 writing (included in spMpeg)
I also would like to thank people who send me patches, bug reports, and
requests.
Last modified: "2024-06-17 16:22:32 hideki"