Вопросер Безответный
Мастер
(1295)
1 неделю назад
Ошибка возникает, потому что объект ElevenLabs не имеет метода play для воспроизведения звука. Вместо этого вам нужно использовать стандартные библиотеки Python для воспроизведения звука, например, библиотеку pydub.
Вот пример исправленного кода с использованием библиотеки pydub для воспроизведения звука:
import speech_recognition as sr
from elevenlabs.client import ElevenLabs
from pydub import AudioSegment
from pydub.playback import play
r = sr.Recognizer()
client = ElevenLabs(
api_key="a1c8bd8827e1e523fc104e2efa1f8900", # Defaults to ELEVEN_API_KEY
)
def listen():
with sr.Microphone() as source:
print('я вас слушаю сэр')
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
try:
text = r.recognize_google(audio, language='ru-RU').lower()
except sr.UnknownValueError:
pass
print(f'Вы сказали: {text} сэр')
return text
def generate(text):
if 'джарвис' in text:
audio = client.generate(
text="С возврашением, сэр!",
voice="Bill",
model='eleven_multilingual_v1'
)
audio_data = AudioSegment.from_file(audio, format="wav") # Преобразование в формат, поддерживаемый pydub
play(audio_data)
generate(listen())
Пожалуйста, убедитесь, что у вас установлена библиотека pydub перед запуском исправленного кода.