波形
「波形」とは、音の最小単位である「オシレーター(発振器)が作り出す、音の素となる電気信号の形状」のことです。
シンセサイザーは、この波形が持つ倍音成分(音色)の違いを利用して音作りを行います。
概要
Playdateは、サンプリングされた音源を再生するだけでなく、本体内でリアルタイムに波形を生成して音を鳴らす強力なオーディオエンジンを搭載しています。
1. シンセサイザーの基本波形
Playdateの `playdate.sound.synth` クラスでは、標準的なオシレーターとして以下の波形を選択できます。
- Sine (正弦波)
- 倍音を含まない純粋な音。サブベースや柔らかな音色に使用。
- Square (矩形波)
- 奇数倍音を含み、ファミコンのような中空の音。パルス幅(Duty比)の変更も可能です。
- Sawtooth (のこぎり波)
- 全ての倍音を含み、明るく鋭い音。リードやパッド、トランス的な音作りに最適。
- Triangle (三角波)
- 柔らかい響きながら、正弦波よりはエッジのある音。
- Noise (ノイズ)
- ホワイトノイズ。ドラムのハイハットや、風、爆発音などの効果音に使用。
- PO-10
- Teenage Engineeringの「Pocket Operator」シリーズをシミュレートした特殊な波形。
2. LFO(低周波発振器)での波形利用
音量、ピッチ、フィルターのカットオフ周波数などを周期的に変化させる**
LFO**においても、波形の形状を選択することでモジュレーションの質感を制御します。
| 波形名 |
変化の特徴 |
| Square |
オン/オフのような階段状の急激な変化 |
| Triangle |
直線的で滑らかな往復変化 |
| Sawtooth |
徐々に上がって急に落ちる(またはその逆)変化 |
| Sample and Hold |
ランダムな値を一定時間保持する、複雑な動き |
3. カスタム波形とサンプリング
固定の波形だけでなく、外部から読み込んだデータを使用することも可能です。
- Sample-based Synth
- `.wav` ファイルなどを読み込み、それを音源波形として使用します。ループポイントを設定することで、任意のサンプルを楽器として演奏できます。
- Wavetable (ウェーブテーブル)
- 直接的なウェーブテーブル合成専用の関数はありませんが、サンプル内の再生位置を動的に制御したり、短い周期のサンプルを高速でループさせることで、同様の音響効果を得ることができます。
4. 画面上での波形描画(ビジュアライズ)
Playdateの画面は1ビット(白か黒のみ)であるため、音楽プレイヤーなどの波形表示(波形レンダリング)には工夫が必要です。
- 描画手法
- `playdate.graphics.drawLine()` や `fillPolygon()` を使用して、オーディオバッファから取得した振幅データをリアルタイムに描画します。
- ディザリング
- 1ビット画面で階調を表現できないため、波形の塗りつぶしにディザリングパターンを用いることで、視覚的な密度(強弱)を表現することが一般的です。
- リフレッシュレート
- Playdateの画面更新は通常30〜50fpsですが、オーディオのサンプリングレート(44.1kHz)とは乖離があるため、描画用にデータを間引く処理(ダウンサンプリング)が必要になります。
まとめ
Playdateの開発環境は、単なるゲーム機を超えて「持ち運べる
シンセサイザー」としての側面を強く持っています。
- 内蔵オシレーターで基本的な音作りが可能
- Teenage Engineering譲りのPO-10波形などのユニークな選択肢がある
- 1ビット画面という制約の中で、波形をどう美しく見せるかというグラフィック面での楽しみがある
開発時には、これらを組み合わせることで、ハードウェアの特性を活かしたリッチな音響体験を構築できます。
関連ページ
最終更新:2026年04月29日 07:17