Кремень КД Реклама
Кремень КМ Реклама

Klipper, Sound и TTS.

AlekS
Идет загрузка
Загрузка
13.08.2024
2935
4
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

20

Klipper, Sound и TTS.

Приветствую, всех местных "жителей"! )

В клиппере используется одноплатник, и это дает нам использовать "нормальный" звук вместо "бип-бип" и даже синтезированный голос.

Извиняюсь, видео только так.)

https://rutube.ru/shorts/6fc563aaad60d3f46904a52ecc39caad/

Все ниже сказанное, будет о платах  BigTreeTech CB1 и BigTreeTech Pi v1.2 , но и для других, тоже самое подходит, нужно будет заменить /biqu/   на ваш Pi или другой, какой вы назначили.

Таков путь.)

Плата BigTreeTech CB1 не имеют встроенной поддержки аудиовыхода, в отличии от BigTreeTech Pi v1.2.  Однако ядро ​​Linux CB1 имеет встроенную поддержку USB-аудио в виде модуля.

Этот мод использует это преимущество и использует недорогую звуковую карту USB,

чтобы дать вашему принтеру возможность воспроизводить аудиофайлы в форматах

WAV и MP3.

Klipper, Sound и TTS.

Для преобразования текста в речь, вам нужно установить gcode_shell_command, это можно сделать в KUIAH и выбрать «Дополнительно», или в ручную, и для tts вам нужно установить espeak, используя:

sudo apt-get install espeak

* Если вы не намерены использовать "голос", то пропускайте его установку.

Загрузите файл gcode_shell_command.py из Github и сохраните его на своем ПК.

https://github.com/dw-0/kiauh/blob/master/resources/gcode_shell_command.py

Перенесите файл в ~/home/biqu/klipper/klippy/extras

каталог вашего принтера с помощью ssh-подключение ( MobaXterm_Personal )  или другой программы передачи файлов по вашему выбору.  

Теперь вам нужно узнать, как в системе прописалась звуковая карта, запустим команду:

 aplay -l

Вы должны увидеть что-то такое о вашей карте 

Встроенная  - card 1: Codec [H616 Audio Codec], device 0: CDC PCM Codec-0 [CDC PCM Codec-0]

USB карта - card 2: Device [USB Audio Device], device 0: USB Audio [USB Audio]

Надо теперь создать  файл asound.conf - это указание Alsa (Linux audio обрабатывается Alsa -  https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture), какую звуковую карту использовать по умолчанию.

Будем использовать vim, чтоб не мучиться с правами доступа.

sudo vim /etc/asound.conf 

Содержимое файла должно быть таким, построчно.

pcm.!default {
        type hw
        card 1
}
ctl.!default {
        type hw
        card 1
}

* Где нужно записать номер карты, для нашего примера "Встроенная - card 1" или  "USB карта - card 2".

Сохраняем его.

Для исполнения/проигрывания звуковых файлов нужно создать play.sh  в ~\home\biqu\

sudo nano \home\biqu\play.sh

Переносим туда этот текст, построчно.

#!/bin/bash

aplay $1

И определяем его командой, для системы.

chmod +x play.sh

Теперь нужно создать каталог для хранения звуковых файлов, которые вы можете воспроизводить либо из командной строки, либо через Klipper. 

 mkdir sounds

и переходим в него.

 cd sounds

В этот каталог запишем свои файлы WAV . Пишите все строчными буквами без пробелов, чтобы свести к минимуму вероятность ошибки, у меня так было.))) Спасибо, TheRaven )

Теперь перезагрузим систему и Клиппер, и создадим файл shell_command.cfg в настройках клиппера.

Он состоит из нескольких блоков:

#***********************************************************

#     Это проигрывает звуковой файл

#**********************************************************

[gcode_shell_command play]

command: /home/biqu/play.sh

timeout: .01

verbose: False

#*****************************************************************

# Это голос воспроизведения текста - TTS.  * Можно исключить, если ненужен голос.

#*****************************************************************

[gcode_shell_command tts]

command: espeak -vru+m3

timeout: 2.

verbose: False

#      Где -v имя выбора языка + тона голоса

#      +m1 +m2 +m3 +m4 +m5 +m6 +m7  для мужских голосов и

#     +f1 +f2 +f3 +f4 имитируют женские голоса, используя более высокие тона.

#  Это проигрывание файла из вашего каталога sounds, который вы определите в своих

# макросах с названием      "_meepmeep"

#************************************************************************************************

[gcode_macro _meepmeep]

gcode:

    RUN_SHELL_COMMAND CMD=play PARAMS=/usr/share/sounds/alsa/audio.wav     

    

#*******************************************************************

#*** Это чтение вашего текста - TTS, который вы определите в своих макросах 

#   с названием    " _tts_printer_online"

#*******************************************************************

[gcode_macro _tts_printer_online]

gcode:

    RUN_SHELL_COMMAND CMD=tts PARAMS="'Принтер на связи'"

Следующий шаг.

Откройте ваш printer.cfg файл, и добавьте следующую строку в начало файла с другими include's, которые у вас уже есть

[include shell_command.cfg]

Вот и все, теперь назначьте где им звучать.

https://rutube.ru/video/private/d77736aea798df99791ba6b967ae1730/?r=wd&p=eRQYQy13raB0JKMl69r9Uw

https://rutube.ru/video/private/15dfd398469b803c80b3454beee278f1/?r=wd&p=hE5OXKKLfPuZPnv9Pj7-Mw

*****************************************************************************************

И о плохом, c HDMI (BTT CB1) на TV звук есть, а на TFT нет.  О чем я спрашивал ранее

https://3dtoday.ru/questions/tft-7-net-zvuka

У какого этажа прошивка, есть звук через HDMI  ?

Klipper, Sound и TTS.

*****************************************************************************************

Всем счастья и чистого неба.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

20
Комментарии к статье