Средства работы со звуком
Начиная с версии МАТЬАВ 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.