Skip to content

Instantly share code, notes, and snippets.

@AlexxIT
Created August 6, 2020 04:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save AlexxIT/0ba110a4e1214eeac21d2f942f28a1d7 to your computer and use it in GitHub Desktop.
Save AlexxIT/0ba110a4e1214eeac21d2f942f28a1d7 to your computer and use it in GitHub Desktop.
TTS на колонках с Алисой из командной строки
import asyncio
import sys
from os import path
from aiohttp import ClientSession
from custom_components.yandex_station.yandex_quasar import YandexQuasar
async def main(cachefile: str, text: str):
async with ClientSession() as session:
quasar = YandexQuasar(session)
speakers = await quasar.init('myuser', 'mypass', cachefile)
for speaker in speakers:
if speaker['name'] == 'Яндекс Мини':
await quasar.send(speaker, text, is_tts=True)
if __name__ == '__main__':
text = ' '.join(sys.argv[1:])
cachefile = path.join(path.dirname(path.abspath(__file__)),
'.yandex_station.json')
asyncio.run(main(cachefile, text))
@AlexxIT
Copy link
Author

AlexxIT commented Aug 6, 2020

Поменяйте логин/пароль и имя вашей колонки. Нужен python 3.7+ и pip install aiohttp.

@Nehc
Copy link

Nehc commented Aug 6, 2020

Работает, спасибо. Только были проблемы если каталог custom_components целиком брать - там в init, видимо, какие то зависимости от home assist еще есть, но только с yandex_quasar - взлетело.

@BucHo82
Copy link

BucHo82 commented Nov 3, 2020

Просто озвучивание текста заработало, спасибо! А как заставить колонку выполнить команду из консоли, например убавить громкость?

@AlexxIT
Copy link
Author

AlexxIT commented Nov 4, 2020

is_tts=false

@BucHo82
Copy link

BucHo82 commented Nov 12, 2020

AlexxIT, а подскажите что надо добавить в скрипт что бы Алиса заговорила другим голосом и спецэффекты наложить если можно?

@AlexxIT
Copy link
Author

AlexxIT commented Nov 12, 2020

@BucHo82 это облачное управление. Яндекс недавно выпилили из него спецэффекты

@BucHo82
Copy link

BucHo82 commented Nov 13, 2020

А при локальном управлении спецэффекты работают? Если да то можно сделать такой же скрипт под локальное?

@Kazakoff64
Copy link

Kazakoff64 commented Jan 27, 2021

Я так понимаю авторизация обновилась, как теперь пройти авторизацию?

speakers = await quasar.init('user', 'login', cachefile) TypeError: init() takes 1 positional argument but 4 were given

@AlexxIT
Copy link
Author

AlexxIT commented Feb 1, 2021

Думаю, можно пользоваться со второй версией компонента. В третей версии сильно поменялась авторизация. Этот пример работать не будет

@vahotm
Copy link

vahotm commented Mar 8, 2021

Я прошу прощения - этот скрипт надо выполнять только из системы HomeAssistant?

@BucHo82
Copy link

BucHo82 commented Apr 6, 2021

Что то консольная Алиса совсем сломалась. Не работают скрипты(( Это у меня что то не так или Яндекс опять всё поломал?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment