さまざまなSoundFont形式
Polyphoneは、次のSoundFont形式に対応しています。
Sf2形式のSoundFont
Sf2形式のSoundFontは、Polyphoneで編集する主なファイルです。 各sf2ファイルには1つ以上の音楽用バーチャルインストゥルメントが含まれており、それらはオーディオサンプルと多数のパラメーターで構成されています。 パラメーターは、サンプルを鍵盤全体でどのように再生するかを定義し、あらかじめ定義された信号(モジュレーター)によって変調されることもあります。 Sf2ファイルは次の3階層の構造で作られています。
これらの要素の定義と設定に加えて、sf2ファイルには一般情報(たとえば作成者、著作権、編集日時)も含まれています。
SoundFontは、MIDI信号で制御されるFluidSynth などのソフトウェアシンセサイザーで使われます。 また、sf2形式のSoundFontを使って、TiMidity 、WildMIDI 、QuickTimeでMIDIファイルを聴いたり、MuseScore で楽譜を聴いたりすることもできます。 サンプラー、サウンドカード、さらにはシンセサイザーなどのハードウェアも、.sf2形式に対応している場合があります。
SoundFontについての詳しい情報は、たとえばWikipedia で調べられます。 sf2の仕様書は、バージョン2.01がこちら、バージョン2.04がこちらから入手できます。
Sf3形式のSoundFont
MuseScore が開発したsf3形式は、あらゆる点でsf2形式と同じですが、サンプルを生データのままではなく、OGG形式(MP3形式に似ていますが、オープンソースです)で格納できる点が異なります。 その結果、sf3形式は同程度の品質でsf2形式のおよそ10分の1の大きさになります。 Polyphoneでは、SoundFontの一般情報で圧縮を有効にすると、サンプルエディターで各サンプルを圧縮できるようになります(圧縮品質も選べます)。
この形式でエクスポートしたSoundFontの圧縮済みサンプルは、後から編集することを想定していません。圧縮を繰り返すと音質が低下するためです。 この形式は最終成果物と考えるべきもので、SoundFontを利用するすべてのエンドユーザーにとって、次の点で非常に魅力的です。
- インターネットからのダウンロードが楽になる
- コンピューターの容量を節約できる
- MIDIとsf3の組み合わせは、サウンドトラック(ビデオゲーム、モバイルアプリなど)を再生するための軽量で強力なソリューションになる
同じ課題に応えるsf2pack 形式とは異なり、sf3形式は完全にオープンソースです。 ソースコードが公開されているため、将来にわたって使い続けられることが保証されます(sfArkやsfPackと同じ過ちは避けましょう!)。
Sfz形式のSoundFont
sfz形式の目的はsf2形式と同じで、サンプルを鍵盤上に配置・設定して楽器を作ることです。 主な違いは、sf2形式がすべてを含む1つのファイルであるのに対し、sfz形式は一連の.wavサンプルと一緒に提供されるテキストファイルであることです。 人が編集できるように設計されているため、複雑なエディターがなくてもファイルを編集できることが主な利点でした。 とはいえ、大きなインストゥルメントでは、やはりエディターを使うことを強くおすすめします。パラメーターの量にすぐ嫌気がさしてしまうからです。 また、sfz形式はsf2形式ほど厳密に定義されていません。sfzインストゥルメントの編集方法や再生方法に違いが生じることがあります。その一方で、sfzインストゥルメントの機能はsf2規格に比べて拡張されています。
sfzインポートの制限
- テーブルに対応する項目があるオペコードだけがインポートされます。
- sf2ファイルではピッチとフィルターに適用されるエンベロープが共通(モジュレーションエンベロープ)なので、ピッチとフィルターで異なるエンベロープをインポートすることはできません(オペコード
fileg_*とpitcheg_*)。 - sf2ファイルではボリュームとフィルターに適用されるLFOが共通(モジュレーションLFO)なので、ボリュームとフィルターで異なるLFOをインポートすることはできません(オペコード
amplfo_*とfillfo_*)。 - インポートできるフィルターは、2次のローパスフィルター(
fil_type=lpf_2p)だけです。 - 正しくインポートするには、オペコード
groupとoff_byが、同じグループ内で同じ値になっている必要があります。
警告:オペコード width と position は正しく解釈されない場合があります。
sfzエクスポートの制限
- モジュレーターは現在エクスポートされません。
- sfz形式(バージョン1)ではピッチの変調が1つしか認められていないため、ビブラートLFO → ピッチ (セント) と モジュレーションLFO → ピッチ (セント) の2つのパラメーターを同時にエクスポートすることはできません。
- 0-1のループはエクスポートできますが、ほとんどのsfzプレーヤーでは無視されます。
- 24ビットのサンプルには対応していないシンセサイザーもあります。各シンセサイザーの仕様書を参照してください。
全般
sfz / sf2の変換処理における音量レベル(dB)の対応は、Sforzandoで検証しています。 ただし、多少の違いが残る場合があります。
また、キーに応じたパラメーターの変化(キー → ボリュームエンベロープホールド / ディケイ と キー → モジュレーションエンベロープホールド / ディケイ)には、完全に対応するものがありません。 sf2形式はキーに応じたディケイとホールドの時間を指数関数で定義しますが、sfz形式は線形関数を使います。
SfArkアーカイブ
SfArkアーカイブは、sf3形式と同じく圧縮形式です。 そのため、音質はわずかに低下します(ただし、多くの場合は聞き取れない程度です)。 この形式は廃れつつあるため、PolyphoneではsfArkアーカイブのインポートだけができます(エクスポートはできません)。
GrandOrgueの構成ファイル
GrandOrgueは、パイプオルガンなどの楽器をエミュレートすることを主な目的としたプログラムです。オルガンは、それぞれ1本のパイプの音を収めた一連のwavファイルと、すべてのwavファイルをもとにオルガンを作るために必要なパラメーターをすべて含む、拡張子「.organ」のファイルで定義されます。基本的に、すべてのサンプルは特定のキーに割り当てられ、ストップごとにまとめられており、オルガンの演奏中にストップを有効または無効にできます。Polyphoneはこの割り当てをもとにSoundFontを作成できますが、SoundFontをGrandOrgue形式に変換することはできません。
インポートの制限
トランスポジションには現在対応していません。
Polyphoneは無料ですが、ウェブサイトと開発には費用がかかります。少額の寄付でも大きな助けになります。
寄付する戻る