Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Codec Melp
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Elehcodec
Кто-нибудь знает где можно найти декодер Melp. Нашел кодер на 2,4 (исходники на С), но проблема в том что необходимо осуществить обратную операцию, а декодер отсутствует, или может я просто не пойму как правильно запустить декодер с командной строки. Но вродебі все правильно (даже слова decode в С коде не нашел). А также где есть исходники на кодеки -Melp 1,2 и 0,6.
fontp
Цитата(Elehcodec @ Nov 9 2006, 22:40) *
Кто-нибудь знает где можно найти декодер Melp. Нашел кодер на 2,4 (исходники на С), но проблема в том что необходимо осуществить обратную операцию, а декодер отсутствует, или может я просто не пойму как правильно запустить декодер с командной строки. Но вродебі все правильно (даже слова decode в С коде не нашел). А также где есть исходники на кодеки -Melp 1,2 и 0,6.


Это не поможет?
http://maya.arcon.com/ddvpc/melp.htm

И здесь
http://datacompression.info/Speech.shtml

1.2 и 0.6 в сети не встречалось. И там вообще какая-то детективная история кому принадлежат права на лицензию
Elehcodec
Брал исходники с этих источников, компилировал кодек, но у меня получается только кодирование, т.е. сигнал сжимается, а как сделать обратную процедуру? Я мог ошибиться, но для декодера там информации я не нашел. В самих листингах слово decode встречается только на этапе векторного квантования. sad.gif
fontp
Цитата(Elehcodec @ Nov 12 2006, 16:03) *
Брал исходники с этих источников, компилировал кодек, но у меня получается только кодирование, т.е. сигнал сжимается, а как сделать обратную процедуру? Я мог ошибиться, но для декодера там информации я не нашел. В самих листингах слово decode встречается только на этапе векторного квантования. sad.gif



Да нет, здесь и кодер и декодер в одном флаконе
http://maya.arcon.com/ddvpc/melp.htm

Usage: melp -i infile -o outfile
or
melp -a -i infile -o bitstream
or
melp -s -i bitstream -o outfile

Но ещё интересней вот эта реализация для 6х, которой уже нет smile.gif
http://www.dsprelated.com/groups/c6x/show/249.php

Похоже при разработке стандарта рабочая группа распространяла и стандарт и реализации MELP
Окончательным стандартом DoD стал MELPe и после принятия стандарта и сам стандарт MELPe и реализации исчезли
Elehcodec
Вы считаете что с помощью команды « melp -i infile -o outfile » осуществляются операции кодирования и декодирования одновременно и получается файл пропущенный через Melp кодек? Почему тогда в листинге «melp.c» и «readme» сказано только про кодер и ни слова про кодек?
Также получается что команда «melp -a -i infile -o bitstream» запускает анализ речевого кадра или другими словами кодирует, а команда «melp -s -i bitstream -o outfile» осуществляет синтез или декодирует речевой сигнал?
Если это все верно тогда еще несколько вопросов.
Как я понимаю кодер разбивает входной сигнал на кадры по 180 16-и битных отсчетов, из которых на выходе должно получится 54 бита.
Я получил следующее:

вход - 180 16-и битных отсчетов (360 байт) (1 кадр) – выход 72 байта (вместо 54 бит)
вход - 360 16-и битных отсчетов (720 байт) (2 кадра)– выход 108 байт (вместо 108 бит)
вход - 540 16-и битных отсчетов (1080 байт) (3 кадра)– выход 144 байта (вместо 162 бит)

Как известные параметры которые должны быть расспределены в 54 битах располагаются в 72 байтах, т.е. где какой параметр?
fontp
Цитата(Elehcodec @ Nov 14 2006, 23:54) *
Вы считаете что с помощью команды « melp -i infile -o outfile » осуществляются операции кодирования и декодирования одновременно и получается файл пропущенный через Melp кодек? Почему тогда в листинге «melp.c» и «readme» сказано только про кодер и ни слова про кодек?
Также получается что команда «melp -a -i infile -o bitstream» запускает анализ речевого кадра или другими словами кодирует, а команда «melp -s -i bitstream -o outfile» осуществляет синтез или декодирует речевой сигнал?
Если это все верно тогда еще несколько вопросов.
Как я понимаю кодер разбивает входной сигнал на кадры по 180 16-и битных отсчетов, из которых на выходе должно получится 54 бита.
Я получил следующее:

вход - 180 16-и битных отсчетов (360 байт) (1 кадр) – выход 72 байта (вместо 54 бит)
вход - 360 16-и битных отсчетов (720 байт) (2 кадра)– выход 108 байт (вместо 108 бит)
вход - 540 16-и битных отсчетов (1080 байт) (3 кадра)– выход 144 байта (вместо 162 бит)

Как известные параметры которые должны быть расспределены в 54 битах располагаются в 72 байтах, т.е. где какой параметр?


Да ничего я не считаю, я ссылаюсь на пользовательское описание. Хотя похоже на то.
Кодер создаёт битстрим
melp -a -i infile -o bitstream
А декодер из битстрима делает сигнал
melp -s -i bitstream -o outfile

А что там с упаковкой вообще тёмный вопрос (я с этим кодеком вообще никогда не работал). Мало ли что - в G729 вообще по стандарту отдельные биты в байты пакуются :-) и прилепляется внеканальный хидер
Ravnoznachnost
А кто нибудь может объяснить в каком виде для этих исходников представляется речь в входном и выходном файлах? На PC все это нормально компилируется и вроде даже работате, но хотелось бы послушать результат работы.
sergvks
Цитата(Ravnoznachnost @ Apr 15 2007, 10:23) *
А кто нибудь может объяснить в каком виде для этих исходников представляется речь в входном и выходном файлах? На PC все это нормально компилируется и вроде даже работате, но хотелось бы послушать результат работы.

PCM 8000KHz 16бит прослушать можно саунд форжем например выбрав raw формат.
Ravnoznachnost
Цитата(sergvks @ Apr 16 2007, 10:32) *
PCM 8000KHz 16бит прослушать можно саунд форжем например выбрав raw формат.


Спасибо, получилось запустить. Саунд фордж очень мощная тулза, жаль что раньше ей не пользовался.
ivan2
Добрый день.
Кто в курсе, поделитесь новостями пожалуйста rolleyes.gif
Не просыпалась ли в сеть какая-нибудь инфа по кодеку 0,6 Кбит/с (стандарт, исходники,...)?
Буду очень признателен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.