SoundFontの取り扱い01 – SoundFontの概要と前提知識について

はじめに

複数回にわたってSoundFontファイル(.sf2ファイル)を読み込んでシンセサイザーなどに使えるようにパラメーターを組み立てる方法を説明しています。
ここではSoundFontの概要と仕様書・参考資料について説明します。

各説明のリンクはこちらにまとめております → SoundFontの読み込みと組み立て

SoundFontとは

SoundFontとはE-MU Systems社のウェーブテーブル音源チップ EMU8000シリーズ用に開発された規格です。
音色ファイル(SoundFontファイル)をEMU8000シリーズに読み込ませることで、サンプラーのように音色を自由に追加・変更できる規格です。

SoundFont規格は内容が公開されており、さまざまなソフトウェアシンセサイザー(音源)やサンプラーで利用できるようになっています。

EMU8000シリーズは1990年代のCreative社製サウンドカード Sound Blasterシリーズに搭載されていました。
コンピューターの性能が貧弱でmp3やwav、ソフトウェア音源(MIDI音源)を十分に扱えなかった時代に、Sound Blasterだけで外部MIDI音源なしにいい音が扱え、さらにSoundFontで好みに合わせて自由に音色を追加・変更できるという画期的な製品でした。

しかし、Sound Blasterシリーズはゲームでの利用を想定していたためDTMなどのMIDI音源としてはあまり普及せず、現在(2018年6月頃)のSound BlasterシリーズにはEMU8000シリーズを含めMIDI音源機能は搭載されなくなっているようです。

対象としているEMU8000シリーズ自体はなくなりましたが、現在でも「規格内容が公開されている」「過去に作られたSoundFontファイルがそのまま使える」「ソフトウェア音源の性能が向上しDTMで使いやすくなった」などの点から、利用されている規格になります。

SoundFontを取り扱うための前提知識

SoundFontの規格ではウェーブテーブル音源やサンプラー、シンセサイザーなどのデジタル楽器・音源の知識が必要となります。
MIDIに関する簡単な知識(Note On/Off、ベロシティ、Control Change、ピッチベンド程度)やサンプルループや音量・フィルタ・エンベロープ(ADSR)・LFOなど音色を作成するための用語や仕組みについてはご理解していただいている前提となります。
もっと見る

SoundFontの取り扱い00 – SoundFontを読み込むサンプルコード

SoundFontを読み込むサンプルコード

SoundFontを読み込みのサンプルコードはこちらになります。

  サンプルファイルはこちらになります。 → riffsample_20231210
  ※Soundfontファイル読込サンプル以外にもWavファイルなども同梱されています。

SoundFontの読み込みサンプルでは下記を内容が実行されます。

  1. 実行ファイルと同じフォルダ内にある「test.sf2」を読み込んで内容を表示
  2. 「test.sf2」読み込み後、指定したプリセットを組み立て、プリセット内のすべてのボイスのパラメータ情報を表示
  3. MIDIノートNoとベロシティを指定すると、発音すべきボイスのIDを表示

SoundFontファイル「test.sf2」は読み込みたいSoundFontファイルのファイル名を変更してご用意ください。
このファイルがない場合、エラーが発生します。

使用方法などはこちらのリンクはこちらにまとめております → SoundFontの読み込みと組み立て
もっと見る

VST3プラグイン開発00 – VSTとは?

VSTとは?

VSTとは音楽制作ソフトウェア上で動かすエフェクターやデジタル楽器などのソフトウェアの規格です。
1996年にStenberg(音楽制作ソフトウェア Cubaseを開発した会社)がこの規格を発表し、多くの音楽制作ソフトウェアに採用されました。

このソフトウェア規格に基づいて作成されたプログラムはVSTプラグインやVSTiプラグインといわれています。
VSTプラグインは主にエフェクターを、VSTiプラグインはデジタル楽器を示しますが、どちらも略してVSTプラグインやVSTと呼ばれることが多く、上記規格ともあわせて混同してしまうこともあります。

用語 概要
VST 音楽制作ソフトウェア上で動かすエフェクターやデジタル楽器などのソフトウェアの規格。
VSTプラグイン VSTの規格に基づいて作成されたプログラムで主にエフェクターとして動作するもの。(VSTeと呼ばれる場合もある。)
VSTiプラグイン VSTの規格に基づいて作成されたプログラムでデジタル楽器て動作するもの。

もっと見る

VSTプラグインのファイル・フォルダ構成

VSTプラグインのファイル・フォルダ構成

VSTプラグインは専用アイコン(Windows)やスナップショットのサポートのために下記のファイル・フォルダ構成とする必要があります。(Windowsの場合)

例:VST3プラグインのファイル名が「MyVSTPlugin.vst3」の場合

プラグイン名のフォルダを作り、Contents配下に実際の.vst3ファイルやドキュメントを保存する形となります。(「Resources」フォルダは任意かもしれません。)

なお上記フォルダは下記のプラグインフォルダ配下にある前提です。

  • C:\Program Files\Common Files\VST3\

ツールを使ったVST GUIの作成方法」などで使用される画像ファイルやuidescファイルは上記のResourecesフォルダ配下に保存する必要があります。
Resourecesフォルダ配下に画像ファイルなどがない場合、GUIが表示されないなどの不具合が出ます。

なお、.vst3ファイル単体でプラグインフォルダに保存する形式は非推奨となります。
Cubase等のホストアプリケーションは列挙されますが、上記のようにGUIの画像が表示されないなどの不具合が発生する場合があります。

VST3の開発についての情報は下記にもございます。

また、質問やご指摘はコメント欄や掲示板Twitterでいただけばとおもいます。

掲示板
■Twitterアカウント:@vstcpp   URL:https://twitter.com/vstcpp

VST SDK 3.6.10が公開されました

VST SDK 3.6.10が公開されました。

参考→sdk.steinberg.net

変更点は下記のようです。(英語は自信がないです。)

  • VST3のファイル構成を新しく定義
    特定構成のフォルダ内に.vst3ファイルやドキュメントを保存するように指定
    .vst3ファイル単体は非推奨に
  • 新しいVST3のファイル構成でWindowsでアイコンをサポート
  • 新しいVST3のファイル構成でスナップショット画像をVST3にバンドル出来るように
  • その他いくつかの修正・改善を実施

新しいVST3のファイル構成については分かり次第サイトにアップしたいと思います。

VST3.6についての情報は下記にもございます。

また、質問やご指摘はコメント欄や掲示板Twitterでいただけばとおもいます。

掲示板
■Twitterアカウント:@vstcpp   URL:https://twitter.com/vstcpp