Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Чтение mp3 файла...


Автор: inside 4.8.2006, 23:55
Ребят, привет! Нужно смешать два файла, один из которых в mp3...  Подскажите - где можно прочитать про его структуру? Читал статью про wav файлы в переводе alexeis1. Как бы найти похожую про mp3 файл?! Сразу скажу, что библиотека bass.dll не подоходит. =)

Спасибо!  smile 

Автор: Alexeis 5.8.2006, 00:00
Структура mp3 очень сложная, у меня есть документация на английском. Могу выложить.

Добавлено @ 00:03 
Еще существует библиотека TLame для кодирования и декодирования mp3.

Добавлено @ 00:11 
Еще есть библиотека MpegAudio

Автор: inside 5.8.2006, 10:21
Хмм.. то есть думаешь есть смысл декодировать в wav и микшировать его с дргим набором данных, да? Что тогда будет происходить с качеством записи?

ЗЫ: Спасибо за библиотеки  smile 

Автор: Alexeis 5.8.2006, 18:34
Цитата(inside @  5.8.2006,  10:21 Найти цитируемый пост)
Хмм.. то есть думаешь есть смысл декодировать в wav и микшировать его с дргим набором данных,

Обычно так и делается, но теоретически можно и Wav в Мр3 перекодировать, а затем их сумивать их как фурье спектры, но я про такое не слышал.

Автор: inside 5.8.2006, 21:26
Понял, спасибо...  smile 

Автор: Alexeis 6.8.2006, 02:31
Вообще с mp3 имеются довольно большие трудности, так как он не является свободным.
Главный документ регламентитующий все правила кодирования и декодирования

ISO/IEC JTC1/SC29/WG11 MPEG, International Standard IS 11172-3 "Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s, Part 3: Audio".

Стоит 180$ в электронном варианте и 320$ в печатном виде. Mp3 данные проходят несколько нелинейных необратимых обработок, после чего данные потока совершенно бесполезно как либо менять без декодирования. Единственное, что возможно с ними делать, это разбивать (по границе фрейма) и, конечно менять содержимое ID Tag v1 и  ID Tag v2 либо удалять их вовсе.

Библиотека  Lame - позволяет кодировать выборки в mp3 фреймы, библиотека BASS вообще недокомпелированый плеер. Декодировать аудио позволяет Direct Sound.

Автор: inside 6.8.2006, 21:23
А такой вопрос - а где можно найти документацию по декодированию из mp3 в wav при помощи Lame?

PS:
http://forum.vingrad.ru/index.php?showtopic=36344&unread=1&hl=lame
Тут прочитал, что якобы Lame не декодирует из Mp3 в wav...  smile  или я что-то не понял?  smile 

Автор: Alexeis 6.8.2006, 22:27
Таки она не позволяет декодировать! Только кодировать.

Автор: inside 7.8.2006, 00:44
А как же тогда получить выборки, чтобы их потом сложить, если у меня mp3 файл?  smile 

Автор: Alexeis 8.8.2006, 09:26
Да нужен, конечно декодер. Вчера я нашел, новую версию библиотеки Bass.dll v2.3, c подробными примерами, в том числе декодирования mp3, в Wav. Говорят, что хорошо декодирует библиоека WinAmpa in_mp3.dll или mp3.dll, но документации по ней нет, даже на сайте винампа. На форуме дают только самопальные заголовки, сомнителтной работоспособности.

Автор: inside 8.8.2006, 11:27
Вооооот черт... bass я бы не хотел делать, т.к. насколько я знаю - при коммерческом использовании за него нужно платить?! А мне сказали, что использовать только бесплатные модули можно....  smile 

Автор: Alexeis 8.8.2006, 13:34
У меня есть еще пару демок, проигрывающих mp3, т.е. производящих декодирование в конечном итоге, но нет пока что времени перелопатить их чтобы, выдрать алгоритм декодирования, очень похоже что все они используют Direct Sound. Но можно ли перенастроить этот декодер на буфер, вместо звукового выхода я еще не знаю. Могу выложить исходники, может кто еще подключится...

Автор: Romikgy 8.8.2006, 14:13
inside, книгу купи , называется (по памяти) "Кодирование звука в Windows" правда там примеры на С++ , но очень точно все расписано в исходниках, плюс там не только вав или мр3 а еще куча чего

Автор: Alexeis 9.8.2006, 00:20
Прикрепляю

Автор: inside 9.8.2006, 02:11
Спасибо - тщательно изучу  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)