Repolode
mackron

mackron/miniaudio

外部依存なしで使える、単一ソースファイルで配布されるC製の音声再生・録音ライブラリ。

スター
7,383
フォーク
620
未解決の Issue
4
最終コミット
5 時間前

これは何?

miniaudioは、音声の再生と録音に使えるCライブラリです。ソースファイルとヘッダーファイルが各1つで、依存先はC標準ライブラリのみのため、追加パッケージをインストールせずにプロジェクトへ直接組み込めます。

生の音声データを直接扱う低レベルAPIと、サウンド管理、ミキシング、エフェクト、オプションの3D空間化に対応する高レベルAPIを提供します。カスタムのミキシングチェーンやエフェクトチェーンを構築できるノードグラフを備え、WAV、FLAC、MP3のデコード(カスタムデコーダーにも対応)、WAVエンコード、リサンプリング、チャンネルマッピングも利用できます。

miniaudioは、Windows、macOS、iOS、Linux、BSD系OS、Android、Raspberry Pi、Emscripten/HTML5を対象としています。各プラットフォームでWASAPI、Core Audio、ALSA、PulseAudio、AAudioなどのネイティブ音声バックエンドを使用します。また、ライブラリのソースを変更せずにカスタムバックエンドを追加できます。

主な機能

  • 01C標準ライブラリ以外の外部依存がなく、単一のCソースファイルとして提供されます。
  • 02生の音声データを扱う低レベルAPIと、サウンドの再生やミキシングに使える高レベルAPIを備えています。
  • 03WAV、FLAC、MP3を標準でデコードでき、カスタムデコーダーにも対応します。
  • 04柔軟なミキシングやエフェクト処理を実現するノードグラフを提供します。
  • 05リサンプリング、チャンネルマッピング、データ形式の変換に対応します。
  • 06Windows、macOS、Linux、BSD、Android、Webでネイティブの音声バックエンドを使用します。

ユースケース

  • CまたはC++製ゲームに効果音やBGMの再生機能を追加する。
  • クロスプラットフォームのデスクトップアプリや組み込みアプリで、マイク入力を録音する。
  • 音声ファイルを生のPCMデータにデコードして、解析や処理に使う。
  • Emscriptenを使ったWebAssemblyビルドで音声を再生する。

クイックスタート

  1. 1

    miniaudio.c と miniaudio.h をソースツリーに追加します

  2. 2

    他のソースファイルと同様に miniaudio.c をコンパイルします(Linux と BSD では -lpthread と -lm をリンクします)

    cc -o app app.c miniaudio.c -lpthread -lm
  3. 3

    コードに miniaudio.h をインクルードし、ma_engine_play_sound などの API を呼び出します

使う前に知っておきたいこと

  • ライセンスはパブリックドメインまたは MIT No Attribution から選べますが、メタデータでは NOASSERTION とされているため、使用前に条件を確認してください。
  • バージョン間の ABI 互換性は保証されないため、共有ライブラリを使うより、ソースをベンダーとして取り込むことを推奨します。

トピック

よくある質問

miniaudio とは?
外部依存なしで使える、単一ソースファイルで配布されるC製の音声再生・録音ライブラリ。 miniaudioは、音声の再生と録音に使えるCライブラリです。ソースファイルとヘッダーファイルが各1つで、依存先はC標準ライブラリのみのため、追加パッケージをインストールせずにプロジェクトへ直接組み込めます。
miniaudio は無料で使えますか?ライセンスは?
miniaudio は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
miniaudio は今もメンテナンスされていますか?
活発にメンテナンス中。miniaudio の最終コミットは 2026年10月21日 です。
miniaudio は何に使えますか?
CまたはC++製ゲームに効果音やBGMの再生機能を追加する。 クロスプラットフォームのデスクトップアプリや組み込みアプリで、マイク入力を録音する。 音声ファイルを生のPCMデータにデコードして、解析や処理に使う。 Emscriptenを使ったWebAssemblyビルドで音声を再生する。
miniaudio のインストール方法は?
miniaudio.c と miniaudio.h をソースツリーに追加します 他のソースファイルと同様に miniaudio.c をコンパイルします(Linux と BSD では -lpthread と -lm をリンクします): cc -o app app.c miniaudio.c -lpthread -lm コードに miniaudio.h をインクルードし、ma_engine_play_sound などの API を呼び出します
miniaudio はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/mackron/miniaudio

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト