Форум кафедры Техники и Электрофизики Высоких Напряжений

Онлайн-сообщество ТВНщиков
Гостям форума:

Добро пожаловать на форум по технике высоких напряжений!
Для получения доступа ко всем разделам необходимо зарегистрироваться


Текущее время: 12 дек 2019, 15:05

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: 13 ноя 2009, 20:07 
В сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4290
Откуда: Д-3
По материалам семинара в группе Э-04-07 от 11 ноября 2009 г.

Для начала немного о цифровом звуке. Любая функция (в том числе и звуковой сигнал) на компьютере представляется дискретно (как конечный набор значений (отсчетов), а не непрерывное их множество). Количество таких значений, укладывающихся в единичном отрезке, называют частотой дискретизации (или частотой сэмплирования).

В современных цифровых проигрывателях (бытовых, а не профессиональных) типовым значением частоты дискретизации является Fs = 44100 Гц, то есть в одной секунде - 44100 отдельных дискретных значений сигнала.

Важно с какой точностью представляются отдельные значения, т.е. какой тип переменной используется для их хранения. Переменная разрядностью 1 байт (8 бит) способна хранить только 256 градаций уровня сигнала, и этого оказывается недостаточно для качественной оцифровки звука (слишком грубая шкала). Поэтому обычно используются переменные разрядностью 2 байта (16 бит).

Воспроизведем в Матлабе ноту ля первой октавы - это стандартный камертон для музыкальных инструментов, частота звукового сигнала f = 440 Гц:



Код:
bits = 16; % разрядность в битах
Fs = 44100; % частота дискретизации
dt = 1/Fs; % шаг по времени

t = 0:dt:1; % создаем матрицу-строку значений времени
f = 440; % задаем частоту звукового сигнала
y = sin(2*pi*f*t); % рассчитываем значения звукового сигнала в дискретные моменты времени
sound(y,Fs,bits) % воспроизводим звуковой сигнал
wavwrite(y,Fs,bits,'A3.wav'); % записываем сигнал в дисковый файл

Звучит этот сигнал так:



Применим к сигналу дискретное преобразование Фурье и построим график его спектра.

Код:
N = length(y); % число дискретных значений в сигнале
y2 = fft(y,N)/N; % дискретное преобразование Фурье (методом БПФ)
f=(0:N-1)/N/dt; % матрица-строка частот

Код для построения графиков здесь опущен, чтобы не загромождать изложение, его можно посмотреть во вложенном файле A3spectrum.m.

Изображение

Спектр синусоидального сигнала оказался очень простым, на частоте 440 Гц в спектре имеется столбик высотой 0.5 (именно 0.5, а не единица, так как вторые 0.5 соответствуют отрицательной частоте -440 Гц, а отрицательные частоты на графике не показаны).

Проанализируем спектры музыкальных инструментов. Используем для этого следующий m-код.

Код:
[snd, Fs, bits] = wavread('piano_A3.wav');
y = snd(:,1).'; % будем анализировать только первый стерео-канал
dt = 1/Fs; % шаг по времени
N = length(y); % % число дискретных значений в сигнале
t = 0:dt:(N-1)*dt; % создаем матрицу-строку значений времени
sound(y,Fs,bits) % воспроизводим звуковой сигнал

N = length(y); % число дискретных значений в сигнале
y2 = fft(y,N)/N; % дискретное преобразование Фурье (методом БПФ)
f=(0:N-1)/N/dt; % матрица-строка частот

% код для построения графиков
scrsz = get(0,'ScreenSize');
figure('Position',[10 300 scrsz(3)-590 scrsz(4)-800])
subplot(1,2,1)
plot(t,y); grid on; xlabel('t, с'); ylabel('y'); title('Сигнал во временной области');
xlim([0.1 0.12]);
subplot(1,2,2)
bar(f, abs(y2)); grid on; xlabel('f, Гц'); ylabel('F(y)'); title('Спектр сигнала');
xlim([0 3500]); ylim([0 0.006]);
set(gca, 'ytick', ([0:0.001:0.006]),'xtick', ([0:500:3500]));


В первой строке считывается wave-файл, в котором записано воспроизведение роялем ноты ля первой октавы. Аналогичные файлы есть во вложении для скрипки и гобоя.

Рояль:



Изображение

Скрипка:



Изображение

Гобой:



Изображение

Спектры отличаются значительно. У рояля доминирует первая гармоника, у скрипки вклад высших гармоник более значителен, а у гобоя и вовсе третья гармоника является определяющей. Именно эти относительные соотношения амплитуд при гармониках и определяют характерное звучание музыкальных инструментов.

Во вложении к сообщению есть файл piano_C3_chord.wav. Звучит он так:



Изображение

Здесь столбики коэффициентов разложения уже не находятся равноудаленно друг от друга. Посмотрим более подробно на начальную часть спектра:

Изображение

Детальный анализ графика показывает, что первый столбик соответствует частоте 261.5 Гц, второй - 329.5 Гц, третий - 392.5 Гц, четвертый - 523.5 Гц. Смотрим в таблицу соответствия нот и частот и видим, что ближайшие значения такие:

261.5 Гц - нота до первой октавы 261.63 Гц
329.5 Гц - нота ми первой октавы 329.63 Гц
392.5 Гц - нота соль первой октавы 392.0 Гц
523.5 Гц - нота до второй октавы 523.25 Гц (вторая гармоника для до первой октавы)

Таким образом, анализ частотного спектра позволил распознать какими нотами сыгран аккорд - это основное мажорное трезвучие в тональности до мажор.

Во вложении находится архив с использованными wave-файлами, m-файлами и таблицей соответствия нот и частот.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 14 ноя 2009, 20:09 
В сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4290
Откуда: Д-3
Добавил спектры. Хотел сделать еще гитару с овердрайвом, но синтезированное звучание не понравилось, а живого сэмпла под рукой нет. Если считаете нужным включить другие инструменты - пишите.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 14 ноя 2009, 21:23 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 03 сен 2008, 17:00
Сообщения: 339
Откуда: Д-4а
А с барабанами можно так? :-)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 15 ноя 2009, 00:10 
В сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4290
Откуда: Д-3
С барабанами да, интересно :)

Бас-барабан (бочка):



Изображение

Малый барабан:



Изображение

Напольный том-том:



Изображение

Хай-хэт:



Изображение

Тарелка:



Изображение

Похоже, что хай-хэту не хватило частотного диапазона, оказалось, что 22.1 кГц это не предел. У бочки резонансный максимум 63 Гц, у малого барабана - 196 Гц, у том-тома - 121 Гц.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 16 ноя 2009, 11:14 
Не в сети
Изучает еще один язык
Аватара пользователя

Зарегистрирован: 02 сен 2009, 20:50
Сообщения: 469
Откуда: из Ногинска
Что то знакоемое Даниил Анатольевич, вы случаем музыку из 'фрукта'( Fruty Floops) взяли.

_________________
我愛 Matlab的


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 16 ноя 2009, 12:13 
В сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4290
Откуда: Д-3
Сэпмлы взяты из Reason ReFills различного происхождения: Reason Pianos (рояль), Reason Strings (скрипка), Miroslav Woodwinds (гобой), Jason McGerr Sessions (барабаны).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 16 ноя 2009, 12:40 
Не в сети
Изучает еще один язык
Аватара пользователя

Зарегистрирован: 02 сен 2009, 20:50
Сообщения: 469
Откуда: из Ногинска
понятно

_________________
我愛 Matlab的


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 16 ноя 2009, 12:44 
Не в сети
Изучает еще один язык
Аватара пользователя

Зарегистрирован: 02 сен 2009, 20:50
Сообщения: 469
Откуда: из Ногинска
просто в свое время пытался создавать музыку

_________________
我愛 Matlab的


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 16 ноя 2009, 13:35 
В сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4290
Откуда: Д-3
Ух, сейчас для этого такие возможности потрясающие на компьютере. Когда я был студентом, о таком можно было только мечтать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 05 дек 2012, 21:37 
Не в сети
Аватара пользователя

Зарегистрирован: 19 сен 2012, 23:54
Сообщения: 26
с чем связано "хлюпанье" или артефакты при сжатии в мп3? понятно, что там срезаются до определённых пределов частоты, но вот отчего возникают эти неприятные звуки?
Вроде по теме вопрос (ну, практически).

_________________
Бобр обыкновенный


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB