さて、前の記事から引き続いて、マイク入力のテストをしてみます。
マイク入力を使ったサンプルプログラムを動かしてみる
何か適当なサンプルがないか探してみると、いい感じの記事がありましたので、これを試してみます。
※ このサンプルも、前回同様にWrp_.py中でssl.wrap_socket()をコールするので、Python3.12が使えません。
音声ライブラリとして、SoundCardを使っているのでインストールします。
pip install soundcard
サンプルプログラムはGitで配布されているのでダウンロードして適当に展開します。
展開したしたフォルダに以下の内容でバッチファイルを書いて実行してみます。
set AppKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
set SSL_CERT_FILE=ssl\curl-ca-bundle.crt
python main.py a=%AppKey%
実行結果
ソースコードを読むと、デバイスリストの中から"pulse"を探そうとしているのですが、Windowsにはそのようなデバイス名がないのでエラー表示となるようです。でも、この状態で既定のソース?から音声を拾っているようなので、音声ミキサとかループバックを既定にするとYoutube上とかの音声とか拾えませんかね?
余談ですが、これ、停止のやり方が分かりません(www)ので、マイクをOFFにして強制的に止めます。
マイク動作中は通知領域にマイクのアイコンが表示されるので、これをクリックして、、、
「マイクへのアクセス」をオフにするとマイクを見失うのでエラー終了します。(www)
ここまで、マイク入力をAmiVoice APIを使ってテキストに落とせることを確認しました。
最終イメージは字幕用ファイルにすることなので、前回同様にjsonをパースすれば良さそうです。