VSTi rgc:audio sfz(SoundFont Player)
SoundFontをサンプラーのTX16Wxでいじっていて、再生だけのプレーヤーも欲しくなり漁っていたら、意外と存在しないことに気づく。GM音源のsf2を扱えるようなプレーヤーがない、ない、ない。あっても大抵古くて不安定だったり、音がおかしくなったり、マルチティンバーでなかったり。結局Cakewalkと一番親和性の高いsfzに落ち着く。このsfzはCakewalk公式からダウンロードできなくなっていたし、VST2で32bitの仕様なので現在のCakewalkでは動かないものと思っていた。そしたら一番安定して動くSoundFontプレーヤーだったというオチ。これの上位版のsfz+というものもあるのだが、エディット機能があるだけで、そういうことはTX16Wxを使うので、より簡便なsfzがよい。なんか15年ぐらい遅れているような気がする・・・
数値が大きいほど高音質となっている。高音質になるほどCPU負荷が増す。
Lは、LAYERS。レイヤーされていないパッチであればVと変わらないが、レイヤーされていると、その分数が増える。純粋に鳴らしているサンプル数ということ。CPU負荷はLで見るとよいと思う。今どきのPCでは、こんな細かいことは気にしなくていいが。
直接読み込める音声ファイルフォーマットは、wav、ogg。
扱えるサンプルレートは、22k、32k、44.1k、48k、88.2k、96k、192k、384k。
Cakewalkのオートメーションから見えるパラメータは問題なく使えそうだ。それ以外のMIDIコントロールは、そもそも何が対応しているのか不明のため、うまく扱えなかった。
それでもPatch名は見えなくてもGMレベル1の範囲は選択できる。 問題はドラムやGMレベル1以外の音色を使おうとすると、いろいろ見えなくて不自由すること。 そこで下のインスペクタの下の方にあるPatch Browserをクリックする。
するとウィンドウが開く。ここではGS音源準拠のSoundFontを使っているので、それらしき「Roland GS」を選択すると、音色名を見ながらPatchを選択できるようになる。 困った点としてはパッチブラウザを閉じてしまうと、今現在何を選択しているか分からないということ。トラック名に書いておくしかなさそうだ。
謎だったのはドラムセットの選択方法で、SoundFontのつくり方から来ていると思うのだが、パッチブラウザで選べる「Roland GS Drumsets」ではだめで、なぜか「Yamaha XG Drum Kits」で選択できるようになった。 SoundFontの中身をチェックしないと何が起きているか分からない。そもそもこのパッチブラウザの定義ファイルが、どこにあるのかも謎だった。 まぁ、それでもマルチティンバー音源として扱うことはできた。

インプレッション
ちゃんとオートメーションできる
実際使うとなるとオートメーションは重要。よく使うExpression、Bend、Panなどは問題なくできた。あと使わないけどReverbとChorusも調整可能。なんなら ADSRとかCutoffもできそうなので、シンセ的な音を扱いたいときには便利かもしれない。使い勝手が良い
右クリックで次、左クリックで前とか、一覧が出たりとか、ドラッグ&ドロップとか、簡素なインターフェイスに似合わず、ストレスなく作業ができる。比較的安定
他のSoundFontプレーヤーと比較すると、最も安定して再生できた。それでもたまに音が出なかったりするときもあるけど、大抵はプラグイン再起動ぐらいで正常に戻る。とりあえず10MB以内の小ぶりのSoundFontを扱っている分にはストレスフリー。ダウンロードとインストール
入手先は検索するといくつか、ダウンロードできるサイトが見つかると思う。 中身はVST2のdllなので、Cakewalkの場合は、Cakewalkフォルダ内のVstPluginsフォルダの中にdllを入れるだけで完了。使い方
インストゥルメントVSTとしてDAWに読み込んで、FILEから使いたいSoundFontを選択して読み込む。Channel、Bank、Programでパッチを選択して使用する。マルチティンバーなので、他の複数のMIDIトラックから扱うことも可能。最大16チャンネル。各要素の概要
選択項目がいくつかあるが、意味不明だったので調べた内容を書いておく。MODE
MODE | CPU負荷 | RAM容量 | 備考 |
SF32 | 小 | 大 | ファイル全体をメモリにロードし、32bitに変換。ファイルの約2.5倍のメモリ量が必要。 |
SF16 | 大 | 大 | ファイル全体をメモリにロードし、16bitで使用。リアルタイムに変換するのでCPU負荷が上がる。 |
PR32 | 小 | 小 | プリセットに必要なサンプルのみメモリにロードし、32bitに変換。再生中にプログラムを変更すると、クリックが発生する可能性あり。 |
PR16 | 大 | 小 | プリセットに必要なサンプルのみメモリにロードし、16bitで使用。リアルタイムに変換するのでCPU負荷が上がる。メモリをあまり消費しない。 |
DFD | 大 | 微小 | サンプルをメモリにロードせずに、ディスクから直接再生。メモリを最も消費しない。ロード時間も短い。 |
QUALITY
draft(標準)08、12、16、24、36、48、60、72数値が大きいほど高音質となっている。高音質になるほどCPU負荷が増す。
POLY
同時発音数の上限を設定できる。1~256までステップで選択できる。EFFECTS
sfzにはリバーブとコーラスが内蔵されているので、それのON/OFFが可能。すべてのチャンネルに適用されるようだ。レベルなどはMIDIのCCから行う。V L
Vは、VOICES。発音しているボイス数をカウントしてくれる。Lは、LAYERS。レイヤーされていないパッチであればVと変わらないが、レイヤーされていると、その分数が増える。純粋に鳴らしているサンプル数ということ。CPU負荷はLで見るとよいと思う。今どきのPCでは、こんな細かいことは気にしなくていいが。
読込ファイルについて
SoundFontは、sf2だけでなく、sfzも扱える。sfzは、定義が書かれたテキスト(拡張子sfz)と音声ファイルで構成されている。直接読み込める音声ファイルフォーマットは、wav、ogg。
扱えるサンプルレートは、22k、32k、44.1k、48k、88.2k、96k、192k、384k。
MIDIコントロール
オートメーションもしくはCCなどで利用できるかどうかチェックしてみた。下はCakewalkのオートメーションから見えるCC。
Pitch Bend
デフォルトだと±2なので全音は可能。これ以上の可変させたい場合はRPNで設定を変更すると思うのだが失敗。そういう仕様的なことが書かれたドキュメントがないので、そもそも出来るかどうかがわからない。Expression (CC11)
これは問題なく機能。Pan (CC10)
これも問題ない。Cakewalkのオートメーションから見えるパラメータは問題なく使えそうだ。それ以外のMIDIコントロールは、そもそも何が対応しているのか不明のため、うまく扱えなかった。
マルチティンバーとして使ってみる
別の複数のMIDIトラックから、問題なく音を鳴らせるかチェックしてみた。まず2個sfzを起動しているとノイズが出てしまう。これは昔から有名な現象らしい。対策としては起動したい数だけdllを複製して使うようだ。 個人的には、そこまで使わないので、とりあえず、下のようにsfzを1個とMIDIトラックを6個作って、sfzを鳴らしてみた。
CakewalkではPatch Browserを使うといいかも
MIDIトラックからsfzをセットすると、Channelは1~16:sfzはあるが、Bankは「0-bank 0」しか見えない。さらにPatchは「---」となってしまう。 Channelは重要なので、しっかりセットしておく。
それでもPatch名は見えなくてもGMレベル1の範囲は選択できる。 問題はドラムやGMレベル1以外の音色を使おうとすると、いろいろ見えなくて不自由すること。 そこで下のインスペクタの下の方にあるPatch Browserをクリックする。

するとウィンドウが開く。ここではGS音源準拠のSoundFontを使っているので、それらしき「Roland GS」を選択すると、音色名を見ながらPatchを選択できるようになる。 困った点としてはパッチブラウザを閉じてしまうと、今現在何を選択しているか分からないということ。トラック名に書いておくしかなさそうだ。

謎だったのはドラムセットの選択方法で、SoundFontのつくり方から来ていると思うのだが、パッチブラウザで選べる「Roland GS Drumsets」ではだめで、なぜか「Yamaha XG Drum Kits」で選択できるようになった。 SoundFontの中身をチェックしないと何が起きているか分からない。そもそもこのパッチブラウザの定義ファイルが、どこにあるのかも謎だった。 まぁ、それでもマルチティンバー音源として扱うことはできた。