Аудио в 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 коммент.:
>> x = audiorecorder(16000, 16, 1);
>> record(x);
а куда он сохранает этот файл?
Внутрь объекта audiorecorder. Вытащить отсчеты можно так: speech2 = getaudiodata(x, 'double'); x -- это audiorecorder.
Файл как таковой не сохраняется. Все в памяти висит.
Понятно.
А как можно тогда записать чтобы файл записался? Может мне это и не надо... но так, интересно.
Сохранить workspace :-)
У меня тема бакалаврской работы - Изменение голоса используя DSP.
Как менять pitch я еще не смотрел, пока интересуюсь как вообще в матлабе с WAV файлами работаь, записью итд.
Про pitch много люди написали... Я про это писал тут: http://blog.apalkoff.ru/2009/04/blog-post_26.html там ссылочка где-то есть
Я так понимаю это вот эта ссылочка - http://blog.apalkoff.ru/2009/04/blog-post_26.htm , спасибо!
Нз. Через 14 дней после опубликования все комменты идут на модерацию. Так что у вас, дорогой und, все с компом и интернетом нормально :-)
Я так и подумал :))
Но первым делол начал ругать вашь блог...
Отправить комментарий