Иллюстрированный самоучитель по Matlab

         

Средства работы со звуком


Начиная с версии МАТЬАВ 5.0 в системе несколько расширены средства для работы со звуком. До этого система имела единственную звуковую команду:

sound(Y.Р5) — воспроизводит сигнал из вектора У с частотой дискретизации Р5 с помощью колонок, подключенных к звуковой карте компьютера. Компоненты У могут принимать значения в следующих пределах -1.0<=у<=1.0. Для воспроизведения стереозвука на допускающих это компьютерных платформах У должен быть матрицей размера

Мх2;

 sound(Y) — функционирует аналогично, принимая частоту дискретизации по умолчанию равной 8192 Гц;

sound(Y,РS.ВIТS) — функционирует аналогично с заданием разрядности звуковой карты: ВIТS=8 или ВIТ=16.

Теперь появились дополнительные команды воспроизведения звука:

sound(Y,...) — масштабирует и воспроизводит сигнал из массива У: По синтаксису команда аналогична-sound( Y,...);

soundsc(Y ,...,SLIМ) — аналогична предшествующей команде, но позволяет задать параметр SLIМ = [MIN(Y) MAX(Y)], определяющий тот диапазон значений Y, который будет соответствовать полному динамическому диапазону звука. По умолчанию SLIМ = [МIN(Y)  МАХ(У)].

Bеер оn или off — соответственно разрешает или запрещает гудок; 

 s=bеер — возвращает состояние оn|off

 bеер — при s=оn издает гудок.

Кроме того, введены команды для считывания и записи файлов звукового формата .WAV, стандартного для операционных систем класса Windows

wavwrite(Y,WAVEFILE_Е) — записывает файл типа WAVE под именем WAVELIFE. Данные по каждому каналу в случае стерео записывются в разных столбцах массива. Величины должны быть в диапазоне [-1; 1];

wavwrite(Y.FS.WAVEFILE) — делает то же с заданием частоты дискретизации FS (в герцах); 

wavwrite(Y,FS,NBITS,WAVEFILE) — делает то же с заданием числа бит на отсчет

NBITS, причем NBITS<=16;

Y=wavread(FILE) — считывает файл типа WAVE с именем FILE и возвращает данные в массиве Y;

[Y,FS,BITS]=wavread(FILE) — считывает файл типа WAVE с именем FILE и возвращает массив данных Y, частоту дискретизации FS (в герцах) и разрядность BITS кодирования звука (в битах);

[...]=wavread(FILE.N) — возвращает только первые N отсчетов из каждого канала файла;

[...]=wavread(FILE, [N1 N2]) — возвращает только отсчеты с номерами от N1 до N2 из каждого канала;

SIZ=wavread(FILE, 'size') — возвращает объем аудиоданных в виде вектора SIZ=[samples channels] (samples — число отсчетов, channels — число каналов);

auwrite - записывает файл в соответствии со звуковым форматом фирм Sun и Next; auread воспроизводит файлы в MATLAB 6 на Sun и в MATLAB 5 на Next.



Содержание раздела