12/9(月) 応用科学学会シンポジウムで自動運転に関する講演を担当します☆彡(試乗会もあります!来て!)

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と同じですべての処理が停止しているため、メインループを止めたくない場合はスレッド処理などの工夫が必要になります。

おわりに

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

SNS等でお気軽にご連絡ください

※当ブログに関することは何でもご相談・ご依頼可能です(Servicesになくても)
※TwitterはFF外の場合はDMではなく返信orメンションでお願いしますm(_ _)m

情報発信しています

質問・コメントはSlackやDiscordでお気軽に

勉強会の告知はこちらで

音声処理
この記事を書いた人

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

この記事をシェアする
Vignette & Clarity(ビネット&クラリティ)
タイトルとURLをコピーしました