spLibs: マルチプラットフォーム対応ライブラリ群
[English]
spLibsは,Cで書かれたマルチプラットフォーム対応ライブラリ群です.
元々は音声信号処理を目的として開発されましたが,音声信号処理以外の用途に使用することも可能です.
このライブラリ群には,次のような特徴があります.
-  マルチプラットフォーム: Windows,macOS,Linux,Android,iOS.
-  WAVファイルやAIFFファイルの入出力関数のサポート.
-  オーディオ入出力関数のサポート(フルデュプレックス・リアルタイム入出力にも対応).
-  信号処理用の多数の関数のサポート.
-  spComponentの使用により,容易にGUIを作ることが可能.
-  spComponentExの使用により,OpenGLに対応
このライブラリ群は,基本となる関数を集めたspBase,
信号処理用の関数が用意されたspLib,
オーディオ入出力に関する関数を集めたspAudio,
GUI作成用の関数を集めたspComponentなどの部分に分かれています.
spBase以外のライブラリは,完全に独立したライブラリとなっているため,
自分の必要とするライブラリ以外をダウンロードする必要はありません.
ライセンスは,ほとんどが制限の緩い,いわゆるX11ライセンスになっています.
ただし,ライブラリによって違いがありますので,それぞれのライブラリのドキュメントを参照下さい.
- spBase (Doxygenによるドキュメント)
- 
spLibsの基本となるライブラリです.
spLibsのライブラリを使用する場合に必ず必要となります.
- spLib (Doxygenによるドキュメント)
- 
音声信号処理用のライブラリです.多数の信号処理用の関数が用意されています.
- spAudio (Doxygenによるドキュメント)
- 
オーディオ入出力に関するライブラリです.
フルデュプレックスやリアルタイム入出力にも対応しているため,
入力音声をリアルタイムに信号処理して出力するといったアプリケーションを,
簡単に作成することができます.
Windows,Macintosh,Android,Linux(OSS), iOSでの動作が確認されています.
- spAudio for Python
     (PyPI, Anaconda)
- 
spAudioのPythonパッケージです.
このパッケージにより,Python上において,フルデュプレックスのオーディオデバイス入出力やWAV,AIFF,MP3,Ogg 
Vorbis,FLAC,ALAC,rawなど,ハイレゾ形式を含む様々なファイル形式の読み書きが可能となります.
- spComponent
- 
GUI作成のためのライブラリです.これを用いれば,様々な環境で,
比較的簡単にGUIアプリケーションを作成することができます.
内部で環境に応じたネイティブのライブラリを使用していますので,
その環境におけるインターフェイスガイドラインにほぼ準拠したアプリケーションを作成できます.
 Windows, macOS (10.7〜), Linux/UNIX
(gtk+, Motif), Android, iOS環境で動作します.
ただし,現在の所,macOS Cocoa版,iOS版,Android版は,オープンソースにはしておらず,ライセンスも未定です.
- spComponentEx
- spComponentの拡張セットです.
コンパイルに必要な外部ライブラリが多いものなどをspComponentから分離しています.
現在は,OpenGLをサポートするための関数群のみが用意されています.
これにより,マルチプラットフォームでGUI(ボタン,メニュー,テキストフィールド等々)とOpenGLを併用することができるようになります.
また,ほとんどの環境で,GLSLを用いた描画や,日本語文字を含む文字列の描画などをサポートしています.
- spPlugin
- 
spAudioの入出力用のプラグインを集めたものです.
spwaveの最新バージョンを動作させるには,
これが必要になります.
また,このパッケージには,
プラグインを使用した強力なコマンドラインの音声再生ソフト`spplay'が含まれています.
- spMpeg
- 
MPEGオーディオ入出力ライブラリです.
FreeAmpのデコードエンジンと,BladeEncもしくはLAMEのエンコードエンジンを使用しています.
ただし,配布パッケージにエンコードエンジンのソースコードや,
エンコーダーは含まれていません.
spLibsを使用したアプリケーションを紹介します.
と言っても,ここで紹介しているのは一つしかありませんが,研究用のデモアプリケーションはこれ以外に数多く作成しています.
- 
spwave 
- 
  音声波形の表示,編集,再生を行う音声ファイルエディタ.
  様々な形式の音声ファイルを扱うことができる.
-  [2025/5/3]
-  ほぼ全てのファイルを更新しました.
-  [2024/6/16]
-  ほぼ全てのファイルを更新しました.Linux版は,RHEL 9やUbuntu 24などにも対応しています.
-  [2020/11/15]
-  Linux版でCentOS 8とUbuntu 20に対応しました.
-  [2019/4/23]
-  spBase, spAudio, spPlugin, spAudio for Pythonの更新.
-  [2019/3/28]
-  spAudio for Pythonをリリースしました.
下記のコマンドでインストールできます.
> pip install spaudio
 
-  [2019/1/15]
-  spLibsの全ファイル更新
-  [2016/11/21]
-  spBase,spAudio,spLib,spComponent,spComponentEx,spMpegの更新.spLibの関数の追加,最新の開発環境でのビルド確認など.
-  [2016/6/6]
-  spLibsの全ファイル更新
-  [2012/9/24]
-  spPluginのLinux RPM版に`pulsesimple'プラグインが含まれていないというバグがあったため,spPluginのLinux RPM版の修正版をリリースしました.
-  [2012/9/22]
-  Linux版の更新
-  [2012/9/18]
-  spLibsの全ファイル更新
ソース
  
 
ファイルの読み書きには以下のライブラリが使用されています.それぞれのライブラリを
開発し,公開されている方に感謝致します.
-  AU/SND, PARIS, NIST, IRCAM, WAV ADPCM, ... (spPluginバージョン0.8.3から)
  
  -  libsndfile
 上記のフォーマットの読み書きはこのlibsndfileによって可能になりました.
      開発者のErikさん,いろいろとありがとうございます.
 
-  Ogg Vorbis (spPluginバージョン0.8.3から)
  
-  FLAC (spPluginバージョン0.8.5から)
  
- ALAC (spPluginバージョン0.8.5から)
  
  
-  MP3読み込み (spMpeg)
  
  -  FreeAmp(現在は,Zinfという名前になっているようです)のデコードエンジン
  
 
-  MP3書き込み (spMpeg)
  
また,パッチを作成して下さった方,バグ報告や要望などを送って下さった方,
ありがとうございました.今後ともよろしくお願いします.
Last modified: "2025-05-03 19:43:53 hideki"
