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

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

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

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

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

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

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

サンプルソースファイルのビルド方法

新規プロジェクトの作成

サンプルソースファイルをビルド、実行するには新しくプロジェクトを作成します。
Visual Studioを起動し、メニューから「ファイル」→「新規作成」→「プロジェクト」を選びます。

開いたウィンドウ左側のツリーメニューから「VisualC++」→「Windows デスクトップ」を選び、中央の一覧から「Windows デスクトップ ウィザード」を選びます。
ウィンドウ下部でプロジェクト名を指定し、「OK」ボタンを押すとウィザードが立ちあがります。

開いたWindows デスクトップ ウィザードでアプリケーションの種類を「コンソール アプリケーション(.exe)」とし、追加オプションの「空のプロジェクト」にチェックを入れ、「プリコンパイル済みヘッダー」のチェックをはずし「OK」ボタンを押します。

項目
アプリケーションの種類 コンソール アプリケーション(.exe)
追加オプション 空のプロジェクト チェックあり
シンボルのエクスポート チェックなし
プリコンパイル済みヘッダー チェックなし
セキュリティ開発ライフサイクル チェックなし

プロジェクトフォルダへのコピー

ダウンロードしたサンプルソースファイル(.zipファイル)を解凍(展開)してください。
サンプルソースファイル解凍後、サンプルソースファイル(.cpp、.hなど)をソースファイルフォルダにすべてコピーします。

プロジェクトのソースファイルフォルダは標準では「C:\Users\<ユーザ名>\source\repos\<プロジェクト名>\<プロジェクト名>」になります。(プロジェクト作成時に変更した場合は、そちらに読み替えてください。)

サンプルソースファイルのプロジェクトへの追加

「ソリューションエクスプローラー」の「ソースファイル」フォルダにサンプルソースファイルをドラッグ&ドロップします。
(「ソースファイル」フォルダでなくてもかまいません。.cppや.h等のファイル種別ごとにフォルダを分けてもかまいません。)

「ソリューションエクスプローラー」は標準で開かれていると思いますが、画面上になければメニューから「表示」→「ソリューションエクスプローラー」で開いてください。

プロジェクトのビルド

サンプルソースファイルの追加が終わればビルドします。

まず、プロジェクトの設定が「Debug」の「x86」となっていることを確認してください。

そして、メニューから「ビルド」→「<プロジェクト名>のビルド」を選んでビルドを実行します。(今回はプロジェクト名が「ビルド説明用」となっていますので、「ビルド説明用のビルド」となっています。)

ビルドを実行するとその結果が出力ウィンドウに表示されます。エラーがないことを確認してください。

プロジェクトフォルダに「\x86\debug」というフォルダが作られ、その配下に.exeファイルが完成していれば成功です。
(今回はプロジェクト名が「ビルド説明用」になっていますので、完成した.exeファイルは「ビルド説明用.exe」になっています。)

C:\Users\<ユーザ名>\source\repos\<プロジェクト名>\x86\debug\<プロジェクト名>.exe

読み込みたいSoundFontファイル(.sfファイル)をこのフォルダに「test.sf2」という名前に変更してコピーしてした後、作成された.exeファイルを実行すれば、サンプルが実行できます。
「test.sf2」がないとエラーが発生します。

なお、Visual Studioのデバッガ等から.exeファイルを実行した場合、読み込みたいSoundFontファイル(.sfファイル)はソースファイルフォルダに保存してください。

最後に

このサンプルコードについての説明はこちらにまとめております → SoundFontの読み込みと組み立て

質問はコメント欄や掲示板Twitterでいただけばとおもいます。
また、「この部分を詳しく」などの要望も掲示板Twitterでいただければと思います。

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


コメントを残す