import os
from google.cloud import texttospeech
from playsound import playsound
import random
import time
# Goggle
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "myfile.json"
client = texttospeech.TextToSpeechClient()
ses = texttospeech.VoiceSelectionParams(
language_code='tr-TR',
name='tr-TR-Wavenet-B',
ssml_gender=texttospeech.SsmlVoiceGender.MALE)
ses_ayari = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.MP3,
effects_profile_id=["small-bluetooth-speaker-class-device"]
)
ad = texttospeech.SynthesisInput(
text="blabalaba ü-ı-ş")
cevap_ozellikleri = client.synthesize_speech(
input=ad,
voice=ses,
audio_config=ses_ayari, )
def konusma():
rand = random.randint(1, 10000)
file = 'audio-' + str(rand)
with open(file + '.mp3', 'wb') as out:
out.write(cevap_ozellikleri.audio_content)
playsound(file + '.mp3')
konusma()
Bu benim ilk kodumdu ve hata olarak bunu aldım:
Traceback (most recent call last):
File "C:\Users\Baran\Desktop\pythonProject\main.py", line 38, in <module>
konusma()
File "C:\Users\Baran\Desktop\pythonProject\main.py", line 35, in konusma
playsound(file + '.mp3')
File "C:\Users\Baran\Desktop\Testt3\Lib\site-packages\playsound.py", line 35, in _playsoundWin
winCommand('open "' + sound + '" alias', alias)
File "C:\Users\Baran\Desktop\Testt3\Lib\site-packages\playsound.py", line 30, in winCommand
'\n ' + errorBuffer.value.decode())
^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfe in position 6: invalid start byte
Process finished with exit code 1
Yukardaki kodum var olan bir .mp3 dosyasını oynatmakta sorun yaşamıyor. Ancak yeni oluşturduğum .mp3 dosyasını oynatırken hata veriyor.
Bunun üzerinde bende farklı oynatıcılar deneyim dedim fakat onlardan da farklı farklı hatalar adım. En sonunda hatanın -başka bir ses oynatıcısının hatasından yola çıkarak- dosya oluşturma işlemi devam ettiği sırada oynatmaya çalıştığından dolayı ortaya çıktığını düşündüm.
Buradan yola çıkarak dosya oluşturma işlemini bitirip ardından dosyanın ismini nasıl playsound’a nasıl döndürebilirim ?
Aklımdaki: Fonksiyonu çalıştırıp sonlandırmak ve file değişkenini döndürmek.
Veya bunun dışında başka bir durum gözlemliyorsanız lütfen benimle paylaşır mısınız?
Eğer konuşmam saçma veya mantıksız geldiyse lütfen kusura bakmayın programlamada yeniyim.