マルチティンバー音源化
モジュラーシンセって音が出るモジュールが増えるとデチューンさせて一斉にぶわぁ~っと音を出すよりパート分けたりモジュレーションソースとして使いたい、という思考になるんですね。
ベースとアルペジオとバスドラの音を作って一緒に鳴らしたいというマルチティンバー音源的な欲…
鳴らしたい方向性の音や好きなモジュールを好きなケースに詰め込んでひとつのマルチティンバー音源楽器として組んでいく。でっかくて重たいガジェットシンセ()を作る感じ。そういう面白さも秘めているんだな。
さておき、とりあえず自作の16ステップなシーケンサーアプリのSYNC OUTを1PPQ設定にしてそれをトリガーにバスドラムに仕立てた音を一緒に出してみたりして遊んでたものの、追加でトリガー出したり演奏出来るシーケンサーが欲しいな!となりました。
クロックソースをディバイドするのと、ユークリディアンなトリガー出すの欲しいけど、リズム系のモジュールがやっぱり欲しくなってくるよなぁ…
— 𓊬 ᙢᗩᖇḰ 𓊬 (@marksard) May 11, 2024
もうVCVで遊ぶでええやん?となる(苦笑 pic.twitter.com/OEUVASOi2e
クロックディバイダーから作るかなぁ、などと考えつつフリーなモジュラーシンセアプリのVCVで遊んでたらひらめきました。
- ユークリッドリズムのトリガー出力機能
- サンプル&ホールド機能
- クオンタイザー機能
くらいならひとつのアプリとしてまとめられそうだなと。
ユークリッドリズムを超絶ざっくり解説すると、リズムのタイミングに一定のパターンを用いたらなんか大体の民族音楽に当てはまったよ、そのパターンの作りかたがユークリッドの互除法に似てるからそう名付けたよ、という(因果がどちらかは斜め読みでは読み取れませんでした)
http://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf
わかりやすく解説されてるこの方のブログが参考になりました。
https://fantasysound.net/2019/07/28/euclidean-rhythm/
ついでに…サンプル&ホールドはソースとなる電圧をトリガーON~ON間一定に保持するもので、ノイズをソースにするとトリガーするたびに違う電圧値(いわゆるランダム)になる。LFO波形をソースに一定のタイミングでトリガーしていくと、波形の周波数がトリガー周期より遅いとビットが荒くなったように階段状になって、逆に周波数のが速いと一定周期で同じ音が取れフレーズに聞こえる周期が出てきます。
このホールドした電圧を音階として調律するのが(ピッチ)クオンタイザー。入力した電圧を指定の音階に従った値に補正して出力、VCOなんかに入れるとその音階で鳴る。
まとめると連続値の波形をサンプリングして離散値に変換後V/OCT式の音階に値を補正するという感じ。雑に言うなら交流→V/OCT変換器的な感じ?
ユークリッドリズムシーケンサーは作ってみたかったものの一つだし、サンプル&ホールドとクオンタイザーもあるとやれることもグッと広まるし。
内部での機能的な繋がりは
- 内部 or 外部クロックから、ユークリッドリズムのトリガーを出力
- 内部LFO or 外部CVをソースに、内部 or 外部クロック or ユークリッドリズムトリガーでサンプル&ホールドする
- サンプル&ホールドした値はクオンタイザーに通してCV(V/OCT)を出力
という感じ。
ユークリッドリズムのトリガー出力だけ使うもよし、クオンタイザー通したCVと組み合わせて鳴らすもよし、CVのソースにしてもよしと一粒で何個も美味しいみたいな奴になるなと。
仕様
- ユークリッドリズムシーケンサー部2系統
- 内部・外部クロックで動作
- ステップ数1~16
- トリガー数 1~16
- トリガーデュレーション(クロック幅に対して5〜100%)
- S&H部
- ソース
- 内部LFO(square, up-saw, down-saw, triangle, noise)
- 外部CV入力(0~5V)
- ホールドトリガー
- 設定中のクロック
- ユークリッドシーケンサーのトリガー
- ソース
- クオンタイザー部
- スケール設定 (メジャーとかマイナーとかブルースとか)
- S&Hからの入力に対するオクターブ変化範囲制限(内蔵LFO時のみ、外部CV時は外部アッテネータで制御)
- インターフェース
- IN
- S&H Source
- Clock
- OUT
- Euclid Trigger x2
- V/OCT
- IN
1から作らなきゃだったのはユークリッドリズムのアルゴリズムくらい。内部クロック生成やクオンタイザーのスケール設定はステップシーケンサーアプリから、内部LFOはVCOアプリからの流用。サンプル&ホールドはトリガータイミングのときだけ出力を変える条件文だけなので機能として作るまでもないという感じ。
ソースはgithubに置いています。
Euclidean.hppがユークリッドリズム生成のコア。ステップ数と打点数(それぞれ上限16)を設定して生成します。計算時は演算簡略、メモリ節約のため最大ステップ数16から2バイト(16ビット)におさめて1打点1ビットにしてます。32ビット変数に変えればひょっとしたら32ステップまでいけるかもしれない。参考になればいいですが。
https://github.com/marksard/EurorackPlayground/tree/main/app/EuclideanSeq
ハードウェア的に上に書いた仕様だとIN x2、OUT x3必要で、自設計のプラットフォームモジュールはIN x2、OUT x2が上限で足りないので余っている基板を改造して一台作成。
マイアプリ用汎用モジュラー、入出力もう一個欲しいし出力ももう一声な感じなので次の設計やる前にアプリの検討も兼ねて改造版を作成
— 𓊬 ᙢᗩᖇḰ 𓊬 (@marksard) May 14, 2024
midi in◯して普通の入力に変えてopampを12V単電源から±12Vに変更、出力のbi/uni切り替えをアプリで出来るようにセルフハック
最後の写真の左上から110, 110改, 100 pic.twitter.com/MB6BUvCjmu
ちな改造箇所
バッファ部+12V単電源→±12V両電源(USBのみでの駆動を視野に入れて5V/12V切り替え式にしたけど結局ほとんど使わなかった)
1次フィルタ→2次フィルタ(promicroシンセ試作時は2次だったけど1次でいいやと変更、でもやっぱり最低2次必要というのがわかった)
アプリからのバイポーラ/ユニポーラ切り替え対応機能
MIDI INをGPIOに制限抵抗と過電圧保護つけた入出力兼用回路に変更(MIDI IN/OUTを使ってなかったので…)
という感じ。
動画とか
トリガーの出具合と入力したCVに対するサンプルホールド後の出力がわかります
ユークリッドリズムのアプリ
— 𓊬 ᙢᗩᖇḰ 𓊬 (@marksard) May 15, 2024
ロジック把握した感じCだとめんどくさそうだから最初chatGPTにやらせてみてたんだけど、いい感じに書いてもらうプロンプトを練る時間考えて自分で書いた💦
こう言うトリガーあるといくらでも聴いてられるねぇ#自作モジュラーシンセ pic.twitter.com/hjADkdrJw7
結構いい感じの詰め詰めユーティリティアプリが出来た!
— 𓊬 ᙢᗩᖇḰ 𓊬 (@marksard) May 15, 2024
・ユークリッドリズム出力(デュレーション調整可能)
・サンプル&ホールド(内部ランダムかCV入力から選択、トリガーはクロック入力かユークリッドから選択)
・S&Hはクオンタイザー通して出力(スケール7種から選択)#自作モジュラーシンセ pic.twitter.com/M6591VsJvZ
ユークリッドリズムの視覚表現をOLEDに表示。上のユークリッドリズムの解説にもこの表現がありますね。
hagiwoさん作のユークリッドリズムシーケンサーでこのシーケンス方式を知ったので、真似してみたかったんですよね。
https://note.com/solder_state/n/n433b32ea6dbc
ハギヲさん作ユークリッドリズムシーケンサーのクルクルする画面のやつ真似したい!って思って作りました
— 𓊬 ᙢᗩᖇḰ 𓊬 (@marksard) May 16, 2024
視覚的にわかりやすくなるのでとても良き#自作モジュラーシンセ pic.twitter.com/TnbXEzh8VU
オシロ機能を載せてみた。サンプルホールドのソース波形の電圧値の最低、最高値を確認しながらV/OCTのオクターブ範囲を調整するためと、入力が0~5Vなのでオフセット値を確認するため。
簡易オシロスコープを作り直して載せやすい形にした
— 𓊬 ᙢᗩᖇḰ 𓊬 (@marksard) May 27, 2024
他の処理と併せてポーリングで溜め込むタイプなのでアバウトだけど他の機能と併用出来る
内部で作ったLFOやS&Hの波形(12bit数値)も流し込めるからアプリ開発時のデータ確認とかにも使えるかも? pic.twitter.com/OcPtgasjBN
アンビエントしてみた。 16ステップシーケンサーと組み合わせたり、VCLFOと組み合わせてステップを速くしたり遅くしたりと遊びの幅が広がりますよね。
ドローンというかアンビエントというか?
— 𓊬 ᙢᗩᖇḰ 𓊬 (@marksard) May 31, 2024
モジュールのLEDに黄色と緑をふやして楽しい#自作モジュラーシンセ pic.twitter.com/vWPcL0T51F
おまけ(ケース)
今年の春先にdotRed Audio DesignsのWORKFRAME84-Cのケースを買ったんですが、明らか足りないので先日ArturiaのRackbrute 6Uを買い増ししました。
この子をこの場所に置くためにデスクまわりを模様替えして奥に棚を置いたりモニタースタンドを右にオフセットしたりしました。
RackBrute 3Uも買って組み合わせたいなぁ…