Dann einmal Vollständig aktuelles Script:
Testscript:
Code: Alles auswählen
from io import BytesIO
from picotts import PicoTTS
import pyaudio
import wave
def say():
picotts = PicoTTS()
picotts.voice = 'de-DE'
wavs = picotts.synth_wav('Hallo Welt!')
wav = wave.open(BytesIO(wavs))
# print(wav.getnchannels(), wav.getframerate(), wav.getnframes())
# instantiate PyAudio (1)
p = pyaudio.PyAudio()
# print(p.get_format_from_width(wav.getsampwidth()))
# open stream (2)
stream = p.open(format=8,
channels=1,
rate=16000,
output=True)
# read data
data = wav.readframes(1024)
# play stream (3)
while len(data) > 0:
stream.write(data)
data = wav.readframes(1024)
# stop stream (4)
stream.stop_stream()
stream.close()
# close PyAudio (5)
p.terminate()
if __name__ == '__main__':
say()
Output:
Code: Alles auswählen
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
Keine Fehlermeldung & kein Ton.
inputDevices hab ich alle durchprobiert
EDIT:
Weiteren versuchen klappt nun auch die Ausgabe, lag wohl am System selbst...
eine Frage hab ich noch unzwar wie kann ich den output von pyAudio() abstellen bzw in der Konsole nicht erscheinen lassen?