Милливольт 0 12 ноября, 2016 Опубликовано 12 ноября, 2016 · Жалоба Ниже выложил пробу звука на 978 бит/с - это тоже что и MELP 1200, только без битов FEC. Средний вариант между 1956 bps и 489 bps. Спасибо, полезно. У Вас в оригинальном файле какая-то предобработка? Вроде бы предварительное эхо? Я его ради интереса пропустил через свой кодек http://exfile.ru/483147 Если слушать через динамик, то, как мне кажется, мой вариант предпочтительнее, если же через наушники, то однозначно - МЕLP лучше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mister_DSP 0 12 ноября, 2016 Опубликовано 12 ноября, 2016 · Жалоба Если вы спросили про первую пробу(где 2 голоса), то это запись с радио - может быть все что угодно: начиная от эха, заканчивая фоновыми звуками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Милливольт 0 12 ноября, 2016 Опубликовано 12 ноября, 2016 · Жалоба Всё, нет моих сил больше. В файле - последняя версия акустической части, ничего менять не буду. С вокодера, которому передается только нормированный энергетический спектр (без синусной и косинусной компонент), выжать что-нибудь еще невозможно. Пришлось отказаться от полулогарифмического сжатия сигнала, т.к. все эксперты морщили носы, говорили о "советском" звучании и т.п. Впрочем, замечания приму к сведению и буду за них признателен (виртуально, понятное дело). RESUL.WAV Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
z64 0 12 ноября, 2016 Опубликовано 12 ноября, 2016 · Жалоба Я правильно понял постановку задач. Нужно получить неузнаваемость голоса абонента? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Милливольт 0 12 ноября, 2016 Опубликовано 12 ноября, 2016 · Жалоба Я правильно понял постановку задач. Нужно получить неузнаваемость голоса абонента? Нет, разумеется, у меня такой задачи не стоит. Пока только рожал ежика. Смысл родов в том, чтобы ограничиться минимумом информации как передаваемой по каналу связи, так и хранимой в приемном и передающем устройстве. При приемлемом качестве речи (хотя желания потенциальных пользователей в этом плане абсолютно нереалистичны). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mister_DSP 0 13 ноября, 2016 Опубликовано 13 ноября, 2016 (изменено) · Жалоба какой битрейт (максимальный, пик) у последней звуковой пробы? Изменено 13 ноября, 2016 пользователем Mister_DSP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Милливольт 0 13 ноября, 2016 Опубликовано 13 ноября, 2016 · Жалоба какой битрейт (максимальный, пик) у последней звуковой пробы? Такой же, не изменился. Для именно этой пробы - 850 без предварительного сжатия и 300 после Хаффмена. Изменил только окно данных в синтезаторе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mister_DSP 0 13 ноября, 2016 Опубликовано 13 ноября, 2016 · Жалоба По качеству если 800 бит/с - то уступает MELP-у. Если 300 бит/с - превосходно для такого битрейта! Какой размер блока в байтах сжимаете Хаффманом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Милливольт 0 13 ноября, 2016 Опубликовано 13 ноября, 2016 · Жалоба Какой размер блока в байтах сжимаете Хаффманом? 300 миллисекунд Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mister_DSP 0 13 ноября, 2016 Опубликовано 13 ноября, 2016 · Жалоба Сможет ли Хаффман пожать блок из 33 байт? Это 6 фреймов вокодера MELP, данные кореллируют между собой (параметры речевого сигнала) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Милливольт 0 13 ноября, 2016 Опубликовано 13 ноября, 2016 (изменено) · Жалоба Сможет ли Хаффман пожать блок из 33 байт? Это 6 фреймов вокодера MELP, данные кореллируют между собой (параметры речевого сигнала) Да, в каноническом включении здесь проблемы. Но если представлять последовательность байт в виде ДИКМ, причем невязку корректировать в последующем такте, то все очень недурно получается. Номера передаваемых спектров надо, понятное дело, изначально располагать по частости встречаемости и минимальному ожидаемому приращению на последующем такте. Этот метод мы отработали еще при цифровой передаче ЭКГ через акустический канал мобильника (как говорит ув. GeGel "поверх GSM"). (это лучше нарисовать, т.к. я что-то косноязычно выражаюсь). Для иллюстрации та же запись с разным битрейтом. Это без(!) Хаффмена, просто передаваемые спектры обновляются не при появлении каждой новой "особой точки", а через тактRESUL400.WAV, через два такта, через три, т.е. время обновления спектра становится не приблизительно 10 мсек изначально, а 20...30.. и т.д. RESUL200.WAV RESUL150.WAV RESUL100.WAV Из этих иллюстраций хорошо видно (слышно) как действительно сильно коррелирован речевой сигнал. Изменено 13 ноября, 2016 пользователем Милливольт Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mister_DSP 0 13 ноября, 2016 Опубликовано 13 ноября, 2016 · Жалоба При таких крохотных битрейтах вышло великолепно! :rolleyes: Речь на грани разборчивости, зато в узкие каналы пролезет. Единственно в пробе на 100 бит/с фрагменты слов проглатываются - это плохо. А так в целом отлично! Если спектр не обновляется, а только через такт: выходит вы просто дублируете синтез волны при декодировании или как? Я так делал, получается голосовой джиттер. Фрейм у меня 22,5 мс. Пробовал LSP брать через раз - нормально выходит, но если брать через 3 раза, то уже неприемлемо. Мой мод кодека до 381 бит/с ещё можно уменьшить путём загрубления Pitch/Gain/BPV. LSP лучше не трогать. Но качество пострадает, расборчивость на грани. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Милливольт 0 14 ноября, 2016 Опубликовано 14 ноября, 2016 (изменено) · Жалоба Единственно в пробе на 100 бит/с фрагменты слов проглатываются - это плохо. В очередной раз спасибо за ценное замечание. Устранил.RESUL100.WAV Но для стабильного потока без сжатия не получается 100 - только 120. Т.е. 1 раз в 100 мсек передается номер спектра (8 бит) плюс количество повторений в течение этого периода времени (4 бита). Итого 12 бит за 100 мсек, соответственно 120 бит/сек. Звук грубоватый, конечно, не выйдет говорить в итальянском темпе, но для служебной связи, возможно, и будет приемлемо. Вообще, рекорды битрейта - не самоцель. А вот передача поверх GSM должна показать кто есть ху. Изменено 14 ноября, 2016 пользователем Милливольт Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mister_DSP 0 16 ноября, 2016 Опубликовано 16 ноября, 2016 (изменено) · Жалоба Пробовал навернуть Рида-Соломона на пакет 6x6 байт - раздул до 8x8 байт (добавочные 2x8 8x2 и 2x2). Потребовалось увеличить битрейт модема в 2 раза. В итоге только хуже -много пакетов теряется в дальней зоне, а в ближней - с искажениями. Видать, чутьё упало на 3дБ, поэтому пакетов нет, коррекция простаивает.... Так что Ваш интерес снижать битрейт - очень восстребованное ИМХО дело! Изменено 16 ноября, 2016 пользователем Mister_DSP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Милливольт 0 16 ноября, 2016 Опубликовано 16 ноября, 2016 · Жалоба В итоге только хуже -много пакетов теряется в дальней зоне, а в ближней - с искажениями. У нас при разработке микромощной телеметрии для использования внутри зданий была та же самая история. Ничего из общеупотребительных средств не помогало. Но в итоге проблема решилась успешно. Если это будет уместным, опишу подробно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться