x0xb0xのファームウェア魔改造日記2

わたくしめはx0xb0xに、オープンソースのファームウェア、MarOS1.5を自分で魔改造して入れ替えて使っています。

改造しすぎて自分でもわけわからなくなりそうなので、備忘録的にここに書いておこうと思います。

あと、MarOSは基本的にSokkOSの改造なので、SokkOSの使い方(パターンエディットの仕方)などはそちらのマニュアルを参照してください。


まず改造元ですが、作ったやつが最新バージョンのソースをくれないので、ソース公開されている最新のMarOS1.5.0をベースに改造しています。


・MIDI PLAY機能が正常に動作しないバグを修正、これによってやっと、DAWやOctatrack、DigitaktなどからMIDIを流して、x0xb0xで音を出すことが可能に。


・MIDI SYNCモードでClassicモード時、プログラムチェンジに対応。プレイ中に同期しているAnalog Rytm、Octatrackでパターンを変更すると追随して登録されているパターンに変更になります。EDITモードでは効かないので注意。


・MIDI PLAYモードで、ランダマイザーモードを有効に←これはすごい

・EDITモードからMIDI PLAYモードに変更したときに、プレイ中のパターンを変更しないようにした。←地味にすごい

これによって、登録されているパターンをAnalog Rytmなどから同期してスタートし、ランダマイザーモードでプレイ中に音を変更し、EDITモードに切り替え(これは普通)、EDITモードでしかできない手入力によるプレイ中の音の変更ができ、その後MIDI PLAYモードに戻し(このとき音が変わらない、すごい)、プログラムチェンジを受けて次のパターンに切り替え、といったプレイができるのです。

なお、パターンチェンジ時にBANKチェンジには対応していません。きっと対応しない方がなにかと都合がいいと判断しました。


・MIDI PLAYでC1がそのまま出なかった(オクターブが修正されていた)のを、プレイできるように修正。C#1から上は普通にでていました。B0以下のノートはオクターブ上に修正されます。


都合によりカットした機能もあります。

・MIDI SYNCのAdvanced Mode(C2〜C3でパターンをならすやつとLatch機能)、多分使わないのでばっさりカット

・DIN SYNC機能をばっさりカット

・SYNC OUTで音は鳴りますが、クロックを送りません。クロックマスターになれません。

・これは元からですが、TRACKモード、COMPUTER CONTROLモードは効きません。

・EDITモードのRun-WriteモードでC#〜A#の黒鍵に割り当てられていた機能を削除。正常に入力できます。


次はランダマイザーです。

ランダマイザーモードには、CHAINキーを押すと切り替えることができます。

・NEXTキーをShiftキー扱いに。具体的には、

・・MIDI SYNCモードで、パターンチェーン作る場合のキーを、CHAINキーからNEXT押しながらCHAINキー

・・ランダマイザーモードで、NEXTキーに割り当てられていた、ステップ数のランダム化機能は、NEXTキーを押しながらPREVIOUSキー

・・その他は後述


・DONEボタン押下時、またはパターン保存時に、ランダマイザーモードを解除しない。

・(用途はわからないけど)変更しすぎるとLEDの表示が止まるようにプログラムされているのと、後述する確率や音階数の変更を知らせるLEDを消す場合にDONEボタンを1回押すと元に戻る。


・PREVIOUSキー・・・任意の箇所でループ(変更なし)

・NEXT+PREVOUSキー・・・(前述の通り)ステップ数のランダムに変更


・C、C#、D、D#、Eキー・・・それぞれ、クロマチック、メジャーペンタトニック(いわゆるヨナ抜き)、フリジアン、マイナーペンタトニック、アラビックメジャースケールで全ランダマイズ。また、最後に選択したスケールを記憶し、後述の1音ランダマイズ機能などで参照される

・・組み合わせは自分の好きなスケールに気分で変えます

・・そのうちユーザセッティングで変えられるようにしようかと思ってます

・NEXT+C、C#、D、D#、Eキー・・・前述のスケールを、ランダマイズすることなく設定。電源投入時、およびパターンにはスケールは記録されていませんので、後述の1音ランダマイズ機能を使うときにクロマチックになってしまうため、主に曲の開始時に使用します。


・Fキー・・・UNDO(変更なし)。ちなみに、PREVIOUSキーでループをしたあとにFキーで戻ると便利です。


・F#キー・・・ランダムに1音のノートをランダマイズ。その際、スケールに沿った音階が抽出される。

・Gキー・・・ランダムに1音のノートのオクターブをランダマイズ。(変更なし)

・G#キー・・・ランダムに1音の休符を、スケールに沿ったランダムなノートに変更。すでに16ステップいっぱいのときは、確率で1音ランダマイズか、最低音のオクターブを上げる(この辺、後に変更するかも)。

・Aキー・・・最高音のオクターブを下げる(変更なし)

・A#キー・・・最低音のオクターブをあげる(変更なし)

・Bキー・・・全ノートのオクターブを(可能であれば)下げる(変更なし)

・C’キー・・・全ノートのオクターブを(可能であれば)上げる(変更なし)

・DOWNキー・・・全ノートを1半音下げる(変更なし)

・UPキー・・・全ノートを1半音上げる(変更なし)

・REST・・・パターンをキープしながら、全ノートをランダムに入れ替え(変更なし)

・ACCENT・・・パターンのアクセントのみを全ランダマイズ(変更なし)

・SLIDE・・・パターンのスライドのみを全ランダマイズ(変更なし)


F#、G#、Gキーで1音ずつ音が変わっていき、A、A#キーで全体的に音をちょっとずつ上げていったり下げていったり、またはGキー連打で広がったオクターブをA、A#キーでなだらかにしたり、という緩やかな変更ができ、REST、ACCENT、SLIDEでパターンの雰囲気を保ったままガラッと変えたり、全ランダマイズで、他のパートとスケールを合わせつつ全然違うパターンを生み出したりできるわけです。


それに加えて最近追加した機能。

・NEXT+Aキー・・・音階数(ちょっと言葉がわかりません)を制限する設定を変更。キーを押すと、BANKのLEDが点滅します。なにも点滅がしない(初期状態)が0、キーを押すごとに12まで点滅して、次に0に戻ります。0が完全ランダム、12が12音からのランダムで0と同じ機能です。これは、例えば設定を1にして全ランダムをすると、スケールに沿って1音が選ばれると、その音とオクターブ違いの音しか選択されません。つまり音階数を1にするとオクターブの違う(例えば)Cのみがランダムで選ばれます。2にするとオクターブの違う(例えば)FとAのみがランダムで選ばれます。曲の雰囲気を調整したいときに使用します。


・NEXT+Bキー・・・音数を制限する設定を変更。キーを押すと、BANKのLEDが点滅します。なにも点滅がしない(初期状態)が0、キーを押すごとに16まで点滅して、次に0に戻ります。0が完全ランダム、16が音(休符がない)状態になります。全ランダムの時にのみ有効です。曲の雰囲気を調整したいときに使用します。注意点として、音数であって、ステップ数ではないです。音によっては、3、4ステップを使用する16分音符よりも長い音がランダムで抽出されます。ですから、16に設定しても16音になるわけではないです。


・NEXT+C'キー・・・スケールに沿っていない音を抽出する確率を設定。キーを押すと、BANKのLEDが点滅します。なにも点滅がしない(初期状態)が0、キーを押すごとに10まで点滅して、次に0に戻ります。10%ずつの設定になります。0は0%でスケールに完全に沿った状態、10が100%でクロマチックスケールのランダマイズと同じ機能です。これは、ACIDはスケールを外してナンボというアドバイスを受けて作った機能です。そうは言っても、クロマチックのみだと他のベースやPADなどの音と合わなくなる危険性があります。メロディを出すのがACID音だけなら何も問題ないですが。不協和音を僕は恐れます。僕は嫌だ。というわけで確率に設定してみました。自分としては10%でおもしろいフレーズが出てくるなあって思ってます。


なお、なぜか分かりませんが、同期プレイ中はMIDI SYNC、非同期プレイ中はEDITモードのみでBANK LEDが点滅します。直し方がわかったら直します。


この3つについては思いつきで追加した機能なので、今後いろいろ試してみたいと思います。

DIN SYNC機能を捨てたおかげで、プログラムメモリに結構余裕ができました。

こんな機能が欲しいというアイデアを募集しています。


自分としては、全てCスケールでいいのかというところがひっかかっていたり・・・




Murasame

I'm a musician, a music producer. Industrial Techno, Dark Techno, Acid Techno.

0コメント

  • 1000 / 1000