FX INTRODUCTION / 04 / 下書き
Bitcrusher:細かさを捨てる
波形の値を粗い階段にし、さらに同じ値を数サンプル保持します。2種類の「粗さ」を別々に体験します。
作成中の記事です。サンプルは試聴しながら調整していきます。Runで再生、Stopで停止。値を編集したらApplyします。別のiframeを試す前に、再生中のものをStopしてください。
組み込みFXで聴く
| 設定 | 意味 |
|---|---|
| bitDepth | 振幅の段階を決めるビット数 |
| holdFrames | 同じ値を保持するサンプル数 |
| mix | 加工音の割合 |
FX Monitorでnoneを選ぶと、組み込みFXを通った後の波形が見えます。noneは素通しなので、入力と出力は重なります。組み込みFXの加工前後を示すものではありません。
PCMをどう加工するか
振幅の量子化は値の刻みを粗くする加工です。サンプル保持は時間方向の更新を減らす加工です。似たザラつきでも原因が違います。ここでは値を丸めた後、hold個ぶん同じ値を出します。チャンネルごとに保持値とカウンターを持ちます。
input[ch][i]は入力の1サンプルです。chは左右の音声チャンネルで、FMの物理CHではありません。前のブロックから持ち越す値はstateに保存します。processから外側の変数は参照できないため、設定値はcontextへ入れます。
liveFxで試す
FX Monitorでbitcrusher-labを選ぶと、この処理の入力・出力を比較できます。
- holdを1にし、bitsを12から4へ下げます。
- bitsを16に戻し、holdだけを1から16へ増やします。
- 波形の縦方向の階段と、横方向の平らな区間を見比べます。
この例の範囲
組み込み版と量子化の境界が一致するとは限りません。学習用は端点を含む等間隔量子化で、段階数が偶数のため0付近に小さなDC偏りも生じます。サンプル保持はアンチエイリアス付きの再サンプリングとは異なります。
波形は時間方向の変化、Spectrumは周波数成分の強さを見る道具です。短い表示窓や表示の平滑化で見えにくい変化もあります。音を聞きながら、設定を1項目ずつ変えてください。