LIBSONARE外部依存のない C++ コアを備えたオーディオエンジン

Apache-2.0 · 外部依存のない C++ コア · WebAssembly

音をデータに、データを音に。

解析・マスタリング・ミキシング・内蔵音源・DAW を、ひとつの C++17 エンジンで。ネイティブでもブラウザでも同じ結果が出て、音声はどこにもアップロードされません。

$npm install @libraz/libsonareNPM
$pip install libsonarePYPI
LICENSEAPACHE-2.0RUNTIMEC++17TARGETSLINUX · MACOS · WASMPACKAGESNPM · PYPICORE DEPSZERO RUNTIME
WASM2656 KB gzip / 7808 KB rawANALYSIS ENTRY396 KB gzipBUILD2026-10-27 · 65690956964f

ローカルで試す

12 つのデモ、ひとつのライブラリ。

どのデモも同じ Apache-2.0 のプロセッサを、WebAssembly でブラウザ内でそのまま動かします。

すべてのデモを見る

LIVE フルDAW · オーディオは libsonare

sonare studio

ブラウザで動くフルDAW

シーケンス、ピアノロール、スコア浄書、ミキサー、マスタリング、WAV/MP3/MIDI/MusicXML 書き出しまで揃った、すべてクライアントサイドで動くワークステーション。libsonare はそのオーディオエンジンで、再生・ミキシング・マスタリング・内蔵音源・WAV/MP3/MIDI 書き出しを担います。スコア浄書・MusicXML・音楽理論は別ライブラリです。実際の DAW のなかでオーディオエンジンがどこまで通用するかを示しています。

ホスト型のライブデモ · ソース非公開 · 製品ではありません。

sonare studio を開く

sonare-studio.libraz.net

コードに組み込む

ひとつのライブラリを、3 つのランタイムで。用途を選び、動かす場所を選ぶだけです。

import { init, detectBpm, detectKey, analyze } from '@libraz/libsonare'

await init()

const bpm = detectBpm(samples, sampleRate)
const key = detectKey(samples, sampleRate)   // { name: "C major", confidence: 0.95 }
const result = analyze(samples, sampleRate)

同梱されるもの

サービスではなくオーディオエンジン

ここに書いたことはビルドで検証しています。librosa との一致は参照値と、各ランタイムで使える機能の範囲は C ABI そのものと、CI が毎回照合します。

02 ASSISTANTS

測って、提案して、理由を述べます。

ミキシングとマスタリングのアシスタントが、シーンやチェーンを変更ごとの理由付きで返します。ルールベースなので学習済みモデルもアップロードもなく、適用するかどうかは呼び出し側が決められます。

03 MASTERING & MIXING

放送品質のマスタリングと、リアルタイムでも安全なミキサー。

BS.1770-4 のラウドネスとトゥルーピーク制限をはじめ、公開文献に沿って実装した DSP プロセッサを 88 個収録しています。うち 73 個はリアルタイムのチェーンにそのまま挿せます。

04 ANALYSIS & DAW

移行しても結果がずれない MIR 解析。

BPM、キー、コード、セクション、EBU R128 ラウドネス。librosa と重なる範囲はデフォルト値が一致し、CI が参照値と照合します。解析結果はそのままヘッドレス DAW とリアルタイムエンジンへ渡せます。

同じ DSP をどこでも動かす。

C++、C、Python、Node、WASM、2 つの CLI を、ひとつの Apache-2.0 ライセンスで。ランタイムごとに使える機能は表で公開しています。