01複音合成器
每按一個音就動態建立一組振盪器 → 包絡增益 → 濾波器 → 主匯流排的節點鏈,放開後包絡釋放完畢自動回收節點。支援電腦鍵盤彈奏、unison 疊音與微分音離調。
02ADSR 包絡編輯器
可直接拖曳控制點的音量包絡。包絡以 setValueAtTime / linearRampToValueAtTime / setTargetAtTime 排程在精準的音訊時鐘上,不受畫面更新率影響。
03雙二階濾波器與頻率響應
使用 BiquadFilterNode.getFrequencyResponse() 取得真實的幅度與相位響應,畫成對數頻率軸的波德圖。濾波器包絡可讓截止頻率隨每個音符掃動。
04頻譜分析與聲譜瀑布
同一個 AnalyserNode 同時提供時域與頻域資料:上方為示波器,中間為對數頻率軸頻譜(含峰值保持),下方為隨時間向左捲動的聲譜瀑布圖。
0516 步鼓機音序器
八種打擊音色全部用振盪器與白噪音即時合成:底鼓是快速下滑的正弦波、小鼓是噪音加三角波、Hi-hat 是高通濾波後的噪音叢集。排程使用預看式(look-ahead)排程器,節奏不受畫面影響。
06效果器鏈
延遲、殘響、破音、合唱四段效果可獨立開關。殘響的脈衝響應是用衰減白噪音即時算出來的 AudioBuffer;破音的轉移曲線也由公式產生並畫在右側。
07加法合成與自訂波形
調整 16 個諧波的振幅,系統會用 createPeriodicWave() 把傅立葉係數轉成振盪器波形,右側同步畫出由這些正弦波疊加出來的時域波形與頻譜柱狀圖。
08音階、和弦與琶音器
選定調性與音階後,系統會依音程公式算出所有音級與順階和弦,琶音器再用取樣級時鐘把音符排程出去,支援上行/下行/來回/隨機四種模式與跨八度範圍。
| 音級 | 音名 | MIDI | 頻率 (Hz) | 與主音音程 | 比值 |
|---|
09音高、音分與拍音
十二平均律與純律的比較:表格列出每個音程在兩種律制下的頻率差(以音分計),下方可同時播放兩個頻率,直接聽見「拍音(beating)」並看到振幅包絡的週期變化。
| 音程 | 半音 | 平均律 (Hz) | 純律比 | 純律 (Hz) | 差 (cent) |
|---|
10錄音與波形輸出
把主輸出接到 MediaStreamDestination 後交給 MediaRecorder 錄製。錄完可直接在頁面播放,並畫出整段的振幅包絡;也可把目前演奏寫成 WAV 位元組下載。