форум Радиолюбительского ДВ портала > Программное обеспечение

Slow Voice

(1/43) > >>

rn3aus:
Дорогие коллеги!
Представляю Вам режим передачи речи на ДВ.
Нечто похожее проделывал Маркус DF6NM, однако для этого требовался линейный передатчик, да и спектр сигнала был широковат, несколько сот Гц.
У меня же возникла мысль реализовать передачу голоса средствами имеющегося у меня синтезатора (http://136.su/forum/index.php/topic,117.msg10729.html#msg10729) и передатчика D-класса. На это меня натолкнул успешный опыт передачи штриховой графики: http://136.su/forum/index.php/topic,18.msg10702.html#msg10702

Итак, суть идеи проста: записываем свой голос в файл с некоторой частотой дискретизации. Для речи достаточно 6000 отсчетов в секунду. Затем с помощью программы управления синтезатором эти отсчеты считываются из файла со значительно меньшей скоростью (например, в 100 раз медленнее - 60 отсчетов в секунду). В зависимости от амплитуды отсчета синтезатор формирует сигнал с частотой, сдвинутой относительно номинала на величину, пропорциональную этой амплитуде. То есть получается очень медленная частотная модуляция. Индекс модуляции сделан небольшим, такая QRSS_NBFM занимает полосу частот примерно равную 50-60 Гц. (При большем замедлении спектр будет еще уже, вплоть до единиц Гц).
Длительность передачи 5 секунд речи (как раз хватает чтобы произнести свой позывной без спешки или рапорт и краткие позывные) составит при замедлении в 100 раз всего 500 секунд (8 минут), что соизмеримо с другими нашими режимами.
Как принимать такой сигнал? Я не стал делать какую-то специализированную программу, лучше, на мой взгляд, воспользоваться возможностями имеющихся программ, например СпектрумЛаба.
Оказалось, что в спектрумлабе в окошке компонентов в составе DSP BlackBoxa есть и FM-демодулятор. Настроив его на параметры нашего сигнала я убедился, что все нормально демодулируется и при столь узкой полосе. Отсчеты с выхода демодулятора можно опять же имеющимися средствами записать в wav-файл.
Итак, у нас получается звуковой файл длиной 8 минут. Если его прослушать, то кроме редких щелчков в нем ничего не слышно. Там записан инфразвук - ведь верхняя частота с выхода демодулятора будет всего 30 Гц.
Нам нужно воспроизвести этот файл ускоренно в 100 раз. Для этого я использовал звуковой редактор CoolEdit2000. Открыв файл, выполняем два раза подряд DownSampling в 10 раз, в итоге все становится быстрее в 100 раз. Ну и нормализуем амплитуду, чтобы было хорошо слышно ;).
И вот теперь происходит нечто подобное чуду - вместо странной тишины вдруг возникает принятый голос! Прошедший сверхузкополосный канал, нелинейный усилитель, инфразвуковую обработку - и вот, все-таки речь слышна!
Я провел ряд локальных тестов, используя синтезатор без УМ, его и так хорошо слышно на мой приемник. Результат в файле.
Конечно, когда сигнал будет слабым, то и речь, наверное будет более зашумленной, но здесь может хорошо сыграть то, что у нас частотная модуляция, более стойкая к шумам, чем амплитудная. Во всяком случае попробовать интересно.
Выкладываю ниже скриншоты и описание как настроить СпектрумЛаб и CoolEdit, чтоб принимать SlovVoice100 (предлагаю так это называть - цифры: коэффициент замедления).

rn3aus:
Для проведения экспериментов с приемом нового режима SlowVoice (замедленной 100 - 1000 раз речи с частотной модуляцией в полосе 30 - 3 Гц) можно использовать программу SpectrumLab и звуковой редактор CoolEdit2000.
Для этого сделаем следующие настройки:

SpectrumLab:
1) В окошке компонентов выбираем крайний DSP BlackBox и включаем FM-demodulator с параметрами:
 - Center Freq = 137500 (я себе поставил 137490, так почему-то немного лучше)
 - Bandwith = 60 Hz
2) Там же в окошке компонентов включаем bandpass Filter:
 - Center = 1500 Hz
 - bandwidth = 60 Hz
 - slope width = 20 Hz (не очень важно, у меня так стоит)
3) Открываем меню File->AudioFile&Streams->AudioFile settings.
 У меня стояли вот такие параметры по умолчанию.
4) Когда мы готовы начать прием, нажимаем File->AudioFile&Streams->Save Output in audio file и указываем имя файла для записи. Не забудем указать, что это будет файл типа wav.
С этого момента выход ЧМ-демодулятора (а это инфразвук в диапазоне 0-30 Гц) будет записываться в файл.

Когда прием завершен, нажимаем File->AudioFile&Streams->Stop logging to ... <наш файл>.

Теперь нужно ускорить полученную запись в нужное число (100-1000) раз.
В этом нам поможет звуковой редактор CoolEdit2000.
1) Открываем файл с записью.
Запись содержит только инфразвук, поэтому ничего не слышно. Может быть немного потрескиваний.
2) в меню Transform->Time/Pitch->Stretch...
выставляем параметры Ratio=10, Resample (preserve neither) и нажимаем ОК. Таким образом запись будет ускорена в 10 раз.
Повторяем это же действие еще раз - запись ускоряется еще в 10 раз, то есть всего в 100 раз.
3) в меню Transform->Amplitude->Normalize...
выставляем, что нужно Normalize to 99% и DC Bias Adjust 0%, нажимаем ОК.
В результате громкость полученной записи будет нормализована.
Всё. Прослушиваем и не забываем сохранить сделанные изменения в файле с новым именем (чтобы исходный файл остался, если захочется его обработать еще раз с другими настройками.

rn3aus:
еще картинки с настройками

rn3aus:
И теперь картинки к CoolEdit2000

rn3aus:
Спектр сигнала будет выглядеть примерно так - туманная полоска переменной ширины

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии