Спектр для звукового файла
-
- interested
- Сообщения: 3
- Зарегистрирован: 22 июн 2010, 18:36
- Версия LabVIEW: 7.1
- Контактная информация:
Спектр для звукового файла
Помогите пожалуйста написать программу! Нужно разбить звуковой файл на отрезки по 20 мс, а затем с помощью быстрого преобразования Фурье построить спектр, где по оси x - время, по оси y - частота, а по оси z - амплитуда. Если можно, скиньте пожалуйста готовую программу!!! Я понятия не имею, как ее писать Заранее спасибо)
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: спектр для звукового файла
разбивать надо наверное не на 20 мс, а на количество отсчетов, причем их число должно быть равно степени 2 (2^n) иначе не получится БПФAlexey_B писал(а):Помогите пожалуйста написать программу! Нужно разбить звуковой файл на отрезки по 20 мс, а затем с помощью быстрого преобразования Фурье построить спектр, где по оси x - время, по оси y - частота, а по оси z - амплитуда. Если можно, скиньте пожалуйста готовую программу!!! Я понятия не имею, как ее писать Заранее спасибо)
т.е. алгоритм следующий:
1. чтение файла
2. разбиение на части
3. обработка БПФ каждой части
4. формирование поверхности
сейчас времени нет, если ничего не выйдет раньше
то после обеда, что-нибудь свояю
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: спектр для звукового файла
БПФ получится и так, на сколько я знаю интерполирует данные для БПФ пока не получится 2^n.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: спектр для звукового файла
вроде так:
только учти, что в данном случае показаны и мнимая и реальные части
и необходимо проверить правильность временных и частотных меток
--------------******************----------------
вот и сам файл, как обещал
размер большой, так как в архиве звуковой файл wav-stereo
только учти, что в данном случае показаны и мнимая и реальные части
и необходимо проверить правильность временных и частотных меток
--------------******************----------------
вот и сам файл, как обещал
размер большой, так как в архиве звуковой файл wav-stereo
- Вложения
-
- 3D Spectr.zip
- lv2009
- (26.64 МБ) 428 скачиваний
Последний раз редактировалось IvanLis 23 июн 2010, 18:37, всего редактировалось 4 раза.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: спектр для звукового файла
ага, только в этом случае получается спектр, как бы "не нашего сигнала"eg писал(а):БПФ получится и так, на сколько я знаю интерполирует данные для БПФ пока не получится 2^n.
немного искаженный, в каких то случаях это нормально, а когда то - неприемлимо
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Спектр для звукового файла
Нормальный спектр получается, если учесть, что дополнение нулями во временной области это интерполяция до более частой сетки частот. Основные параметры сигнала не изменяться. Есть только несколько подводных камней, связанных с этой интерполяцией, поэтому следует перед преобразованием применить окно и/или дополнительный сглаживающий фильтр.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Спектр для звукового файла
можно ещё попробовать "Time Frequency Spectrogram" из toolkit'а Advanced Signal Processing.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- beginner
- Сообщения: 17
- Зарегистрирован: 02 май 2014, 16:03
- Версия LabVIEW: 2013
- Контактная информация:
Re: Спектр для звукового файла
Здравствуйте!
Подскажите пожалуйста я воспользовался примером с данной ветки, подскажите пожалуйста у меня есть 12 гиговый wav файл мне необходимо вычислить его спектр построить график, а так же построить сонограмму, но labview пишет что недостаточно памяти для завершения операции подскажите пожалуйста как считывать файл по частям и потом построить график (спектр, сонограмму целого файла) ?
Заранее большое спасибо!
Подскажите пожалуйста я воспользовался примером с данной ветки, подскажите пожалуйста у меня есть 12 гиговый wav файл мне необходимо вычислить его спектр построить график, а так же построить сонограмму, но labview пишет что недостаточно памяти для завершения операции подскажите пожалуйста как считывать файл по частям и потом построить график (спектр, сонограмму целого файла) ?
Заранее большое спасибо!
-
- beginner
- Сообщения: 17
- Зарегистрирован: 02 май 2014, 16:03
- Версия LabVIEW: 2013
- Контактная информация:
Re: Спектр для звукового файла
dadreamer, Спасибо за помощь я position mode выбрал абсолютный, position offset поставил 44100 а number of samples то же поставил 44100 все это поставил в цикл for до полного чтения файла, а теперь проблема как мне построить сонограмму всего файла а не его частей подскажите если кому не трудно.
Заранее большое спасибо!
Заранее большое спасибо!
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Спектр для звукового файла
Для того что-бы не загружать весь файл в память, у Вас он имеет значительные размеры, его нужно разбить на части.georgiy2590 писал(а):Спасибо за помощь я position mode выбрал абсолютный, position offset поставил 44100 а number of samples то же поставил 44100 все это поставил в цикл for до полного чтения файла, а теперь проблема как мне построить сонограмму всего файла а не его частей подскажите если кому не трудно.
Размер части логичнее выбрать соответствующий размеру окна (по времени).
За один цикл загружаете объем данных соответствующий размеру окна, вычисляете спектр, а результаты кидаете в массив, для накопления.
На следующем шаге считываете следующую порцию данных -> вычисляете спектр -> закидываете в массив.
Размер и форму окна, область перекрытия и прочие параметры выбираете исходя из задания и условий....
После обработки всего файла у Вас получится зависимость Уровень(частота, время), т.е. сонограмма. Вот ее и отображаете как результат.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Спектр для звукового файла
georgiy2590
Посмотрите вот эти темы, может быть, чем-то поможет...
http://labviewportal.org/viewtopic.php?f=106&t=6572
http://labviewportal.org/viewtopic.php?p=62828#p62828
Посмотрите вот эти темы, может быть, чем-то поможет...
http://labviewportal.org/viewtopic.php?f=106&t=6572
http://labviewportal.org/viewtopic.php?p=62828#p62828
-
- beginner
- Сообщения: 17
- Зарегистрирован: 02 май 2014, 16:03
- Версия LabVIEW: 2013
- Контактная информация:
Re: Спектр для звукового файла
IvanLis, Спасибо большое! Буду разбираться, а вот вы сказали размеру окна вы что имели ввиду (я просто не очень разбираюсь во всем этом начинаю тока ) ? Каким лучше всего инструментом вычислять спектр есть низкоуровневые а есть высокоуровневые (если я правильно понял)?
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Спектр для звукового файла
Сонограмма, она же спектрограмма это оконное преобразование, а результаты преобразований зависят от параметров окна.georgiy2590 писал(а):а вот вы сказали размеру окна вы что имели ввиду (я просто не очень разбираюсь во всем этом начинаю тока ) ? Каким лучше всего инструментом вычислять спектр есть низкоуровневые а есть высокоуровневые (если я правильно понял)?
В принципе это оконное преобразование Фурье (https://ru.wikipedia.org/wiki/%D0%9E%D0 ... 1%8C%D0%B5), если на англ. short-time Fourier transform (STFT). Однозначных рекомендаций по выбору окна и его параметров я не встречал.
В есть функция: STFT Spectrograms VI (http://zone.ni.com/reference/en-XX/help ... gram_core/)
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение