!!! サイト改修中のため表示が乱れる場合があります(1月末頃まで) !!!
音声処理

31-4. Pythonで音声ファイルを再生する

やること

以前、音声会話できるRAGチャットシステムを作りました。

そのときに使った技術のおさらいになりますが、Pythonで音声ファイルを再生する方法を紹介します。

準備

simpleaudioというパッケージをインストールします。

pip install simpleaudio

こちらの音声ファイルを再生してみます。VOICEVOXの満別花丸です。

なんくるないさー

コード

こちらが最小コードです。

import simpleaudio
from time import sleep

wav_obj = simpleaudio.WaveObject.from_wave_file('なんくるないさー.wav')
play_obj = wav_obj.play()

これだけで「なんくるないさー」が再生されます。簡単ですね!

0.5秒間隔で3回再生してみます。

wav_obj = simpleaudio.WaveObject.from_wave_file('なんくるないさー.wav')

for i in range(3):
    play_obj = wav_obj.play()
    sleep(0.5)
なんくるなんくるなんくるないさー

音声が重なってしまいました。

前の音声の終了を待つには .wait_done() を使用します。

wav_obj = simpleaudio.WaveObject.from_wave_file('なんくるないさー.wav')

for i in range(3):
    play_obj = wav_obj.play()
    play_obj.wait_done()
なんくる ないさー、なんくる ないさー、なんくる ないさー

連続で再生する場合はこうすると良いでしょう。ただし、待っている間はsleepと同じですべての処理が停止しているため、メインループを止めたくない場合はスレッド処理などの工夫が必要になります。

おわりに

自動運転車の車内アナウンスに使う予定です。「まもなく停留所です」とかですね。

リアクションのお願い

「参考になった!」「刺激された!」と思ったらぜひリアクションをしましょう。エンジニアの世界はGive and Takeによって成り立っています。これからも無料で良質な情報にアクセスできるよう、Giveする人への感謝をリアクションで示しましょう!

この記事をシェアする

自身のブログ等で使用する場合は引用を忘れずに!

また、寄付も受け付けています。コーヒー1杯でとても喜びます(*˘︶˘*)

 Amazonでギフト券(アマギフ)を贈る

こちらのリンク から金額を指定してお贈りください。(デフォルトで10000円になっているのでご変更ください)

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 Amazonで食事券(すかいらーく優待券)を贈る

500円 1000円 2000円 5000円 からお贈りください。

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 その他、ギフト券やクーポン券をメールで贈る

デジタルのギフト券/クーポン券はメールアドレス(staffあっとvigne-cla.com)までお送りください。受領の返信をいたします。
紙のギフト券/クーポン券は 「郵便物はこちらへ」の住所 まで送付してください。名刺やメールアドレスを同封していただければ受領の連絡をいたします。
余った株主優待券等の処理におすすめです。
いずれも見返りはありませんのでご了承ください。

不明点はSNSでお気軽にご連絡ください

ビネクラのTwitter・Youtubeでコメントをください!


Slack・Discordの場合はこちらの公開グループに参加してShoya YasudaまでDMをください!


※当ブログに関することは何でもご相談・ご依頼可能です。

この記事を書いた人
Yasuda

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

タイトルとURLをコピーしました