UVI Falconで Alchemy や D-Pro の sfz をインポートする方法


falcon

(2015/11/09 : 内容アップデート)

UVI Falcon で Camel Audio Alchemy や Cakewalk D-Pro (Rapture Pro含む)のファクトリープリセット内に入っているsfzを読むとちょっとバグるので、その対処法について解説します。
解説はいいから結論だけ知りたいという方は一番下の「スクリプト配布」をご利用ください。

Falconでのsfzの読み込みについて

まず、sfzのFalconへのインポート方法を簡単に解説します。

基本操作はドラッグ&ドロップなのでとても簡単です。ただし注意点があります。wavやflacはレイヤー内のkeygroupとしてドロップされるのですが、じゃあsfzはレイヤーとしてドロップされるのかというとそんなことはなくて、新規プログラムとしてドロップすることになります。つまり中央ペインのEDITタブではなく、サイドペインのPARTSタブにドロップします。

falcon_sfz

Alchemyのsfzを読み込んだ場合のバグとその対処法

Alchemyのsfzを読み込むと、一見問題なさそうに見えるんですが、特定のkeygroupが1オクターブ高く発音される現象が起きることがあります。

これはFalcon側のバグなのかCamel Audio側の問題なのかわかりませんが、sfzの記述を修正することで対応できます。sfzをメモ帳などのエディタで開きます。例としてSamples\Factory\Keys\Piano-Steinway\Piano-Steinway.sfzを開きます。

<region>
sample=Piano-Steinway-E3.wav
lokey=c#3
hikey=e3
pitch_keycenter=e3

<region>
sample=Piano-Steinway-G3.wav
lokey=f3
hikey=g3
pitch_keycenter=g3

<region>
sample=Piano-Steinway-C4.wav
lokey=g#3
hikey=c4

<region>
sample=Piano-Steinway-E4.wav
lokey=c#4
hikey=e4
pitch_keycenter=e4

<region>
sample=Piano-Steinway-G4.wav
lokey=f4
hikey=g4
pitch_keycenter=g4

部分ですが、こんな感じになっています。この中で「sample=Piano-Steinway-C4.wav」の部分だけ一行少ないのがわかりますよね? Alchemyはpitch_keycenterが省略されている場合でもきちんと再生されるのですが、Falconではオクターブ上がってしまいます。なのでここにpitch_keycenter=c4を追加してあげます。すると正常に発音されるようになります。

これをすべてのsfzに適用すると、Alchemyのファクトリー内のsfzが全部読めるようになります。ファクトリー以外のライブラリは、持っているものをざっと確認した限りではこういう省略が行われていないようで問題なさそうです。

D-Proのsfzを読み込んだ場合のバグとその対処法

D-Proのsfzを読み込んだ場合、音が出ない箇所がたくさんあります。見た目上もあきらかにおかしいです。

falcon_sfz2

sfzはCakewalk社発案の規格なので、D-Proの記述が間違っているということは考えられません。これはFalcon側のバグだと思います。

対処法ですが、たとえばMultisamples\05 – Guitars\Fender Strat LH.sfz を見てみると

<region> sample=Fender Strat\LH\d#3 lh.flac key=d#4 hikey=e4 tune=-2
<region> sample=Fender Strat\LH\f3 lh.flac key=f4 tune=-12
<region> sample=Fender Strat\LH\f#3 lh.flac key=f#4 tune=-12
<region> sample=Fender Strat\LH\g3 lh.flac key=g4 hikey=g#4 tune=-11
<region> sample=Fender Strat\LH\a#3 lh.flac key=a#4 lokey=a4 hikey=e5 tune=-8

このようになっています。先ほどのAlchemyとだいぶ違うように見えますが、改行があるかないかで記述方法は同じです。
この中で、key、hikey、lokeyというキーワードがあります。これに注目してください。パターンとしては以下のものがあります。

keyのみ指定されている
keyとhikeyが指定されている
keyとlokeyが指定されている
keyとhikeyとlokeyが指定されている

これを以下のように書き換えます。

keyのみ
→ そのままでOK
keyとhikey
→ keyをpitch_keycenterに書き換え。lokey=を書き足し、=の右はkey(pitch_keycenter)と同じものにする。
keyとlokey
→ keyをpitch_keycenterに書き換え。hikey=を書き足し、=の右はkey(pitch_keycenter)と同じものにする。
keyとhikeyとlokey
→ keyをpitch_keycenterに書き換える。

これでFalconでもきちんと読み込めるようになります。

スクリプトを配布します

で、この修正を全部やるのは面倒臭いな、ということで、スクリプトを作りました。

■UVI Falconで、AlchemyやD-Proなどに付属しているsfzを読み込むためのスクリプト集
sfzutil120.zip
Windowsでのみ動作確認。原理上はMacでも動くはずです。

使い方は、上記ファイルを解凍後、readme_jp.txtに書いてあります。
ご使用は自己責任でお願いします。
不具合などあればtwitter (@tmkw1)までご連絡ください。


コメントを残す

メールアドレスが公開されることはありません。