AKATプロジェクト概要
AKAT (AudioKit Authoring Tool)は、複数の音声ファイルを一つのオーディオスプライトに結合し、 効率的に音声を管理するためのGUIツールです。
AudioKit.jsは、Howler.jsをベースにしたJavaScriptオーディオドライバで、 スプライト化された音声を高度に制御できます。
主な用途:
- Webゲーム・インタラクティブコンテンツの音声管理
- HTTPリクエスト数の削減によるロード時間短縮
- 複雑な音声制御(ループ、ダッキング、同時再生数制限など)の実装
AKAT (AudioKit Authoring Tool)
オーディオスプライト生成
複数の音声ファイル(WAV/MP3/OGG等)を一つのファイルに結合
CSV管理
音声パラメータをCSVで詳細に管理。ボリューム、パン、ループ設定など
WAVマーカー対応
WAVファイルに埋め込まれたループポイントを自動読み取り
シミュレーター
内蔵のWebEngineシミュレーターで動作確認が可能
ファイル監視
入力フォルダの変更を検出して自動再生成(watchdog使用)
JSON自動生成
Howler.js互換のmanifest.jsonを自動生成
生成されるファイル
- sprite.mp3 – オーディオスプライト本体
- sounds.csv – 各音声の詳細設定(ボリューム、パン、ループなど)
- cues.csv – キュー定義(ランダム/シーケンシャル再生)
- limits.csv – 同時再生数制限
- group_relations.csv – グループ間のダッキング/ミュート設定
- manifest.json – Howler.js互換メタデータ
※すべてのパラメータはAKAT上で編集が可能、csvファイルを編集して読み込ませる事も可能です。
AudioKit.js
概要
AudioKit.jsは、Howler.jsをベースとした高機能なJavaScriptオーディオドライバです。
Webゲームやインタラクティブコンテンツで必要とされる高度な音声制御を簡潔なAPIで実現します。
プライオリティ制御
BGM、効果音、VOICEごとのプライオリティ制御が可能
高度なループ制御
ループ開始/終了位置を細かく指定可能
キューシステム
複数音声からランダム/順次選択して再生
ダッキング
BGM再生中にVOICEが鳴ると自動的にBGM音量を下げるなど、効果音の依存関係によるボリュームコントロールが可能
クールダウン
同じ音が連続再生されるのを防止
同時再生数制限
カテゴリごとに最大同時再生数を制限
基本的な使い方
// 初期化
AudioKit.init({
spriteUrl: ‘audio_data/sprite.mp3’,
manifestUrl: ‘audio_data/manifest.json’
}).then(() => {
console.log(‘AudioKit initialized!’);
// シンプルな再生
AudioKit.play(‘se_button’);
// キューで再生(複数音声からランダム選択)
AudioKit.playCue(‘footstep_cue’);
// カテゴリ音量変更
AudioKit.setCategoryVolume(‘BGM’, 0.5);
// 全停止
AudioKit.stopAll();
});
ライセンス
AKAT & AudioKit.js
MIT License
©2025 BRAINSTORM co.,ltd.
使用ライブラリ
- Howler.js – MIT License (c) 2013-2020 James Simpson and GoldFire Studios, Inc.
- PySide6 – LGPL v3 License (C) 2015 The Qt Company Ltd.
- pydub – MIT License (c) 2011 James Robert
- watchdog – Apache License 2.0 (c) 2011 Yesudeep Mangalapilly
- wave-chunk-parser – MIT License (c) 2019 rochars