VST SDK 3.6.11が公開されました

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

参考→sdk.steinberg.net

変更点は下記のようです。(公式サイトとマニュアルからの翻訳ですが英語は自信がないです。)

  • INoteExpressionPhysicalUIMappingインターフェイス
    • これにより、VST3プラグインのNote-Expressionと物理UIのマッピングをホストが取得可能に
  • VST GUI
    • VST GUIが4.7にバージョンアップ
    • Linuxで使用していたGUIライブラリをGTK+からXCBに変更
    • ドラッグ&ドロップの処理を再設計
    • 新しいイメージステッチャーツール
    • WindowsのGUI描画処理をGDI+からDirect2Dに変更
    • Windowsにおいて、ビットマップのドラッグ処理をサポート
    • Windows 7のスタンドアロンライブラリをサポート
  • 修正・改善の実施
    • VST 2.4のインターフェイスの利用不可に
    • CMakeで作成されるユーザプロジェクトを改善
    • VST2ラッパーを修正
    • AAXラッパーを修正
    • Parameterクラスのいくつかの関数をvirtualに
  • VST3用アイコンのバンドル
    • 新しくVST3用アイコンがバンドルされるように
    • アイコンはVST_SDK/VST3_SDK/doc/artworkフォルダに保存(VST_Logo_Steinberg.icoとVST_Logo_Steinberg.icns)

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

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

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

.WAV Playerの更新

.wavファイル プレイヤー – .WAV Playerを更新しました。

.WAV PlayerはGUI上から簡単にキーに.wavファイルをアサインして再生することのできるVST3プラグインです。
より使いやすくなるよう、設定の保存と読み込み機能を追加いたしました。

※更新したページ → .wavファイル プレイヤー – .WAV Player

不具合・要望についてはコメント欄か掲示板Twitterでご連絡いただけると助かります。(掲示板、コメント欄は匿名で記載可能です。)

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

.wavファイル プレイヤー – .WAV Player

概要

.WAV PlayerはGUI上から簡単にキーに.wavファイルをアサインして再生することのできるVST3プラグインです。
.wavファイルを一覧化しすぐに読み出せるようにすることで管理しやすくし、さらにキーに割り当てることでリズム用の音源としても使いやすくできればと思い作成いたしました。

下記のリンクよりダウンロードできます。

  Download→ WAVPlayer_x64_v1.0 (64bit)

もっと見る

エフェクターの簡単な実装例 – ピッチシフター

ピッチシフターの実装例

ピッチシフターは入力信号に音程を高くしたり、低くしたりするエフェクターです。

パラメーターとして下記がよく利用されます。

パラメーター 意味 だいたいの範囲
ミックスレベル ピッチシフターのかかり具合 0~1の間
ピッチ どれだけ音を高く(低く)するか -12~12半音(-1~1オクターブ)程度

実装は読み込み速度を速めたディレイ信号を入力信号に加えて出力します。
ディレイ信号の読み込み速度を速めることで音程が変わります。

ディレイ信号はリングバッファを使用して保存します。リングバッファは「リングバッファについて」で作成したものを使用しています。
また、読み込み速度を変更した際、整数値にならない場合があるためサンプルとサンプルの間の位置の値を線形補間などを用いて割り出す必要があります。
線形補間の詳細は省略いたします。

あくまで実装例ですのでいい音質のものがほしい場合は、ご自身で試行錯誤いただくようお願いします。

【実装イメージ】
■線形補間の実装

■エフェクターの実装

上記はあくまで実装例です。
読み込み位置(上記の変数pos)が0になる時(42行目)に音声信号が不連続となりノイズが入ります。
クロスフェード等を利用して音声信号を滑らかにつなぐことでノイズは改善することができます。

質問はコメント欄や掲示板Twitterでいただけばとおもいます。
他のエフェクター実装例はこちらにもあります。 → エフェクターの簡単な実装例

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

SoundFontの取り扱い04 – SoundFontの音色と音色情報(Hydra)チャンク

はじめに

複数回にわたってSoundFontファイル(.sf2ファイル)を読み込んでシンセサイザーなどに使えるようにパラメーターを組み立てる方法を説明しています。
ここではSoundFontファイル(.sf2)の音色の構成と音色情報(Hydra)チャンクの関係を説明いたします。

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

SoundFontの音色の構成について

初めにSounfFontの音色構成についておさらいいたします。

SoundFontでは音色はプリセットとして扱われ、プリセット(音色)には1つ以上のインストルメント(楽器)をキー(ノートNo)とベロシティにマッピングして構成されています。
また、インストルメント(楽器)もプリセットと同様に1つ以上のサンプル(音声波形)をキー(ノートNo)とベロシティにマッピングして構成されます。

SoundFontの音色と内部構成

SounfFontのプリセット(音色)はインストルメント(楽器)やサンプル(音声波形)をマッピングするために、ヘッダ・バッグ・ジェネレータを組み合わせた下記のような内部構成になっています。
もっと見る