ilnur
Янв. 15, 2013 06:43:18
здравствуйте.
есть wav файл, записанный на смартфоне symbian, 16 битный.
подскажите. как увеличить громкость этого файла через питон. пока нашел только модуль wave во втором питоне. а вот как через него этого сделать, не разберусь
спасибо.
JOHN_16
Янв. 15, 2013 11:25:33
1) Смотрим доки на wave - все понятно.
2) readframes() считывает номер фрейма. Фрейм это набор сэмплов, т.е. для стерео файла это будет пара значений , для моно соответственно 1.
3) значения конвертируются в числа через модуль struct, порядок байтов little ‘<’
4) по поводу громкости: увеличение громкости под 0дБ делается так - максимальное теоретическое значение сэмпла (в случае 16 бит это 2**15, в случае с 8 битами иначе) делится на наибольшее значение сэмпла - на полученный коэффициент умножается весь намбор семплов.
5) Обработанные наборы сэмплов сохраняются через wave.waveframes*
в кратце как то так, пробуйте, пытайтесь. Если не получится - обращайтесь.
P.S. почитайте про структуру wave файла, понимание структуры поможет вам в программировании и терминах.
ilnur
Янв. 15, 2013 19:15:05
читал описание структуры. но так и не понял что да как. погугулю ещё