- 経緯
- 背景
- 重要なのは、限られた時間で、「うひょー音色づくり楽しい」という体験を実現すること
- WAVLPF
- 直近でWAVLPFとオシロについて振り返ったとき、
- WAVLPFとオシロのUXが非常によかったのに対して、
- postmate-midiの現在のUXは、非常に限定的な機能で、UXとしてはいまいち
- userとして、WAVLPFやオシロのようなUXがほしい
- 開発者として、そのような成果物を作るほうが見通しがよいのではと感じた
- このケースだと、
- 開発してるとつい、以下の失敗をしそう
- 「ここはモダンじゃないから仕様変更しよう」
- 「ここは機能追加して、もっと楽しくしよう」
- 「ここは性能改善して、もっと高速に動作させよう、新たなUXが可能になりそう」
- 高機能化・高性能化をしていると、
- 時間がどんどん取られて、
- 目標の「うひょー音色づくり楽しい」という体験を実現すること
- 決定
- WAVLPF project の実装方針として、
- 「うひょー音色づくり楽しい」、というUX提供を
- 高機能化・高性能化 を捨てて、
- Smile BASIC3版の仕様そのまま移植を目指す
- 具体的には、
- 却下した選択肢
- 機能追加
- realtime render機能
- ほかのアプリとのpostmate-midi連携
- ※切り分けて別のprojectとして、
- このプロトタイピングを完了してcodeを捨てたあと、やるべし
- 性能改善
- 影響
- メリット
- 最速でUXを提供できる
- 「うひょー音色づくり楽しい」という体験ができるし、userに提供できる
- デメリット
- モダン
- 高機能
- realtime renderによるDAWのような高度なシンセ音色作成体験はできない
- 高性能
- Rustで爆速で多段チェーンのような高度なシンセ音色作成体験はできない
具体例
- ※個別ADRにするのは、ひとまず省略
- phase modulation
- あくまでwavlpfの移植に留めること
- 少し仕様を増やすだけで、
- その瞬間に開発規模が爆発的に増大するので
- Nuked-OPM
- 組み込まない
- あくまでwavlpfの移植に留めること
- なぜなら、仮に「oscとして」組み込むことができても、
- 「内部を分解して任意PCM chどうしのFM」ができない
- その瞬間に開発規模が爆発的に増大するので
- そしてoscとして組み込むだけでもパラメタ量が爆発的に増え、