私は自分が持っているアイデアの概念実証を作成し始めています。この時点で、どのように開始すべきかについてのガイダンスが必要です。
しばらくの間「録音」するのではなく、マイク入力をサンプリングし、その信号をリアルタイムで処理する必要があります (Auto-Tune を考えてみてください。ただし、ライブで動作します)。
私がやっていることは、「一種の」「マイク入力から MIDI へのコンバーター」なので、非常に高速に応答する必要があります。
オンラインで少し調べたところ、どうやら進むべき道は DirectSound または WaveIn* API 関数のいずれかです。今、私が読んだことによると、WaveIn API を使用すると、特定のサイズのバッファーを埋めることができます。これは、記録と後処理には問題ありませんが、どうすればリアルタイム処理を行うことができるのでしょうか?
10 ミリ秒のバッファーを使用し、50 ミリ秒または 100 ミリ秒の循環配列を自分で保持し、10 ミリ秒ごとに分析をトリガーする関数を取得しますか? (最新の 100 ミリ秒の入力にアクセスでき、そのうち 10 ミリ秒のみが新しい)
ここで何か不足していますか?
また、これは DirectSound でどのように行われますか? 通常の Win32 API よりも機能が向上していますか?