пятница, 11 сентября 2009 г.

Аудио в MATLAB

Записывать можно с помощью wavrecord():

>> speech = wavrecord(16000, 8000, 1, 'double');
>> sound(speech) % воспроизведение с частотой дискретизации по умолчанию 8192 Гц)

Это запись 16000 отсчетов с частотой дискретизации 8 кГц, моно (только Windows).

Запись с помощью audiorecorder():
>> x = audiorecorder(16000, 16, 1);
>> record(x);
% recording ...
>> stop(x); % другие комманды: pause(), resume()
>> play(x);
>> speech2 = getaudiodata(x, 'double'); %преобразование

x: это объект audio recorder
16000: Гц, частота дискретизации (обычные значения: 8000, 11025, 22050, 44000)
16: точность представления отсчета в битах
1: количество каналов

Максимальный динамический диапазон для 16-битного представления -32768~32767. Он масштабируется к диапазону –1.0~1.0 в представлении double. Если по каким-то причинам значения сигнала вызывают переполнение, можно использовать sound(speech):
>> soundsc(speech, 8000); % или
>> sound(speech / max(abs(speech)), 8000);

Отображать во временной области так:
>> plot(speech); % или
>> plot([1:size(speech)]/8000, speech); % на оси x время в секундах

9 коммент.:

und 24 сентября 2009 г., 1:12  

>> x = audiorecorder(16000, 16, 1);
>> record(x);

а куда он сохранает этот файл?

apalkoff 24 сентября 2009 г., 11:31  

Внутрь объекта audiorecorder. Вытащить отсчеты можно так: speech2 = getaudiodata(x, 'double'); x -- это audiorecorder.

Файл как таковой не сохраняется. Все в памяти висит.

und 24 сентября 2009 г., 12:02  

Понятно.

А как можно тогда записать чтобы файл записался? Может мне это и не надо... но так, интересно.

apalkoff 24 сентября 2009 г., 12:15  

Сохранить workspace :-)

und 24 сентября 2009 г., 18:05  

У меня тема бакалаврской работы - Изменение голоса используя DSP.

Как менять pitch я еще не смотрел, пока интересуюсь как вообще в матлабе с WAV файлами работаь, записью итд.

apalkoff 24 сентября 2009 г., 20:17  

Про pitch много люди написали... Я про это писал тут: http://blog.apalkoff.ru/2009/04/blog-post_26.html там ссылочка где-то есть

und 27 сентября 2009 г., 2:04  

Я так понимаю это вот эта ссылочка - http://blog.apalkoff.ru/2009/04/blog-post_26.htm , спасибо!

apalkoff 27 сентября 2009 г., 11:03  

Нз. Через 14 дней после опубликования все комменты идут на модерацию. Так что у вас, дорогой und, все с компом и интернетом нормально :-)

und 27 сентября 2009 г., 18:28  

Я так и подумал :))

Но первым делол начал ругать вашь блог...

Отправить комментарий