環境
RaspberryPi3B+
Python 3.6(だったはず)
現在,次のようにしてAquestalkPiの出力wavを一旦ラズパイに外付けしたUSBに保存し
その後他の関数からファイルを呼び出して利用しています
Python
1os.system('./AquesTalkPi ' + text + ' > /mnt/usb1/output.wav') 2source = discord.FFmpegPCMAudio("/mnt/usb1/output.wav")
この書き出し先をファイルではなく変数にする方法はありませんか?
os.systemはもう利用すべきではなくなっていて,subprocessを利用したほうがいいのは把握しているのですが,どう書いたらいいのかいまいちよくわからず困っています.
AquesTalkPiの使い方について:http://blog-yama.a-quest.com/?eid=970157
以下追記
wavファイルをAquesTalkPiで生成,discord内VCで再生
Pyhton
1async def speakQueueLoop(self,speakQueue): 2 while True: 3 self.playNextQueue.clear() 4 queueTop = await self.speakQueue.get() 5 print(str(list(queueTop.keys())[0])) 6 os.system('./AquesTalkPi ' + str(list(queueTop.keys())[0]) + ' > /mnt/usb1/output.wav') 7 source = discord.FFmpegPCMAudio("/mnt/usb1/output.wav") 8 (list(queueTop.values())[0]).play(source,after=self.toggle_next) 9 await self.playNextQueue.wait() 10 11def toggle_next(self,error): 12 try: 13 self.bot.loop.call_soon_threadsafe(self.playNextQueue.set) 14 except Exception as e: 15 print(e)
queueに追加するコード
Python
1await self.speakQueue.put_nowait({str(message.content):message.guild.voice_client})
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/25 07:20 編集
2021/06/25 08:04
2021/06/25 10:49 編集
2021/06/25 11:39
2021/06/25 11:49 編集
2021/06/25 12:02
2021/06/25 13:41