C64 Patchworkシーケンサーの使い方と覚え書き
Patchworkと呼ばれるCommodore64用シーケンサーを使用してみて、付属のマニュアルだけではわかりにくかったと感じた部分を補足する形で、覚え書きとして残しておこうと思います。
Patchworkシーケンサーとは
PatchworkはCommodore64で動作するサウンドシーケンサープログラムです。SIDファイルの再生を部分的に録音し、インストゥルメント(楽器)として使用する事ができるサウンドシーケンサーです。4mat(Matt Simmonds)氏によって作成され、2018年2月にVersion1.0がリリースされています。
My new Commodore 64 sequencer Patchwork with liveplay options is out now. Download links in the trailer description. https://t.co/fh9kegxVzA #c64 #commodore64 #chiptune #chipmusic
— Matt Simmonds (@4mat_scenemusic) February 13, 2018
正確には(オーディオデータの)録音ではなく、サウンドログ(SIDレジスタデータ)をメモリに記録しているようなのですが、録音されたデータのように扱う事が出来るように設計されています。
画面構成
全ての機能が一画面に集約されているため、順番に説明していきます。
ファイル入出力
Patchworkソングのセーブ/ロード、及びSIDファイルのロードを行います。
サンプルマトリクス
SIDファイルから録音した音がグラフィカルに表示されます。キャラクタは波形を表していて、上からチャンネル1、2、3、フィルタとなります。
インストゥルメント
サンプルマトリクスに録音された音の、どの位置からどの位置までをインストゥルメント(楽器)として演奏させるのかを設定します。また、ループのON/OFF、再生方向、再生スピード、エフェクトの掛かり具合を設定する事ができます。
テンポ
パターンを再生する際のテンポを指定します。1は偶数ステップ、2は奇数ステップに対するスピードです。
パターンマトリクス
16ステップのパターンシーケンサーです。ステップ数はパターン毎に変更する事が可能です。
任意のステップ位置にインストゥルメントを配置します。配置したインストゥルメントの演奏に対して、チャンネル毎の発音ON/OFFやエフェクト、フィルタの設定をする事ができます。
ソングマトリクス
パターンを再生する順番、ループ回数を制御できます。また、チャンネルミュートの設定をする事ができます。
モード
Patchworkには4つのモードがあります。
曲を構成していくにあたり、それぞれのモードを頻繁に行き来する事になります。F1キーでモードが順番に切り替わります。(Shift+F1キーで逆順)
現在どのモードがアクティブかを認識するには、各モード文字のハイライトか、ファイル入出力部のステータス表示で判断できます。
全てのモードで使用できるキー
キー | 説明 |
F1 / F2 Shift+F1/F2 |
モードを変更(+Shiftで逆順) |
SPACE | 音声を停止 |
↑(UpArrow) | SIDファイルをロード |
@ / * | Patchworkソングをロード/セーブ |
I / O Shift+I / O |
テンポ1を変更(+Shiftでテンポ2を変更) |
←(LeftArrow) | 再生の早送り |
SIDモード [SID]
まず、↑キー(UpArrow)でSIDファイルをロードします。ロードされたらF3キーで最初から再生し、録音したいタイミングでF7キーを押すと、サンプルマトリクス上の現在の位置から記録されていきます。スペースキーで停止、F5キーで途中から再生、再生中に←キー(LeftArrow)で再生の早送り。
サンプルマトリクスの現在の位置(録音開始位置)はカーソルキー(上下キー、左右キー)で変更できます。(Shift+カーソルキーで高速移動、CTRL+カーソルキーでスキップ)
録音できるのはトータルで27秒までという制限があります。
SIDモードで使用できるキー
キー | 説明 |
↑(UpArrow) | SIDファイルをロード |
F3 | 最初から曲を再生 |
F5 | 途中から曲を再生 |
F7 | サンプル位置へSIDデータを記録 |
←(LeftArrow) | 再生の早送り |
+/ー | SIDファイルのサブチューンを選択 |
カーソル +Shift +CTRL |
サンプルの現在の位置を移動 移動時のキーリピートを有効(高速移動) 位置を16ずつスキップ |
: ; = / | チャンネルマスク(録音対象チャンネルの選択) |
サンプラーモード [INST]
サンプルマトリクスに録音したSIDデータをインストゥルメントに加工します。主にサンプルマトリクス上のどの位置からどの位置を楽器として演奏するかを設定します。
インストゥルメント番号を+キー、-キーで選択します。パラメータはWキーとSキーでフォーカス移動します。
開始、終了、ループ位置を設定するには、サンプルマトリクスの現在位置をカーソルキーでナビゲートし、パラメータのSTART, STOP, LOOPいずれかにフォーカスした状態で、Eキーでセットします。
他のパラメータについては、Dキー、Aキーで増減、切り替えができます。
インストゥルメントは最大で64個まで作成できます。
サンプラーモードで使用できるキー
キー | 説明 |
F3 | インストゥルメントの開始位置から再生 |
F5 | サンプルの現在の位置から再生 |
W / S | インストゥルメントパラメータのカーソルを移動 |
E | 開始/ループ/終了へサンプルの位置を設定 |
A / D | パラメータの値を変更 |
CTRL+X/C/V | インストゥルメントの切り取り/コピー/貼り付け |
+ / ー | インストゥルメント番号を選択 |
Shift+V | 現在のインストゥルメントのサンプルデータをサンプルマトリクスの現在の位置へ貼り付ける(記録されたSIDデータの複製) 貼り付ける際、チャンネルミュートの状態により、任意のチャンネルだけを貼り付けることもできる |
カーソル +Shift +CTRL |
サンプルの現在の位置を移動 移動時のキーリピートを有効(高速移動) 位置を16ずつスキップ |
: ; = / | チャンネルミュート及び、Shift+Vの貼り付けの際のチャンネル選択 |
パターンモード [PATT]
パターンシーケンスの入力と演奏にエフェクトを追加することができます。
入力するパターン番号を<キー、>キーで選択します。+キー、ーキーで配置するインストルゥメント番号を選択、カーソルキーでパターン内の配置したいステップに移動して、Eキーで配置、Qキーでクリアします。
配置後のインストゥルメントに対しては、Wキー、Sキーでパラメータを選択。右側が各チャンネル演奏のON/OFF(上からチャンネル1,2,3)、左側が上からエフェクト操作、フィルタチャンネル割り当て、フィルタタイプとなっています。
右側のパラメータに対する操作はDキー(Shift+Dで逆順)で切り替え、左側のパラメータに対してはAキー(Shift+Aで逆順)でそれぞれ切り替えることができます。
パターンモードで使用できるキー
キー | 説明 |
F3 | パターンを最初から再生 |
F5 | パターンの現在の位置から再生 |
F7 | ライブプレイモードへ |
カーソルキー +Shift |
パターンをナビゲート(+Shiftで高速移動) |
+ / - | インストゥルメントを選択 |
< / > | パターンを選択 |
E | インストゥルメントを配置 |
Q | 配置したインストゥルメントのクリア |
W / S | パラメータタイプを選択 |
A / Shift+A | パラメータ値を変更(左側) |
D / Shift+D | パラメータ値を変更(右側) |
CTRL+X/C/V | パターンのカット/コピー/ペースト |
R | パターン長の変更 |
Shift+R | メトロノームのON/OFF |
CTRL+R | シャッフルの切り替え(0~3) |
ソングモード [SONG]
パターンを演奏する順番を設定します。
カーソルキーでソング内の配置したい位置に移動して、パターン番号を<キー、>キーで選択し、Eキーで配置します。
配置後のパターンに対して、Dキー、Aキーでコマンドを設定することができます。コマンドはEN(曲の終了)、RS(曲のリスタート)、L2~LE(パターンのループ(回数))の中から選択できます。
Rキーで現在のチャンネルマスク状態に応じて、そのパターンのチャンネルミュートを設定する事ができます。
パターンは最大127ポジションまで入力可能です。
ソングモードで使用できるキー
キー | 説明 |
F3 | 最初から曲を再生 |
F5 | 現在位置から曲を再生 |
< / > | パターンの選択 |
カーソル +Shift |
ソングの位置をスクロール(+Shiftで高速移動) |
E | パターンを配置 |
A / D | コマンド設定(ストップ/リスタート/ループ) |
CTRL+X/V | パターンの削除/挿入 |
R | チャンネルマトリクスを設定 (現在のチャンネルマスクの状態をパターンのチャンネルミュートとして設定 |
覚え書き
使ってみてマニュアルだけではわかりにくかった部分についての覚え書き。
ファイルのロード/セーブについて
最初かなり戸惑ったので手順を記載します。
- ロード/セーブする為のキー(↑、@、*)を押下(どのモードでも良い)
- (見た目上は変化が無いが、ファイル名入力部にフォーカスされている)
- ファイル名を拡張子まで含めて入力
- エンターキーを押下
- ステータスがLOADING/SAVINGと表示される
- ステータスがREADYと表示される
ファイル名にはワイルドカード(*)が使用できます。
サンプルマトリクスで既に記録されている位置への録音について
基本的には上書きされますが、ミュートしているチャンネルに対しては何も行われず、既に記録されているデータがそのまま残ります。また、フィルタもひとつのチャンネルのように扱う事ができ、ミュートする事ができます。
インストゥルメントのPITCHMAT/SWEEPの値
エフェクトにオクターバー、ピッチシフトを選択した場合に、対象となるチャンネルをこのパラメータ値の下位3ビットのフラグで選択する事ができます。例えば、チャンネル1と3に対してエフェクトの対象としたい場合は、一桁目の値を5にします。
ノイズ波形の場合はオクターバー、ピッチシフトのエフェクトの影響を受けません。
パターンモードのフィルタチャンネル割り当てとフィルタタイプのコンボ表記
マニュアルには「コンボ」としか記載がありませんでした。
フィルタチャンネル割り当て
シンボル | 意味 |
0 | 割り当てなし |
1, 2, 3 | それぞれチャンネル1, 2, 3 |
チャンネル1と2 | |
全チャンネル | |
チャンネル1と3 | |
チャンネル2と3 |
フィルタタイプ
シンボル | 意味 |
L | ローパス |
B | バンドパス |
H | ハイパス |
3 | ローパス&バンドパス ? |
6 | バンドパス&ハイパス ? |
A | ローパス&バンドパス&ハイパス ? |
N | フィルタなし ? |
*フィルタタイプの組み合わせは正直合っているか自信がありません。
ADSRバグについて
サンプルをループさせたようなロングトーンのインストゥルメントのすぐ後にパーカッション的な音色を鳴らそうとした場合などに、ADSRバグ(SIDチップの仕様らしいです)の影響を受けます。アタックが1,2フレーム程度欠落(遅延?)してしまう為、パーカッシブな音色に聴こえなくなる可能性があります。対策としては"Hard-Restart"の前2フレーム程度に無音を作ることですが、適当な無音インストゥルメントをパーカッションの前に入れてしまう方が確実に感じました。
SIDファイルへのエクスポート
Patchworkに付属のPWEXPORTプログラムにより、PatchworkソングをSIDファイル(.sid)や実行形式のファイル(.prg)へエクスポートすることができます。
対話形式に答えていくことでエクスポートすることができます。
エクスポートしたSIDファイルはプロパティのSID model(6581/8580)がUnknownになるようなので、再生するプレイヤーによっては別途6581/8580かを指定してやる必要があるかもしれません。
使用時の環境、補足
WinVICE 3.1にて使用確認しています。
キーマップ設定をPositionalにしていますが、←キー(LeftArrow)のみF9キーにリマップして使用しています。(元々は半/全キーにマップされていているのですが、漢字入力が連動してしまうとVICEの動作が不安定になった為)
それと、ディスクイメージファイル(.d64)をアタッチして使用していたところ、Patchworkソングのセーブがエラーになり保存できませんでした。フォルダへのアタッチに変更したところ、エラーが出なくなり保存する事ができました。
Patchworkにはライブプレイモードがあるのですが、そちらに関しては未検証です。