このプログラムは2017年頃に書いたものです。
音を出すために Web Audio API の ScriptProcessorNode または Firefox の Audio Data API または Flash による出力を使用しています。 信号処理は波形データを直接 Javascript で生成し、出力のみを Web Audio API/Audio Data API を使用します。
今後 Chrome から ScriptProcessorNode が削除されると動作しなくなりますが、信号処理的には意味があるかと思って、過去の資料としてここに置いておきます。