33.5 Обработка аудиоданных
Octave предоставляет несколько функций для работы с аудиоданными. Аудио«образец» — это одно выходное значение АЦП, то есть небольшое целое число (обычно 8 или 16 бит), а аудиоданные — это просто последовательность таких образцов. Их можно охарактеризовать тремя параметрами: частотой дискретизации (измеряется в образцах в секунду или Гц, например, 8000 или 44100), количеством бит на образец (например, 8 или 16) и количеством каналов (1 для моно, 2 для стерео и т. д.).
Существует множество различных форматов представления таких данных. В настоящее время поддерживаются только два самых популярных формата: линейное кодирование и кодирование по закону μ. Отличное руководство по форматам аудиоданных от Гайдо ван Россума guido@cwi.nl можно найти на любом сайте часто задаваемых вопросов, в частности, в каталоге /pub/usenet/news.answers/audio-fmts на сайте архива rtfm.mit.edu.
Octave просто обрабатывает аудиоданные как векторы образцов (немонофонические данные пока не поддерживаются). Предполагается, что аудиофайлы с линейным кодированием имеют одно из расширений lin или raw, а файлы, содержащие данные в кодировании по закону μ, заканчиваются на au, mu или snd.
- y = lin2mu (x, n)
-
Преобразование аудиоданных из линейного в μ-закон.
Значения μ-закона используют 8-битные беззнаковые целые числа. Линейные значения используют n-битные знакомые целые числа или значения с плавающей точкой в диапазоне -1 ≤ x ≤ 1, если n равно 0.
Если n не указано, он по умолчанию устанавливается в 0, 8 или 16 в зависимости от диапазона значений в x.
См. также: mu2lin.
- y = mu2lin (x, n)
-
Преобразование аудиоданных из μ-закона в линейный.
Значения μ-закона представляют собой 8-битные беззнаковые целые числа. Линейные значения используют n-битные знакомые целые числа или значения с плавающей точкой в диапазоне -1 ≤ y ≤ 1, если n равно 0.
Если n не указано, он по умолчанию устанавливается в 0.
См. также: lin2mu.
- record (sec)
- record (sec, fs)
-
Запись sec секунд аудио с системного аудиовхода по умолчанию с частотой дискретизации 8000 образцов в секунду.
Если указан необязательный аргумент fs, он определяет частоту дискретизации для записи.
Для большего контроля над записью аудио используйте класс
audiorecorder.
- sound (y)
- sound (y, fs)
- sound (y, fs, nbits)
-
Воспроизведение аудиоданных y с частотой дискретизации fs на стандартном аудиоустройстве.
Аудиосигнал y может быть вектором или двумерным массивом с двумя столбцами, представляющим моно- или стереоаудио соответственно.
Если fs не указан, используется значение по умолчанию 8000 образцов в секунду.
Необязательный аргумент nbits определяет разрядность для воспроизведения на аудиоустройстве и по умолчанию равен 8 битам.
Для большего контроля над воспроизведением аудио используйте класс
audioplayer.
- soundsc (y)
- soundsc (y, fs)
- soundsc (y, fs, nbits)
- soundsc (…, [ymin, ymax])
-
Масштабирование аудиоданных y и их воспроизведение с частотой дискретизации fs на стандартном аудиоустройстве.
Аудиосигнал y может быть вектором или двумерным массивом с двумя столбцами, представляющим моно- или стереоаудио соответственно.
Если fs не указан, используется значение по умолчанию 8000 образцов в секунду.
Необязательный аргумент nbits определяет разрядность для воспроизведения на аудиоустройстве и по умолчанию равен 8 битам.
По умолчанию y автоматически нормализуется в диапазон [-1, 1]. Если указан диапазон [ymin, ymax], то элементы y, попадающие в диапазон ymin ≤ y ≤ ymax, масштабируются в диапазон [-1, 1] вместо этого.
Для большего контроля над воспроизведением аудио используйте класс
audioplayer.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v5.2.0/Audio-Data-Processing.html