こんばんは、まるです。
以前紹介した自作ギタープロセッサー「SGP(SOSOH GUITAR PROCESSOR)」ですが……
開発中止しましたw
というのも、某国内メーカーから新しいギタープロセッサーが発表されたんです。
これがNAM対応で、タッチスクリーンまで搭載した、なかなか魅力的な製品。
しかも、お値段もお手頃!
おいおい、こんなん出されたら自作する意味ないやん!www
でも、そこでふと思ったんです。
どうせ自分で作るんだったら、もっと高性能なものを作ってみたい。
よっしゃ! だったらその新製品を超えるスペックのやつ、作ったろやないか!!
というわけで、SGPの開発を終了。
今までの経験を活かしつつ、設計から新しくやり直すことにしました。
その名も「QUADRA RMX」!!
さて、この新しいギタープロセッサー。
名前は 「QUADRA RMX(クアドラ RMX)」 といいます。
実はこの名前ChatGPTが考えてくれたんです。
今回の開発ではChatGPTに設計やプログラミングを手伝ってもらっているんですが、製品名まで考えてもらいました。
なかなかカッコええ名前を付けてくれたので、そのまま採用!
ただし、開発中はChatGPTと意見が合わず、何度もやり直すことも……。
AI相手に文句を言いながら開発する日々です。
今回、特にこだわったのがNAM(Neural Amp Modeler)です。
NAMというのは、ニューラルネットワークを使って実際のギターアンプなどの音を再現する技術です。
某社の新製品では軽量版のNAM A2-Liteが採用されていますが、QUADRA RMXでは、より演算量の多い NAM A2-Fullを採用しました。
しかも、それだけではありません。
96kHzでネイティブ動作するA2-Fullまで開発しました!!
さらに、NAMファイルそのものも96kHzで生成!
つまり、96kHzで生成したNAMモデルを、96kHz対応のA2-Fullエンジンで処理する構成です。
通常のモデルを単純に96kHzへ変換するだけではなく、モデルの生成から実行まで96kHzにこだわりました。
もちろん、サンプリング周波数を上げれば必ず音が良くなるという単純な話ではありません。でも、せっかく自作するんだから、とことんやってみたい!こういうところが自作の面白さなんですよねw
QUADRA RMXの頭脳にはRaspberry Pi 4を採用しています。
音声処理は24bit/96kHz、内部DSP演算は32bit float。64sample。
しかも、Raspberry Pi OSなどの一般的なOSを動かすのではなく、「Circle」というベアメタル環境を使っています。
簡単に言うと、余計なOSの処理を介さず、ハードウェアに近いところで直接プログラムを動かす方式です。OS介してならそれノートPCにMIDIコントローラつけてやればいいんじゃねー?って思ったんでね。
またギターのエフェクト処理では音の遅れや処理の安定性が重要なので、この構成にしました。
搭載するエフェクトは今のところ14種類。
例えば、歪みの前にコーラスを置いたり、NAMの後ろにディレイを置いたり。
NAMとCABの順番すら固定していません。
実際のエフェクターボードでエフェクターの接続順を変えるような感覚で、自由に音作りができるようにしました。
これ、実現するまで結構大変だったんです。
今回の開発で予想以上に時間がかかっているのが、操作系のファームウェアです。
NAMやエフェクトの音を作ることも大変なんですが、それ以上に苦労したのが、プリセットデータの連携でした。
QUADRA RMXでは、12種類のモジュールを自由に並べ替えられます。
さらに、それぞれのON/OFF状態や並び順をプリセットとして保存し、いつでも呼び出せるようにしています。
文章にすると簡単そうですが、これがなかなか難しい!
画面上でモジュールを移動させても、実際の音声処理に反映されていなければ意味がありません。
プリセットを保存するときには、現在の設定を正しく記録する必要がありますし、呼び出すときには保存した状態をきちんと再現させなければなりません。
しかも音声処理はリアルタイムで動いています。
操作中に音が不安定になったり、保存データが壊れたりするのは困ります。
そこで、保存時には二段階の確認を入れ、直前の保存状態もバックアップする仕組みにしました。
モジュールの移動についても、画面だけでなく、実際のDSP処理に反映されたことを確認するようにしています。
このあたりの連携には本当に苦労しました^^;
あとタッチパネルとの接続。
CIRCLE標準で対応していないタッチパネルを購入したためDRIVER?の開発に丸1日かかりました。
音を出すことと、思いどおりに音を操作することは、まったく別の難しさがあるんですね。
気が付けば、音作りよりも操作系の開発に時間を費やしていました^^;
でも、ライブで使う機材だからこそ、この部分は妥協できません。
ライブで使うことも考えて、25個のBANKを用意しました。
各BANKには5つのプリセットを保存できます。
つまり……
25 BANK × 5 PRESET = 125プリセット!
基本的には1曲につき1BANK。
その曲で使用するクリーン、クランチ、リードなどの音を5つのプリセットに割り当てる使い方を考えています。
現在は12モジュールのON/OFF状態と並び順を保存・呼び出しできるところまで開発が進みました。
エフェクトの細かいパラメータ編集や保存は、これから実装する予定です。
写真の画面には12モジュールの一覧とBANK/PRESETの操作ボタンが表示されています。
左右にはINPUT/OUTPUTのレベルメーターも搭載しました。
さらに3.5インチのタッチパネルにも対応!
画面の表示方向が合わなかったり、タッチ位置を調整したりと、いろいろありましたが……
ちゃんと押したところが反応したときは感動しました!
今のところは音が出る、FXの並び替えとON/OFFができる、保管ができる,呼び出しができるまでできました。
現在は完成版ファームウェアへの正式統合を進めています。
これからNAMファイルの切替、各エフェクトのパラメータ編集、MIDI対応、ライブ用の操作画面などを追加していく予定です。
長時間動作や負荷試験など、実際にライブで安心して使うための検証も残っています。
そもそも、素人のおっさんがメーカー製品を超えるものを作ろうという発想自体、かなり無茶なんですけどねwww
でも、自分が本当に欲しいものを、自分の好きな仕様で作る。
これこそ自作の醍醐味なんだと思います。
果たして、人間とAIの共同開発でどこまでやれるのか!?
目指せ! 某社の新製品超え!!
まだまだ先は長そうですが、ぼちぼち頑張ります。
つづく!
コメント
こちらのブログに触発され、SOLDANO GTOやKRANKのディストーションを作ったり、
マイコンに手を出してMIDI コントローラーを作ったり…
現在はTEENSYで何かやろうとしているところです。
私のやりたいことは、なぜか「まる様がすでにやっていた」ということが多く、
勉強させていただいています。
…と思っておたら自作マルチですか…。またまた、はるか先に行かれてしまいました。
当該プロジェクトの進捗を楽しみにしております。