Автор Тема: Slow Voice  (Прочитано 32991 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Slow Voice
« : 25 Апрель 2014, 18:44:12 »
Дорогие коллеги!
Представляю Вам режим передачи речи на ДВ.
Нечто похожее проделывал Маркус 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 (предлагаю так это называть - цифры: коэффициент замедления).
« Последнее редактирование: 25 Апрель 2014, 19:59:30 от rn3aus »

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Re: Slow Voice
« Ответ #1 : 25 Апрель 2014, 18:47:52 »
Для проведения экспериментов с приемом нового режима 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

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Re: Slow Voice
« Ответ #2 : 25 Апрель 2014, 18:48:42 »
еще картинки с настройками

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Re: Slow Voice
« Ответ #3 : 25 Апрель 2014, 18:49:46 »
И теперь картинки к CoolEdit2000

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Re: Slow Voice
« Ответ #4 : 25 Апрель 2014, 18:50:57 »
Спектр сигнала будет выглядеть примерно так - туманная полоска переменной ширины

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Re: Slow Voice
« Ответ #5 : 25 Апрель 2014, 18:54:08 »
Все сказанное в одном архиве, там же и файл настроек для СпектрумЛаба SlowVoice100.usr
(это то, что у меня работает, с частотой настройки приемника 136 кГц. Подкорректируйте под себя)
« Последнее редактирование: 25 Апрель 2014, 19:04:52 от rn3aus »

Оффлайн rw3adb

  • Ветеран
  • *****
  • Сообщений: 4403
    • Просмотр профиля
    • E-mail
Re: Slow Voice
« Ответ #6 : 25 Апрель 2014, 21:07:07 »
Мощно ты Саш заморочился, однако.

Боюсь, что у нас большей части народу будет никак. СПЛ - вещь, конечно мощная, но не функциональная и слишком сложная.

Кулэдит - он бесплатный? Где безопасно скачать?
--_ _ _  _ _ _ --  --_   _   _-_  _--  _ _ _-- _- -_ _ -_ _ _

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Re: Slow Voice
« Ответ #7 : 25 Апрель 2014, 21:13:56 »

Кулэдит - он бесплатный? Где безопасно скачать?
Шароварный как бы. В бесплатном варианте можно из 5 функций обработки выбрать две.

Если будет эксперимент успешным, то напишу программу-демодулятор/сжиматель. Собственно, уже написал, но пока еще далека от совершенства....

Оффлайн ra4hgn

  • Старожил
  • ****
  • Сообщений: 252
    • Просмотр профиля
Re: Slow Voice
« Ответ #8 : 25 Апрель 2014, 21:33:03 »
Вполне работоспособная идея, в терминах ЦОС, я так понимаю,  это дециматор/интнрполятор. wav-файл я так понял это то что сформировал SL и востановил Cool?

Оффлайн EW6X

  • Ветеран
  • *****
  • Сообщений: 1032
    • Просмотр профиля
Re: Slow Voice
« Ответ #9 : 25 Апрель 2014, 21:40:12 »
Ну как бы настроил СПЛ на граббере, готов к эксперименту :)
Александр, сделал скриншот каждые 8 мин в интервале 7:50...9:10 UTC, а также запись в wav с 7:55 до 9:05 UTC.
Останется просто запустить это окно СПЛ...
« Последнее редактирование: 25 Апрель 2014, 22:37:00 от EW6BN »
(ex EW6BN)

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Re: Slow Voice
« Ответ #10 : 25 Апрель 2014, 22:47:46 »
Вполне работоспособная идея, в терминах ЦОС, я так понимаю,  это дециматор/интнрполятор. wav-файл я так понял это то что сформировал SL и востановил Cool?
Да, ничего принципиально нового в идее нет.
Файл - да, результат обработки принятого с приемника и восстановленного программами сигнала.

Цитировать
Ну как бы настроил СПЛ на граббере, готов к эксперименту
На всякий случай, хотя наверное так и сделали - в настройках фильтра и демодулятора нужно не забыть указать правильные центральные частоты. У меня это 1500 при частоте настройки 136000. Если приемник настроен на 135500, то конечно нужно указать 2000 Гц...  :)

Ждем понедельника..
Ps я так думаю передать два-три раза с замедлением в 100 раз и один раз с замедлением в 300 раз для дальнейшего сравнения.
« Последнее редактирование: 25 Апрель 2014, 22:49:39 от rn3aus »

Оффлайн EW6X

  • Ветеран
  • *****
  • Сообщений: 1032
    • Просмотр профиля
Re: Slow Voice
« Ответ #11 : 25 Апрель 2014, 23:15:29 »
Вполне работоспособная идея, в терминах ЦОС, я так понимаю,  это дециматор/интнрполятор. wav-файл я так понял это то что сформировал SL и востановил Cool?
Да, ничего принципиально нового в идее нет.
Файл - да, результат обработки принятого с приемника и восстановленного программами сигнала.

Цитировать
Ну как бы настроил СПЛ на граббере, готов к эксперименту
На всякий случай, хотя наверное так и сделали - в настройках фильтра и демодулятора нужно не забыть указать правильные центральные частоты. У меня это 1500 при частоте настройки 136000. Если приемник настроен на 135500, то конечно нужно указать 2000 Гц...  :)

Ждем понедельника..
Ps я так думаю передать два-три раза с замедлением в 100 раз и один раз с замедлением в 300 раз для дальнейшего сравнения.
Отлично! Да, вбил 1990Гц в фильтре и демодуляторе ;)
Поставлю напоминалку на мобилке, чтобы не забыть запустить окно :) Если забуду с утра, то запущу по удалёнке со смартфона.
Если есть Viber, чиркните ваш номер в ЛС и можно держать связь через него, я всегда онлайн.
Кулэдитор не установлен, хотя где-то есть инсталяшка, есть другие редакторы, но главное записать, если что перешлю wav для анализа.

p.s. Сделал скрины каждые 2 мин и для ориентации будут заливаться на дропбокс https://www.dropbox.com/s/6nmpzjbmugo4ym3/spcvoice.jpg
« Последнее редактирование: 25 Апрель 2014, 23:55:51 от EW6BN »
(ex EW6BN)

Оффлайн EW6X

  • Ветеран
  • *****
  • Сообщений: 1032
    • Просмотр профиля
Re: Slow Voice
« Ответ #12 : 26 Апрель 2014, 10:53:50 »
Окошко включено, обкатать. Посмотрю как запись по расписанию пройдёт и сколько wav завесит.
Днём правда шумы возрастают, а ещё и Чайка слонимская сильно полосит :(

UPD Тест прошёл успешно, wav включается на запись и пишется, затем останавливается (за 1ч10мин =~93 мб), скрины сохнаняюися и аплоадятся на дропбокс.
Поставил CE2000, обработал  ::)
Вот результат часовой записи (1 мб) ;) https://www.dropbox.com/s/1a6kv1cft3orgg9/SV100_new.wav
« Последнее редактирование: 26 Апрель 2014, 16:49:02 от EW6BN »
(ex EW6BN)

Оффлайн rn3aus

  • Ветеран
  • *****
  • Сообщений: 2199
    • Просмотр профиля
Re: Slow Voice
« Ответ #13 : 26 Апрель 2014, 20:39:31 »
а ещё и Чайка слонимская сильно полосит :(

UPD Тест прошёл успешно, wav включается на запись и пишется, затем останавливается (за 1ч10мин =~93 мб), скрины сохнаняюися и аплоадятся на дропбокс.
Поставил CE2000, обработал  ::)
Вот результат часовой записи (1 мб) ;) https://www.dropbox.com/s/1a6kv1cft3orgg9/SV100_new.wav
Вроде все хорошо. Я, посмотрев на скриншот, боялся было что эти гармоники от Чайки будут поддавливать частотный дискриминатор. Но шум в записи хороший, не задавленный. Так что есть шансы на успех :)

PS Андрей АГЦ, не сможешь ли в понедельник также попринимать? У тебя самый лучший прием наверно будет. Интересно будет сравнить как уровень принятого с эфира сигнала будет влиять на качество восстановленной речи.
« Последнее редактирование: 26 Апрель 2014, 20:45:17 от rn3aus »

Оффлайн EW6X

  • Ветеран
  • *****
  • Сообщений: 1032
    • Просмотр профиля
Re: Slow Voice
« Ответ #14 : 26 Апрель 2014, 21:20:19 »
Вот результат часовой записи (1 мб) ;) https://www.dropbox.com/s/1a6kv1cft3orgg9/SV100_new.wav
Вроде все хорошо. Я, посмотрев на скриншот, боялся было что эти гармоники от Чайки будут поддавливать частотный дискриминатор. Но шум в записи хороший, не задавленный. Так что есть шансы на успех :)
Да, шумовая подложка вроде чистая, красивый белый шум  :) Попробуем...
(ex EW6BN)