「PAPU Sound Test with AudioWorkletProcessor」src on GitHub
まず「START Sound Engine」ボタンを押して、再生開始。その下に並ぶボタンを押すと鳴ります。IchigoJam MML仕様に沿った、シンプルなMML、変更していろいろ鳴らしてみましょう。音の感じはプログラム内の設定でいろいろ変えられます。
8bit RISCアーキテクチャのCPUに内蔵されていた音源pAPU(pseudo Audio Processing Unit / 疑似音処理装置)に、短いデータを渡すことであの特徴的なピコピコ音を奏でています。JavaScriptで作られたファミコンを再現するプログラム「JSNES」にあるESモジュール papu.js をそのまま使って実装しています。音源のレジスタを直接叩いてる感じです!
旧来のScriptProcessorNodeと違って、バックグラウンドで動くワーカーによって実装するAudioWorkletNodeとAudioWorkletProcessorはちょっとややこしくなっています。
「Noise Sound Test with AudioWorkletProcessor」src on GitHub
シンプルな音量コントロールできるノイズ音です。TLS上で動かす必要がある点に注意です!(forkして GitHub Pages を設定して表示すればOK!)
レッツ、メイク、オリジナル音源!
links
- ファミコンから学ぶコンピューター
- GPU音源で遊ぼう!GLSL x WebAudioでつくるリズムマシン
- WebMMLβ コンピューター言語でつくるかんたん音楽
- 音の正体とプログラム作曲 / はじめてのプログラミングその8