自分だったらDX7をこんな風に作ったのになあ
DX7はシンセサイザー界のDX(デジタルトランスフォーメーション)を進めた革新的な名器である。しかし、それ故に粗が多いのも事実。もし40年前(当時は生まれてすらいなかったけど)にYAMAHAに勤めていて、DX7の設計に携われる栄誉を与えられたらどうするかを考えた。
数値入力はテンキーに
数値入力がスライダーと増減ボタンのみというのは、正確な制御がかなり困難である。今だったらジョグダイアルとテンキーはシンセの常備品。名前入力の困難さもテンキーに携帯のように文字をフル方式で解決。
アルゴリズムはオペレータ数別に
個人的にDXシリーズでまずいと思う部分は全部のオペレータをずらっと並べて示していることである。ビギナーは面食らい、何をどうすればいいのか見当がつかない。そこでオペレータ2つからアルゴリズムを設計する。3オペ、4オペ、6オペそれぞれアルゴリズムを提供する。謎の多い「YMF271-F」でとられている手法だ。
ここでDX7の総オペレータ数96が威力を発揮する。素因数分解すると$${2^5×3}$$となり、1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48 といった数で割れるこの数は、特に1桁の数字6個で割れることが強みだ。つまり理論上は2オペで48音、3オペで32音、4オペで24音ポリフォニックにすることができる。要するに、アーキテクチャを見直せば「音数のために音を貧弱にする」か「ポリフォニーを犠牲にしてでも音を派手にする(それでも16音は余裕だが)」という選択肢をユーザーに与えることになる。
これをいいことに、オペレータ数を半減させても最大8音ポリ、当時の花形シンセJUPITER-8と同じというのは贅沢だ。これならコストも減らせる!
どんなアルゴリズムを載せるか
図はmermaid live editorという大変すばらしいオンラインツールを利用して生成している。なかったらこの記事を書くのを断念していました。
筆者としてはアルゴリズムという方式自体に否定的なのだが、ハードウェア制約で自由にパッチングとなるとさすがに新規ユーザーは混乱する。ここは考えられるパターンを記載していく。キャリアが複数あるアルゴリズムを採用しなかった理由は、以前執筆した記事を読んでいただきたい。
並び順は規則などなかったオリジナルと違い、ツリーの高さが低い順→幹が低い順→幅が太い順→フィードバックが低い順に並べている。
複数キャリアのアルゴリズムはレイヤーという形で実装することにする。一度に覚えるアルゴリズム量の削減と、データの節約を兼ねている。組み合わせによっては全オペレータをフル活用できなくなるが、それは仕方ないことと諦める。DXをほぼ完全再現するには6レイヤーは欲しいが、それではユーザーのためにならない。4つが関の山だろう。
2オペ
FMというパラダイムを顕示するため、これだけで十分。2-2以降フィードバック表記は割愛する。SY77みたいにフィードバックを自由アサイン形式にするのもいいが、ここはDXの先例に倣ってアルゴリズムにハードコーディングすることにする。
3オペ
4オペ
4段積みのフルフィードバックも採用するか悩んだが、本家では3段で終わっていたので見送った。多分実際音づくりしてみて、雑音しか出なかったのだろう。
6オペ
5オペは端数になるので採用しないことにした。
考えられるパターンを全部列挙してみた。正直ユーザーフレンドリーではない。
この解決策について後日記事をまとめる。乞うご期待!
この記事が気に入ったらサポートをしてみませんか?