Closed DivanX10 closed 1 year ago
Спасибо за инструкцию! Уже добавил в основную ветку.
Еще один вариант, если нет желания использовать аддон mopidy по своим веским причинам и если Home Assistant установлен на Debian. Например мы хотим слушать свою коллекцию музыки, то удобнее использовать свой MPD и следовательно чтобы работал голосовой синтез речи, а также это позволит вывести на несколько колонок, если это указать в конфиге MPD.
Устанавливаем MPD командой
sudo apt update
sudo apt install mpd
Прописываем конфиг для работы MPD. MPD по умолчанию использует учетную запись mpd и группу audio. Это ограничивает нас в том, что мы не можем размещать файлы mpd в другом месте, например в папке home. Поэтому в конфиге я специально использую учетную запись root и группу root, так как это позволяет мне размещать файлы для MPD там, где мне хочется и MPD при запуске не будет ругаться на запрещенный доступ к папкам mpd
music_directory "/home/mpd/music"
playlist_directory "/home/mpd/playlists"
db_file "/home/mpd/tag_cache"
log_file "/home/mpd/mpd.log"
pid_file "/home/mpd/pid"
state_file "/home/mpd/state"
sticker_file "/home/mpd/sticker.sql"
user "root"
group "root"
bind_to_address "0.0.0.0"
port "6600"
filesystem_charset "UTF-8"
audio_output {
type "pulse"
name "Pulse Mi Portable Bluetooth Speaker"
sink "bluez_sink.F4_4E_FD_13_60_1E.a2dp_sink"
}
decoder {
plugin "wildmidi"
enabled "no"
#config_file "/etc/timidity/timidity.cfg"
}
В Debian узнать имя bluetooth колонки можно командой
Вывести список звуковых карт
pacmd list-cards
Узнать активные профили
pacmd list-cards | grep 'active profile'
Если в Debian не отображаются звуковые карты (например будет вот так 0 card(s) available
), то вероятно они переехали в Home Assistant и можно получить список через терминал аддон SSH & Web Terminal.
В терминале аддона SSH & Web Terminal вводим команду для вывода звуковых карт
pactl list sinks
Получим список звуковых карт
Справочная информация
Запустить MPD
sudo systemctl start mpd
Остановить MPD
sudo systemctl stop mpd
Проверить статус MPD
sudo systemctl status mpd
Перезапустить MPD
sudo systemctl restart mpd
Редактировать конфиг mpd.conf
sudo nano /etc/mpd.conf
Очистить запись в конфиге mpd.conf. Удаляется все и будет чистый файл и можно снова все вставить
sudo echo -n > /etc/mpd.conf
Удалить пакет mpd
sudo apt remove mpd
sudo apt autoclean && sudo apt autoremove
Спасибо вам за эту интеграцию с нормальным синтезом речи. Хотел бы добавить мануал как добавить вывод звука, если имеется bluetooth колонка. Все дело в том, что в документации пишется, что надо добавить в configuration.yaml и это конечно работает, но при выборе объекта, куда будем выводить звук может не оказаться bluetooth колонки. Я долго искал решение и нашел. Думаю, что, кто с этим столкнется, это будет полезным и сократит время.
1) Если Home Assistant как основная ОС (HAOS), то читаем эту документацию TTS Bluetooth Speaker for Home Assistant
2) Если Home Assistant стоит на Debian, то делаем следующее
Отредактируем client.conf
Добавим следующее
Перезапускаем pulseaudio
Ставим аддон Mopidy версии Current version: 2.1.1 и ставим только эту версию. Mopidy 2.2.0 не ставить - она сломанная. Подробнее про поломанную версию Mopidy 2.2.0 читать здесь
Добавляем в configuration.yaml
Перезагружаем Home Assistant полностью, чтобы перезагрузился сам Debian
Подключаем bluetooth колонку к Debian, kb,j через GUI, либо через консоль используя команду bluetoothctl
Включим bluetooth
Запуск сканирования девайсов
Как увидели свой девайс, спариваемся с устройством
Подключаемся к устройству
Добавляем устройство в доверенные
Далее, как добавлен bluetooth девайс то в двух аддонов Rhasspy Assistant и Mopidy нужно указать источник вывода звука bluetooth девайса
1) В Rhasspy Assistant указываем так
2) В Mopidy указываем так
После этого открываем Панель разработчика => Службы Вид в текстовом файле
Вид в GUI