Вложений: 1
Для любителей SSB, новая функция в логгере - «Преобразование текста в речь».
Добрый день, уважаемые пользователи логгера!
Решил перевести на русский описание новой функции - «Преобразование текста в речь». Это довольно удобная замена для предварительно записанных звуковых .wav файлов. Ниже привожу машинный перевод главы из документации:
Вкладка «Преобразование текста в речь».
Эта вкладка (Confid\Logger+ Audio Setup\Text to Speach) используется для настройки функции преобразования текста в речь, появившейся в программе N1MM Logger+ версии 1.0.10913.0. Эта функция использует искусственный интеллект для генерации речи из текстовых сообщений, используя одну из нескольких доступных голосовых моделей. Сгенерированная речь сохраняется во временном wav-файле, который немедленно отправляется.
В принципе, возможно создать собственную голосовую модель, используя ваш собственный голос, но это непросто, и представленные здесь инструкции предполагают, что вы используете одну из доступных для скачивания голосовых моделей. Программа (piper.exe), преобразующая текст в речь, загружается вместе с первой загруженной голосовой моделью. Для загрузки программы и файлов голосовой модели требуется подключение к Интернету. Однако после загрузки хотя бы одного файла голосовой модели подключение к Интернету для использования функции преобразования текста в речь не требуется.
Вложение 373451
Кнопка «Download Model Files» используется для загрузки программы преобразования текста в речь Piper и одного или нескольких файлов голосовых моделей из Интернета. После загрузки первого файла голосовой модели вам будет предложено остановить загрузку, загрузить следующий файл голосовой модели или загрузить полный набор голосовых моделей. Полный набор голосовых моделей занимает 1,65 ГБ дискового пространства, и его загрузка может занять довольно много времени в зависимости от скорости вашего интернет-соединения. Поэтому для первоначального тестирования вы можете остановить загрузку после загрузки одной или двух голосовых моделей, а не загружать весь набор сразу.
Поле «Имя файла модели Piper» можно использовать для выбора модели голоса из списка загруженных моделей. Файлы моделей голоса хранятся в подкаталоге PiperModelFiles в области пользовательских файлов N1MM+, а программа Piper, выполняющая преобразование текста в речь, — в подкаталоге Piper. Эти подкаталоги создаются программой обновления программы для версии 1.0.10913.0 и более поздних, но они будут пустыми до тех пор, пока не будет загружена хотя бы одна модель голоса.
Настройка и тестирование.
Чтобы протестировать эту функцию, сначала загрузите одну или несколько голосовых моделей и выберите нужную. Выберите вкладку «Воспроизведение» и настройте выход звуковой карты на ту, которую вы будете использовать для прослушивания (например, звуковую карту по умолчанию на вашем компьютере или звуковую карту, которая используется для мониторинга CW и объявлений), а не на ту, которую вы используете для передачи во время контеста. В режиме SSB отредактируйте одно из сообщений функциональных клавиш, включив в него макрос TTS, например:
F10 Call,{TTS {ICAO !}}
для произнесения позывного, который находится в поле позывного в окне ввода в фонетике ICAO, или:
F10 Num,{TTS 1 2 3 4 5 6 7 8 9 0}
для последовательного произнесения цифр от 1 до 0. Сохраните отредактированный набор сообщений функциональных клавиш и нажмите функциональную клавишу для воспроизведения сообщения. Вы можете использовать это для тестирования различных голосовых моделей и различного текста (например, различного написания). Когда вы будете довольны выбором голосовой модели и сообщений функциональных клавиш, не забудьте переключить звуковую карту на вкладке «Воспроизведение» обратно на ту, которая используется с вашим передатчиком.
Макросы TTS.
В сообщениях функциональных клавиш для TTS используется семь макросов:
{TTS}, {ICAO}, {SPACECALL}, {SPACENR}, {SPLITNR}, {TTS_SPEED} и {TTSTrim}
{TTS text } — преобразует «текст» в речь и немедленно воспроизводит сгенерированный TTS wav-файл.
o Скорость воспроизведения можно изменить с помощью макроса {TTS_SPEED}. См. ниже.
o Макросы {ICAO}, {SPACECALL}, {SPACENR} и {SPLITNR} используются внутри макросов {TTS}, как описано ниже.
o Текст макроса {TTS} может содержать макросы # (серийный номер) и @ (частота приема)
o Макрос ! или {CALL} для позывного другой станции и макрос * или {MYCALL} для вашего собственного позывного следует использовать только внутри макросов ICAO (вам могут не понравиться результаты, если любой из них используется где-либо еще — программа может попытаться произнести позывной как английское слово).
o Текст макроса {TTS} может содержать , . ? и пробел для изменения речи и интервала. Не размещайте эти символы задержки речи вне макроса {TTS}.
o Пробел добавляется, когда за точкой следуют пробел и слово с заглавной буквы.
o Запятые в сообщении можно использовать для добавления небольшой задержки.
o Добавление нескольких последовательных пробелов не увеличивает задержку между словами.
o В некоторых случаях орфографические ошибки в тексте могут улучшить речь.
{ICAO text} – преобразует «текст» (* для вашего позывного или ! для позывного другой станции) в стандартную фонетику ICAO. Используется только внутри макроса {TTS}. Макрос {ICAO !} внутри макроса {TTS} функционально эквивалентен макросу {CALL} в режимах CW и цифровых; он не совсем идентичен макросу ! при использовании озвученных wav-файлов в телефонных режимах, поскольку позывной нельзя редактировать «на лету».
o Макрос {ICAO} может встречаться несколько раз внутри макроса {TTS}.
o Если вы хотите использовать нестандартную фонетику для текста сообщения, включая свой собственный позывной, вы можете продиктовать их в макросе TTS, например, {TTS November 1 Mexico Mexico}.
{SPACECALL} – Воспроизводит речь, используя позывной из окна ввода, находящегося в фокусе, в виде отдельных букв с пробелами между ними. Используется только внутри макроса {TTS} и заменяет макрос {CALL}, используемый в CW и цифровых режимах. Поскольку все голосовые модели произносят одну букву «A» как неопределённый артикль «a», а не букву «A», эта буква заменяется на «ehy».
o Вы можете использовать это в F5, если хотите вернуться к вызывающим абонентам без фонетики:
F5 Call, {TTS {SPACECALL}}
отправляет K3CT как «kay three see tee», например.
{SPACENR} – озвучивает серийный номер отдельными цифрами. Пример: 1256 будет озвучен как «один, два, пять, шесть». Это можно использовать внутри макроса {TTS} вместо макроса #.
{SPLITNR} – озвучивает серийный номер, разделенный на части: одну или две старшие цифры и две младшие. Это можно использовать внутри макроса {TTS} вместо макроса #.
Примеры:
1256 будет озвучено как «twelve fifty-six»,
984 будет озвучено как «nine eighty-four».
Примечание: серийные номера выше 9999 некорректно обрабатываются {SPLITNR}.
{TTS_SPEED n } — изменяет скорость воспроизведения голосового сообщения для текущего и всех последующих голосовых сообщений.
o Диапазон n выше составляет 10 – 3. Значение 10 воспроизводит голосовое сообщение на модельной скорости или на самой медленной скорости; меньшие числа обеспечивают более быстрый вывод.
o Положение макроса {TTS_SPEED} в файле функциональных клавиш не имеет значения, если вы не используете макрос {END}. За исключением случаев после макроса {END}, изменение скорости используется для всего сообщения.
o За исключением случаев после макроса {END}, в сообщении функциональной клавиши может быть только один макрос {TTS_SPEED n}.
Пример сообщения с текстом, отправленным на двух разных скоростях:
F10 Repeat,{TTS_Speed 5}{TTS 59 PA}{End}{TTS {TTS_Speed 10} five nine, Pennsylvania}
Обратите внимание, что изменение скорости во время сообщения приведет к задержке во время изменения скорости, которая может быть неприемлемой в зависимости от скорости вашего компьютера.
{TTSTrim} или {TTSTrim n } — обрезает начало и конец текущего сообщения, используя пороговое значение. Если значение не указано, используется пороговое значение 1000. Пороговое значение представляет собой уровень звука в WAV-файле, который будет считаться «тишиной». Чем выше число, тем больше фонового шума будет удалено в начале и конце. Если пороговое значение указано, диапазон n составляет от 0 до 6000. Если выбрано слишком большое значение, начало или конец сообщения могут быть обрезаны.
Пример файла функциональных клавиши :
# RUN
F1 CQ,{TTS_Speed 8}{TTS CQ Contest CQ Contest, {ICAO *}, {ICAO *}}
F2 Exch,{TTS Number {SplitNR}, Pennsylvania}
F3 TNX,{TTS Thanks, {ICAO *}}
F4 {MyCall},{TTS {ICAO *}}
F5 His Call,{TTSTrim}{TTS{ICAO !}}
F6,
F7 QRZ?,{TTS Q R Zed?}
F8 Stack,{STACKANOTHER}
F9,
F10 Repeat,{TTS_Speed 8}{TTS {SplitNR} P A}{End}{TTS {TTS_Speed 10} {SpaceNR}, Pennsylvania}
F11 LogPop,{LOGTHENPOP}{TTS Roger Now {ICAO !}, number {SplitNR} in Pennsylvania}
F12 Wipe,{WIPE}
# S&P
F1 CQ,{TTS Q R Zed? {ICAO *}}
F2 Exch,{TTS Number {SplitNR}, Pennsylvania}
F3 TNX,{TTS Thanks, {ICAO *}}
F4 {MyCall},{TTS_Speed 10}{TTS {ICAO *}}
F5 His Call,{TTSTrim}{TTS{ICAO !}}
F6,
F7 QRZ?,{TTS_Speed 6}{TTS Q R Zed?}
F8,
F9,
F10 Repeat,{TTS_Speed 8}{TTS {SplitNR} P A}{End}{TTS {TTS_Speed 10} {SpaceNR}, Pennsylvania}
F11,
F12 Wipe,{WIPE}
Стекирование вызовов работает с TTS, как это реализовано в примере выше. Вот как это использовать:
Программа должна быть в режиме выполнения с включённым ESM.
Настройте функциональные клавиши по своему усмотрению, например:
F11 LogPop, {LOGTHENPOP}{TTS Roger Now {ICAO !}, number # in Pennsylvania}
F8 Stack, {STACKANOTHER}
В Конфигураторе, на вкладке Функциональные клавиши назначьте клавишу Next Call функциональной клавише с макросом {LOGTHENPOP} (в данном примере F11).
Введите позывной в окно ввода и нажмите клавишу {STACKANOTHER} (F8), чтобы добавить этот позывной в стек. При необходимости отрегулируйте размер текста в окне стека с помощью размера шрифта и расположения на экране.
Введите второй позывной и нажмите Enter, чтобы отправить обычное обменное сообщение (F5+F2) для начала QSO с этой станцией.
Введите принятый обмен и нажмите Enter. Это запишет QSO в журнал, удалит из стека позывной, добавленный в стек, и отправит сообщение «Следующий позывной» (F11) для начала следующего QSO со станцией, позывной которой был только что удалён из стека.
Введите принятый обмен и нажмите Enter, чтобы отправить обычное сообщение TU (F3) и записать второе QSO.
Вы можете использовать стек нескольких позывных, или ваш партнёр может использовать стек позывных в режиме партнёра.
Примечания:
• При преобразовании позывного окна ввода в голос любое изменение позывного после нажатия функциональной клавиши НЕ приведет к изменению передаваемого позывного.
• Если сообщение TTS воспроизводится с другой скоростью голоса, чем предыдущее сообщение TTS, возникают некоторые дополнительные накладные расходы (задержки).
• Невозможно воспроизвести комбинированное сообщение, содержащее как макрос TTS, так и пользовательский файл *.wav.
• При использовании TTS некоторые макросы функциональных клавиш могут мешать работе TTS или не функционировать (например, макросы принудительного входа в систему).
• При использовании TTS объединение (concatenation) Logger+ Audio отключается.
• Эта функция может не работать на 32-разрядном процессоре.
Пример работы новой функции с логгером можно посмотреть здесь: https://drive.google.com/file/d/1dqX...ew?usp=sharing
Инструкции по созданию модели для собственного голоса здесь (англ.): https://github.com/oh2xx/n1mm-callsign-tts
В очередной версии логгера (послезавтра) будет исправлена неправильная реакция логгера на десятичную запятую в локализованных Windows.