2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Помогите, пожалуйста, считать данные wav-файла в Delphi XE4
Сообщение10.11.2013, 21:10 
Необходимо считать из wav-файла данные амплитуд сигнала во все моменты времени, желательно в одномерный массив. Подскажите, пожалуйста, как это можно сделать, пользуясь Delphi XE4?
Со структурой wav-файла, в принципе, знаком, но вот добраться до необходимых данных никак не могу.
Заранее спасибо за помощь!

 
 
 
 Re: Помогите, пожалуйста, считать данные wav-файла в Delphi XE4
Сообщение10.11.2013, 22:11 
alex_under в сообщении #787262 писал(а):
Со структурой wav-файла, в принципе, знаком, но вот добраться до необходимых данных никак не могу.

Если знакомы -- то какие проблему? Она же (структура) простая. Пропустите заголовок -- и считывайте.

 
 
 
 Re: Помогите, пожалуйста, считать данные wav-файла в Delphi XE4
Сообщение10.11.2013, 23:02 
Вот тут-то как раз и проблема. Данные записаны поблочно, то есть сначала левый фронт сигнала, потом правый, потом снова левый и т. д. А нужно единственное значение - усредненное. Как оно формируется на основе исходных данных - не понятно.
В принципе эту процедуру шикарно выполняет wolfram mathemetica, но она не является freeware, потому хочется ее заменить.

 
 
 
 Re: Помогите, пожалуйста, считать данные wav-файла в Delphi XE4
Сообщение10.11.2013, 23:09 
alex_under в сообщении #787337 писал(а):
Данные записаны поблочно, то есть сначала левый фронт сигнала, потом правый, потом снова левый и т. д.

Этого я не знаю. В моём представлении WAV -- это просто сплошной поток, в котором каналы записываются просто параллельно, слово через слово. Да, я слыхал, что там в формате предусмотрена возможность какого-то сжатия (которой обычно не пользуются за ненадобностью); но что такое "фронт сигнала" применительно к звуковому потоку -- не понимаю совсем.

 
 
 
 Re: Помогите, пожалуйста, считать данные wav-файла в Delphi XE4
Сообщение11.11.2013, 06:40 
Аватара пользователя
ewert
Параллельность тут не причём. Совсем не причём.
Отсчёты в файле пишутся с чередованием, перемяжением.

alex_under
Правильно заданный вопрос это половина ответа. Формула усреднения известна. Поищите в интернете.

Что касается вашей задачи. Самое простое это оставить только первый канал. Более сложно надо стерео преобразовать в моно. Поищите наверное это уже кто-то делал до Вас. Уверен что в группе MPEG есть рекомендации по этому поводу.

 
 
 
 Re: Помогите, пожалуйста, считать данные wav-файла в Delphi XE4
Сообщение11.11.2013, 08:21 
Если есть фазовая совместимость, то задача решается тривиальным усреднением. Если нет, то вряд ли существует простое решение -- в любом случае придётся проводить какой-то спектральный анализ.

 
 
 
 Re: Помогите, пожалуйста, считать данные wav-файла в Delphi XE4
Сообщение11.11.2013, 14:47 
Спасибо всем большое, поищу в указанном направлении. Если что-то будет непонятно опять - вернусь с очередными вопросами...

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group