したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

サンプリング周波数の取得法について

1はると:2025/07/02(水) 01:32:23
はじめまして。うつぼかずらさんの本とサイトを利用して、vst3の勉強を進めているものです。
現在簡単なEQをvst3プラグインで作っているのですが、質問があります。
vst3プラグインに入ってくる音信号のサンプリング周波数が何Hzなのか取得する方法はありますか?
現在のサンプリング周波数が何Hzなのかによって、EQの極と零点の周波数が変わってしまうので困っています。
文献を調べてもヒットしなかったので質問させていただきました。
ご存知のことがありましたら、よければ教えていただければと思います。
よろしくお願いします。

2管理人★:2025/07/02(水) 23:08:48
はるとさん

書き込みありがとうございます。
VSTプラグインでサンプルレートをDAW(ホストアプリ)から取得するには
setupProcession()関数を使います。

1.まず、音声処理側のクラス(AudioEffectクラスを継承したクラス)で
setupProcessing()関数をオーバーライドしてください。

 class MyVSTProcessor : public AudioEffect
 {
 public:
  〜〜中略〜〜
  tresult setupProcessing (ProcessSetup &setup) SMTG_OVERRIDE;


2.setupProcession()関数の引数(ProcessSetup構造体)の中にサンプルレートがあるので
 これを使用して、処理を実施します。

 tresult MyVSTProcessor::setupProcessing(ProcessSetup& setup)
 {
   // サンプルレートを取得
   double samplerate = setup.sampleRate;

   // サンプルレートを使って何か処理
   〜〜中略〜〜

   // 継承元のsetupProcessing()関数を呼び出して終了
   return AudioEffect::setupProcessing(setup);
 }

上記のコードは試したわけではありませんので、参考程度にしていただければと思います。
なお、下記のドキュメントが公式のものとなります。
https://steinbergmedia.github.io/vst3_doc/vstsdk/classSteinberg_1_1Vst_1_1AudioEffect.html
https://steinbergmedia.github.io/vst3_doc/vstinterfaces/structSteinberg_1_1Vst_1_1ProcessSetup.html


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板