プログラムで入力を切り替える明白な方法はわかりませんが、「音声認識」セクションの「音声」コンパニオン ガイドの最初の段落は、他の入力を使用できることを暗示しているようです。ただし、これはシステム環境設定で設定することを意図していると思います。そこで選択されたプライマリオーディオ入力デバイスを使用していると思います。
ただし、NSSpeechRecognizer ではなく、無制限の音声認識を探しているのではないかと思います。事前に録音されたオーディオをテキストに変換する (つまり、録音のトランスクリプトを作成する) 場合は、リッスンする「コマンド」の配列を渡す必要があるため、NSSpeechRecognizer では完全にうまくいきません。
理論的には、辞書全体をフィードすることもできますが、通常は明確で明確なコマンドを指定する必要があるため、うまくいかないと思います。(リアルタイムで)分析するものをたくさん与えた場合、そのパフォーマンスは低下すると思います。
最善の策は、サードパーティのオープン ソース ソリューションを検討することです。一般化されたパッケージがいくつかあります (Cocoa/Objective-C 専用のものはありません) が、これは別の疑問を投げかけます。音声認識の 2 つの主要な形式 (「訓練された」はより正確ですが、さまざまな声や録音環境に対する柔軟性が低く、「オープン」は一般的にはるかに正確ではありません)。
達成しようとしていることを正確に述べた方がよいでしょう。