このページの内容

Awesome WebAudio

WebAudioを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

パッケージ

フレームワーク

  • Tone.js - ブラウザ上でインタラクティブな音楽を作成するためのフレームワーク
  • Bap - MPC60/2000をインスピレーションとして作られた、ビートを作成し、シーケンスを組み立てるためのツールキット
  • Omnitone - ウェブ向けのアンビソニックス空間音響
  • Mach1Spatial - ウェブ向けのベクトルベース・パンニング空間音響
  • Elementary – ウェブ上またはネイティブアプリ向けの音声ソフトウェアを宣言的に、関数的に書くためのフレームワーク
  • React Native Audio API - react-nativeベースのネイティブアプリ向けのWeb Audio API実装

ライブラリ

  • smoothfade - 2つのAudioNodeの間をスムーズにフェードさせるためのライブラリ
  • virtual-audio-graph - Web Audio APIを宣言的に操作するためのライブラリ
  • XSound.js - 多機能な音声ライブラリ
  • Sound.js - ゲームやインタラクティブアプリケーション向けに音響効果や音楽をロード・再生・生成するためのマイクロライブラリ
  • Meyda - 多くのよく使われる音声特徴を含む音声特徴抽出ライブラリ
  • Wavesurfer.js - Web AudioとCanvasを用いたインタラクティブでナビゲーション可能な音声可視化
  • Audiojs - PCM音声データをより簡単に保存・読み出し・書き出しできるオブジェクト
  • Tuna - 音声効果ライブラリ
  • Rythm.js - ページをダンスさせるJavaScriptライブラリ
  • Howler.js - HTML5 Audio に備えられた包括的なライブラリ
  • Circular Audio Wave - Web Audio API と ECharts を使って円波形を用いた音声可視化を行う JavaScript ライブラリ
  • Wad - Web Audio DAW。動的な音合成に Web Audio API を使う。あなたの耳のための jQuery みたいなもの
  • p5.sound - 創造的コードライブラリ p5.js に Web Audio機能を追加する拡張
  • @magenta/music - Web Audio API をいくつかの洗練された抽象化で包み、ブラウザ上で機械学習モデルを用いて音楽を生成する JavaScript ライブラリ
  • soundfont-player - Web Audio API を使って MIDI 音を再生するサウンドフォントローダー/プレイヤー
  • html-midi-player - カスタム JS コードを書かずに、MIDI の再生と可視化を簡単に行える HTML 要素。必要に応じてスクリプトやスタイルを適用可能
  • MusicXML Player - Web Audio と Web MIDI を使ってブラウザ内で MusicXML ファイルを読み込み、再生する TypeScript コンポーネント
  • waveform-path - SVG に波形パスを生成するライブラリ
  • wave-audio-path-player - シンプルなオーディオプレイヤー Web コンポーネントで波形をカスタマイズ可能
  • dsssp - ドラッグ&ドロップとトランジションをサポートした、オーディオフィルタの可視化と管理を行う React コンポーネントライブラリ
  • tuning-fork - リアルタイムピッチ検出を用いた、設定可能なクライアントサイド JavaScript ライブラリ(ギターのチューニング用)

ユーティリティ

  • Audion - Chrome エクステンションで開発ツールに Web Audio パネルを追加
  • web-audio-generator - Web Audio コードを生成するための UI
  • Web Audio Studio - Web Audio API からコードで生成されたグラフをリアルタイムで可視化する

MIDI

  • midimessage - シンプルなMIDIメッセージパーサー
  • JZZ - Node.jsおよび主要なブラウザ向けのMIDIライブラリ
  • JZZ-midi-Gear - MIDIデバイスのモデルとメーカー情報を取得
  • WEBMIDI.js - Web MIDI APIを扱いやすくする

アプリ

  • BassoonTracker - JavaScriptによるMOD/XMトラッカー
  • LoopDrop App - Web AudioおよびWeb MIDI APIを用いたMIDIループ、モジュラーシンセ、サンプラーアプリ
  • X Sound - XSound.jsを用いたマルチサウンドアプリケーション
  • Molgav - メロディを交換するための音楽ステップシーケンサ
  • mod-synth.io - 自作モジュラーシンセを構築する、または異なるシンセをエミュレートする
  • GridSound - 進行中のDAW(デジタルオーディオワークステーション)
  • Learning Music - 音楽制作の基本を学ぶ
  • Super Oscillator - ウェブ向けインタラクティブな3D音楽シンセサイザー
  • AudioNodes - マルチトラックミキシング、音響効果、パラメーター自動化、MIDI編集、シンセシス、クラウド制作などを備えたモジュラー音楽制作ツールセット
  • waveform-playlist - マルチトラックWeb Audioエディタとプレイヤー。キャンバス波形プレビューを提供。カウント、フェード、複数トラックのタイムシフトを設定。オーディオトラックを録音するか、オーディオ注釈を提供。ミックスをAudioBufferまたはWAVにエクスポート!Audacityをインスピレーションにしたプロジェクト
  • SoundCycle - ミュージシャン向けのWeb Audioベースのループステーション。エフェクトとさまざまなループモードを備えている
  • DSP.audio Worklet Editor - オンラインのオーディオ・ワークレット・エディタ。スケッチや協働に使用可能。サンプラー、MIDI、アナライザを備えている。JSFiddleに似たものだが、DSP用。
  • AudioMass - 無料、オープンソース、ウェブベースのオーディオと波形エディタ。
  • Csound IDE - CSound programming language用のウェブIDE。
  • jamhub - 低遅延のリモート音楽協働とジャム。
  • Web Audio Metronome - ウェブオーディオスケジューラとsetTimeoutスケジューラを使用したメトロノームアプリ。
  • EarSketch - PythonおよびJavaScriptを音楽作成とリミックスを通じて教えるための無料教育用プログラミング環境。
  • webaudio-tinysynth - JavaScript製の小型シンセサイザー。GM風の音色マップを備える。
  • web-audio-beat-detector - ウェブオーディオAPIを使用したビート検出ツール。
  • web-audio-mixer - ウェブオーディオを用いて構築されたオーディオミキサー。
  • Audio-motion interface - スマートフォンの空間におけるジェスチャーを用いて音を生成するウェブシンセサイザー。
  • Topos - Monome Teletypeにインスパイアされたウェブベースのライブコーディング環境。ウェブオーディオとMIDIを使用。
  • Online Sequencer - シンプルで使いやすいシーケンサ。機能が豊富で、ウェブオーディオAPIに基づいている。
  • Binary Synth - 任意のファイルのバイナリコードから音を生成するウェブシンセサイザー。
  • dsssp-demo - 7バンドEQとフィルタプリセットを備えたウェブオーディオ音楽プレイヤー。
  • SingMeter – ブラウザベースの歌唱ツールのコレクション。ピッチ検出器と声域テストを含む。
  • Drumhaus – ブラウザ上で動作するドラムマシン。ステップシーケンス、パターン変化、グルーブ編集に対応。
  • All-in-One Advanced BPM Tool – スペースバーを押すかタップで瞬時に楽曲の速度を測定。MIDI入力、オプションのサウンドクリック、リアルタイムBPM表示機能付き。プロデューサーやDJ、リズムゲーマーにとって必須のツール。
  • synflow - ブラウザベースのモジュラーシンセ・フローエンジン。すべてのWeb Audio APIノードと、ボコーダーやリバーブなどのWorkletをサポートし、高度なフロー自動化機能を備える。 Github
  • Tonalux - Web Audio APIおよびWebAssemblyで構築された、無料のブラウザベースの音声解析ツール。リアルタイムスペクトル分析、LUFS音量計測(EBU R128)、A/B比較、ステレオ相関を提供。完全にクライアントサイドで動作。
  • mdrone - ブラウザ上で動作するマイクロトーンドローン楽器。

資料

チュートリアル

  • WebAudio School - WebAudioを学ぶためのセルフガイドワークショップシリーズ。
  • Web Audio API Understandable Reference - JavaScriptや基本的な音声原理を理解している人向けに、わかりやすく作られたリファレンス。
  • The Web Audio API: What Is It? - WebAudioの基礎を学ぶ。
  • Web Audio Basics - CodePenへのリンク付きの、軽量なコードサンプルの集合。
  • Web Audio Perf - さまざまなAudioNodeのパフォーマンスと、効率的なリソース使用のための戦略(WAC2016から)。
  • Percussion Synthesis Using Web Audio - このチュートリアルでは、シンプルなパーカッション音を合成するコードを書くことで、ウェブ音声プログラミングの基礎を紹介する(WAC2016から)。
  • Browser Noise: Web Audio Tutorials - Audio Programmer YouTubeチャンネルにアップロードされた、ダン・トラメートによるビデオチュートリアルのプレイリスト。
  • audio-katas - 自らDAWを構築しながら、重要なWeb Audio APIに触れられるセルフガイドのカタスの集合。

書籍

  • JavaScript for Sound Artists - すべての例にWeb Audioを使用した、下から上へのJavaScript/DOMコース。
  • Web Audio API - デジタル音声の知識がほとんどないWeb開発者向けに設計された、ゲーム音声やインタラクティブアプリに特化したスタートアップツール。

ニュースレター

コミュニティ

  • Slack - ウェブオーディオに関するディスカッションを行うSlack
  • Web Audio Conference - ウェブオーディオ技術および応用に特化した国際会議

更新停止

2019年1月以降活動がない、または公式に終了したプロジェクトです。

  • Gibberish - コード生成技術を用いてJIT最適化されたオーディオコールバックを生成するJavaScript DSPライブラリ
  • lissajous - プログラムによるオーディオパフォーマンスを実現するツール
  • SSSynthesiser.js - インタラクティブな音楽やサウンドエフェクトに使用するwavetableシンセイザー
  • WAAX - ブラウザ上で音楽アプリケーションを開発する
  • Band.js リズム、複数の楽器、繰り返しセクション、複雑な拍数をサポートするウェブオーディオAPI用インターフェース
  • reverbGen - 人工リバーブインパルス応答を生成するJavaScriptライブラリ
  • TuneJS - 微細音階および正則音階をサポートし、3,000以上の歴史的チューニングを提供するチューニングライブラリ
  • Beet.js - ユークリッドリズムおよびポリリズムを生成するシーケンサライブラリ
  • AudioKeys - ウェブオーディオプロジェクト用のQWERTYキーボード
  • web-audio-test-api - CI用のウェブオーディオテストライブラリ
  • javascript-karplus-strong - Karplus–StrongギターシンセシスのJavaScript/Web Audio実装
  • osc-msg - エラー対応を備えたOSCメッセージデコーダ/エンコーダ
  • Pizzicato - ブラウザ内で音を生成・操作するためのライブラリ
  • Mooog - jQueryやミックステーブルにインスパイアされた、AudioNodesの操作を簡易化するツール
  • envelope-generator - ウェブオーディオ用のシンプルなADSR包絡生成器
  • audio contour - 5段階のオーディオ包絡生成器
  • web-audio-recorder-js - ウェブオーディオAPIの音入力(AudioNodeオブジェクト)を記録し、Blobオブジェクトにエンコードするライブラリ
  • audiolet - ブラウザ内でリアルタイムでオーディオ合成と編成を行うJavaScriptライブラリ
  • playnote - ブラウザ内で複雑な音符間隔やスケールを持つ楽器を演奏可能に
  • Recorderjs - Web Audio APIノードの出力の録音・エクスポートを行うプラグイン
  • resampler - オーディオのリサンプリングを行うユーティリティ
  • bpm-detective – 音楽やオーディオサンプルのBPMを検出
  • web-audio-utils - ウェブオーディオAPIでよく使われるユーティリティ関数
  • web-audio-oscillators - ウェブオーディオ用のカスタムオシレーターのコレクション
  • midi-ports - MIDIデバイスの接続を扱う際に便利なライブラリ
  • Midi Logger - このMIDIログはデバッグ用にブラウザにすべてのMIDI入力を表示します
  • Code Player - コードを実際に歌わせるための実験的なアプリ
  • Web Audio Modules - ウェブブラウザ向けのシンセサイザおよびオーディオエフェクトプロセッサ(APIおよび実装)

ライセンス

CC0

法律で認められる範囲で、Chinmay Pendharkarは本作品に関するすべての著作権および関連する権利を放棄しています。