Название: Wav => pcm Отправлено: LisandreL от Март 30, 2014, 00:20 Есть потребность получить из произвольного wav-файла звуковые данные в определённом формате (PCM, mono, 8кГц).
В принципе формат wav-файла не сложный, так что (особенно если ограничить число поддерживаемых кодеков) прочитать звуковые данные можно. Даунмикс каналов и ресемплинг тоже реализовать можно своими силами, но есть явное ощущение что это велосипед. Может быть подскажете готовые решения в виде библиотек или исходных кодов? Название: Re: Wav => pcm Отправлено: xokc от Март 31, 2014, 09:04 libsndfile http://www.mega-nerd.com/libsndfile/ (http://www.mega-nerd.com/libsndfile/) - чтение и конвертация форматов
libsamplerate http://www.mega-nerd.com/SRC/ (http://www.mega-nerd.com/SRC/) - ресемплинг Обе неоднократно проверенные (используются, в частности, в Adobe Audition), простые и надежные, правда не все просто с лицензией (libsamplerate не имеет LGPL), но там уж разберетесь сами. Название: Re: Wav => pcm Отправлено: LisandreL от Апрель 02, 2014, 10:56 libsndfile http://www.mega-nerd.com/libsndfile/ (http://www.mega-nerd.com/libsndfile/) - чтение и конвертация форматов Спасибо, остальное, пожалуй сам напишу.Название: Re: Wav => pcm Отправлено: xokc от Апрель 02, 2014, 20:01 Спасибо, остальное, пожалуй сам напишу. Вам оно, конечно, виднее, но, в общем случае, быстрый и качественный аудио ресемплинг дело совсем не тривиальное. Впрочем, не зная толком задачи лезть с советами не буду. Но в своё время преобразование файла с частотой дискретизации, например, 11025 Гц в 8000 Гц да ещё на блоках данных по 100 мс, да ещё на сигналах, где где разрыв фазы был категорически недопустим у меня лично попило много крови.Название: Re: Wav => pcm Отправлено: LisandreL от Апрель 02, 2014, 22:08 Впрочем, не зная толком задачи лезть с советами не буду Просто речь, данные целиком, скорость (в разумных пределах) не критична. |