SoundFontの取り扱い03 – SoundFontのジェネレータについて

はじめに

複数回にわたってSoundFontファイル(.sf2ファイル)を読み込んでシンセサイザーなどに使えるようにパラメーターを組み立てる方法を説明しています。
ここではSoundFontの音色情報を組み立てる際に重要となるジェネレータについて説明します。

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

SoundFontの音色の構成について

ジェネレータを説明する前にSounfFontの音色構成について説明します。

SoundFontでは音色はプリセットとして扱われます。

プリセット(音色)は1つ以上のインストルメント(楽器)で構成されています。
インストルメント(楽器)のパラメータを調整してMIDIのキー(ノートNo.)とベロシティにマッピングすることで、単純な楽器の再現だけでなく演奏上の表現を広げることができるようにしています。
例として下記のようなインストルメント(楽器)の組み合わせがあります。

インストルメント(楽器)は1つ以上のサンプル(音声波形)で構成されます。
サンプル(音声波形)のパラメータを調整してMIDIのキー(ノートNo.)とベロシティにマッピングすることで、よりリアルな楽器の再現ができるようにしています。
もっと見る

SoundFontの取り扱い02 – SoundFontのフォーマット

はじめに

複数回にわたってSoundFontファイル(.sf2ファイル)を読み込んでシンセサイザーなどに使えるようにパラメーターを組み立てる方法を説明しています。
ここではSoundFontファイル(.sf2)のフォーマットについて説明します。

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

SoundFontファイルのフォーマット

SoundFontファイルはRIFFファイル形式をとっています。
RIFFファイル形式では、そのファイルに必要なデータをチャンクと呼ばれるブロックに分けて保存し、チャンクにFourCCと呼ばれる4Byteの識別子(ID)を付けて管理するファイル形式です。

RIFFファイルについては下記に簡単に記載しております。必要に応じてご参照ください。

SoundFontファイルのチャンク

SoundFontファイルのチャンクと階層構造は下記となっています。各チャンクの詳細は後述します。
もっと見る

VST GUIにおけるコントロールの定期更新

VST GUIにおけるコントロールの定期更新

音声処理クラスからパラメータ情報のフィードバックを受け取った場合やアニメーション行う場合など、コントロールを定期的に更新したい場合があります。今回はその実装方法を説明いたします。

なお、VST GUIの基本的な作成方法として下記をご理解いただいている前提で進めさせていただきます。

また、こちらのTipsで紹介している各コントロールを作成する関数も使用しています。

もっと見る

今後の更新予定

今後の更新予定

今後はエフェクターの実装例VSTプラグインのTIPSを中心に更新予定です。

TIPSについては記載できそうなものをはじめてのVST3.6.8プラグインの作りのページに追加しております。

ご要望があればできるだけ先に記事を作成・記載するようにいたします。
はじめてのVST3.6.8プラグインの作り内のコメントや掲示板Twitterでご連絡いただけばとおもいます。

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

VST SDK 2.4におけるホストの時間情報取得方法

VST SDK 2.4におけるホストの時間情報取得方法

VST SDK 2.4におけるホストの時間情報取得方法についてのメモになります。
Twitterで少し会話がありましたので補足と他の方の参考のために記載いたします。