Радиоэфир > Эхолинк, Svxlink

Linux + SvxLink => Многоцелевая Система Голосовых Услуг для Радиолюбителя

<< < (9/9)

SkyLine:
SvxLink Концепция:
Проект SvxLink создан Тобиасом (SM0SVX) в 2002 году и с тех пор постоянно развивается.
Проект SvxLink разрабатывает гибкую, систему голосовых услуг общего назначения для использования радиолюбителями.
SvxLink - состоит из ядра, которое обрабатывает соединение с приемопередатчиком.
Ядро может быть сконфигурировано для работы в качестве контроллера репитера или работать на симплексном канале.
При помощи основной или основных подпрограмм так называемой - Логики, которые могут быть объединены.
В этом случае каждая логика имеет различное назначение.
EchoLink является лишь одним из многих модулей, таким образом, SvxLink - значительно отличается от классического EchoLink.
Он не ограничивается работой Отдельных Рипитеров / ​​Симплексных Линков, но теоретически можно настроить любое количество Репитеров / ​​Линков, которые работают самостоятельно. На рисунке проиллюстрирован принцип работы:

 
SvxLink-Konzept.png (Filesize: 211 Кб)

Если компьютер поддерживает звуковую карту, то стерео-канал можно использовать отдельно, т.е. левый канал контролирует 70см - репитер,
правый канал 23см-репитер, и оба конечно, работают самостоятельно. Пределы только, устанавливаются производительностью компьютера.
Каждый слой реализованный в системе обработки событий SvxLink. В каждом возможном случае, например, открытия или закрытия шумоподавителя, входящее соединение EchoLink, ... TCL-Функция называется, в которой SvxLink-Сисоп может настроить свои собственные процедуры.
Этот интерфейс, по сути похож на VisualBasic-расширения в EchoLinkPlus, но предлагает гораздо больше функциональных возможностей.

Голосовые услуги загружены в ядро ​​как плагины или модули, как их называют в SvxLink.
Примеры существующих голосовых услуг (Модулей):
Help - Справочная система.
Parrot- Попугай (модуль, который воспроизводит все, что вы говорите).
EchoLink - Подключение к другим EchoLink станциям.
TclVoiceMail - Простая система голосовой почты.
DtmfRepeater - DTMF ретранслятор (воспроизводит набранные вами DTMF команды, сам при этом на них не реагирует).
MetarInfo - Погодный модуль (озвучивает метеосводки по аэропортам).
PropagationMonitor - Монитор прохождения (озвучивает информацию о условия прохождения полученную с GoodDX.net).
SelCallEnc - Модуль селективного вызова (отправляет выборочную последовательность тональных сигналов).

Проект также включает в себя: Qtel - Простой Qt EchoLink Клиент для пользователя.
"Фичи" данного Клиента:
Многопоточность. Возможность подключения к нескольким станциям одновременно, не смешивая аудио потоки, не создавая "петли".
Подключение к станции по IP-адресу.
Установка любой кодировки в чате.
Скриншот Qtel:

Продолжение следует...

laser:
мене ще цікавить можливість "читання" поточних метеоданих зі своєї домашньої метеостанції. імпортуючи дані через JSON чи щось таке.
поле для експериментів є  *IDEA*

п.с. в аудіозаписі вийшло  "помірний атмосферний тиск"  :-D короче в TTS туго з пунктуацією трохи. шкода україномовні движки практично ніхто не розвиває у нас =(

SA7BOA:

--- Цитата: "sirrosh" post=26254 ---Интересно, что:

remoteAudio is written in Go.
--- End quote ---


Офигеть!  *PRANKSTER*

SkyLine:
Україномовний, голосовий Метео-Інформер для SvxLink (і не тільки).. v.2.0
Метео-Інформер, озвучує прогноз, погоди наданий сайтом "Метеонова"
Приклад його роботи, Ви можете почути в прикріпленому нижче аудіо-файлі.
Попередження: Все що Ви робите, здійснюється виключно на Ваш страх та ризик.
Протестовано під Debian OS v.9.7
Публікується під GPL v.3

Spoiler for Hiden: Інсталюємо залежності:

--- Код: ---apt-get install curl translate-shell sox libsox-fmt-mp3
--- End code ---


Інші "маніпуляції", ідентичні тим, що описані кількома постами вище.

Створюєте файл "weatherinfo.sh", та робите його виконуваним:
/etc/svxlink/weatherinfo.sh


--- Код: ---
#!/bin/bash
#
# Україномовний метео-інформер
# Прогноз погоди, взято з сайту Метеонова https://www.meteonova.ua/
#
# SkyLine, January 2019
#

# Код Вашого міста з адресного рядка сайту "Метеонова"
CITY_ID="34601"

# Тека для аудіо-файлів
AudioDir=/var/spool/svxlink/weatherinfo

# Завантаження даних прогнозу
URI_INP=`curl -sS https://www.meteonova.ua/frc/${CITY_ID}.htm \\
| iconv -f cp1251 -t utf8 | grep 'id="frc_text_0"' | sed -e 's||:|g'`

# Обробка 1-го рядка
Out_1=$(echo $URI_INP | sed -e 's/[^:]*:\\([^:]*\\).*/\\1/' -e 's|]*>||g' \\
| trans -b ru:uk | sed -e 's| °|°|g' -e 's|помірний|поміірний|g' -e 's|+ |+|g' -e 's|м / с|м/с|g' -e 's| null||g')

# Обробка 2-го рядка
Out_2=$(echo $URI_INP | sed -e 's/[^:]*:[^:]*:\\([^:]*\\).*/\\1/' | sed -e 's|]*>||g' \\
| trans -b ru:uk | sed -e 's| °|°|g' -e 's|помірний|поміірний|g' -e 's|+ |+|g' -e 's|м / с|м/с|g' -e 's| null||g')

# Обробка 3-го рядка
Out_3=$(echo $URI_INP | sed -e 's/[^:]*:[^:]*:[^:]*:\\([^:]*\\).*/\\1/' | sed -e 's|]*>||g' \\
| trans -b ru:uk | sed -e 's| °|°|g' -e 's|помірний|поміірний|g' -e 's|+ |+|g' -e 's|м / с|м/с|g' -e 's| null||g')

# Відладка результатів обробки
#echo "Input: $URI_INP"
#echo
#echo "Output_1: $Out_1"
#echo "Output_2: $Out_2"
#echo "Output_3: $Out_3"

sleep 2

# Створення та обробка аудіо-файлів
wget -q -U Mozilla -O $AudioDir/Out_1.mp3 "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=$Out_1&tl=uk"
wget -q -U Mozilla -O $AudioDir/Out_2.mp3 "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=$Out_2&tl=uk"
wget -q -U Mozilla -O $AudioDir/Out_3.mp3 "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=$Out_3&tl=uk"

#sox $AudioDir/Out_1.mp3 $AudioDir/Out_2.mp3 -r16000 -esigned-integer -b16 -c1 $AudioDir/weather.wav tempo 1.0
sox $AudioDir/Out_1.mp3 $AudioDir/Out_2.mp3 $AudioDir/Out_3.mp3 -r16000 -esigned-integer -b16 -c1 $AudioDir/weather.wav tempo 1.0

--- End code ---

SkyLine:

--- Цитата: "laser" post=26345 ---мене ще цікавить можливість "читання" поточних метеоданих зі своєї домашньої метеостанції. імпортуючи дані через JSON чи щось таке.
--- End quote ---
В першому скрипті, це і робиться. При допомозі утіліти: "jq".



--- Цитата: "laser" post=26345 ---п.с. в аудіозаписі вийшло  "помірний атмосферний тиск"  :-D короче в TTS туго з пунктуацією трохи. шкода україномовні движки практично ніхто не розвиває у нас =(
--- End quote ---

Ні. Звучало так: ".. вітер південно-східний, помірний." "Атмосферний тиск в межах норми."

Щоб звучало краще, то треба ще створювати окремий словник з коректною вимовою та наголосами.
Але, це вже інша, довга, історія. "Сриптик вище", був написаний за вечір та за кілька, протестований.
Ще є такий TTS: "Анатоль". :)

laser:

--- Цитувати ---Ні. Звучало так:
--- End quote ---
- це писало так. а звучало саме як "помірний тиск". ну як мінімум я так почув.
тому і написав. не дивлячись що там крапка між реченнями, прозвучало якось на одному диханні.
хоча в самому браузері надиктовує ніби правильно, з паузами.
думаю легко пофіксити вставленням ще якихось символів (пробіл/абзац/кома/тире тощо)
не бачу потреби щось сильно ускладнювати. і так чудово все виходить  *THUMBS UP*

Навігація

[0] Сторінка Повідомлень

[*] Попередня сторінка

Помилка під час натискання Дякую
Дякую...
Go to full version