audioread

Чтение звукового файла

Синтаксис

[y,Fs] = audioread(filename)
[y,Fs] = audioread(filename,samples)
[y,Fs] = audioread(___,dataType)

Описание

пример

[y,Fs] = audioread(filename) считывает данные из файла с именем filename и возвращает выборочные данные, y и частоту дискретизации для этого данные, Fs.

пример

[y,Fs] = audioread(filename,samples) читает выбранную область значений аудиосэмплов в файле, где samples является вектором формы [start,finish].

пример

[y,Fs] = audioread(___,dataType) возвращает выборочные данные в области значений данных, соответствующей dataType 'native' или 'double', и может включать любой из входных параметров в предыдущих синтаксисах.

Примеры

свернуть все

Создайте Файл WAVE из файла в качестве примера handel.mat и считайте файл назад в MATLAB®.

Создайте WAVE (.wav) файл в текущей папке.

load handel.mat

filename = 'handel.wav';
audiowrite(filename,y,Fs);
clear y Fs

Считайте данные назад в MATLAB с помощью audioread.

[y,Fs] = audioread('handel.wav');

Проигрывайте аудио.

sound(y,Fs);

Создайте файл FLAC из файла в качестве примера handel.mat, и затем только для чтения первые 2 секунды.

Создайте FLAC (.flac) файл в текущей папке.

load handel.mat

filename = 'handel.flac';
audiowrite(filename,y,Fs);

Только для чтения первые 2 секунды.

samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);

Проигрывайте выборки.

sound(y,Fs);

Создайте файл .flac, считайте первые 2 секунды файла и затем возвратите аудио в нативном целочисленном формате.

Создайте FLAC (.flac) файл в текущей папке.

load handel.mat
filename = 'handel.flac';
audiowrite(filename,y,Fs);

Только для чтения первые 2 секунды и задают данные и просматривают тип данных выборочных данных y. Типом данных y является double.

samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);
whos y
  Name          Size             Bytes  Class     Attributes

  y         16384x1             131072  double              

Запросите аудиоданные в собственном формате файла, и затем просмотрите тип данных выборочных данных y. Отметьте новый тип данных y.

[y,Fs] = audioread(filename,'native');
whos y
  Name          Size             Bytes  Class    Attributes

  y         73113x1             146226  int16              

Входные параметры

свернуть все

Имя файла, чтобы читать, заданный как вектор символа или представить в виде строки скаляр, который включает расширение файла. Если путь задан, это может быть абсолютным, относительным или частичным.

Пример: 'myFile.mp3'

Пример: '../myFile.mp3'

Пример: C: \temp\myFile.mp3'

audioread поддерживает следующие форматы файлов.

Поддержка платформFileFormat
Все платформыWAVE (.wav)
OGG (.ogg)
FLAC (.flac)
AU (.au)
AIFF (.aiff, .aif)
AIFC (.aifc)
Windows® 7 (или позже), Macintosh и Linux®MP3 (.mp3)
MPEG 4 AAC (.m4a, .mp4)

На платформах Windows до Windows 7 не читает audioread, Файлы WAVE с MP3 закодировали данные.

На Windows 7 (или позже) платформы, audioread может также считать любые файлы, поддержанные Windows Media® Foundation.

На платформах Linux audioread может также считать любые файлы, поддержанные GStreamer.

audioread может извлечь аудио от MPEG 4 (.mp4, .m4v) видеофайлы на Windows 7 или позже, Macintosh и Linux, и от Windows Media Video (.wmv) и AVI (.avi) файлы на Windows 7 (или позже) и платформы Linux.

Типы данных: char | string

Аудиосэмплы, чтобы читать, заданный как двухэлементный вектор формы [start,finish], где start и finish являются первыми и последними выборками, чтобы читать и являются положительными скалярными целыми числами.

  • start должен быть меньше чем или равен finish.

  • start и finish должны быть меньше, чем количество аудиосэмплов в файле,

  • Можно использовать inf, чтобы указать на последнюю выборку в файле.

Примечание

При чтении фрагмента некоторых файлов MP3 на платформах Windows 7 audioread может считать переключенную область значений выборок. Это происходит из-за ограничения в базовой среде Основы Windows Media.

При чтении фрагмента MP3 и файлов M4A на платформах Linux, audioread может считать переключенную область значений выборок. Это происходит из-за ограничения в базовой среде GStreamer.

Пример: 1:100

Типы данных: double

Формат данных аудиоданных, y, заданного как одно из следующего:

'double'С двойной точностью нормализованные выборки.
'native'Выборки в собственном формате найдены в файле.

Для сжатых форматов аудио, таких как MP3 и MPEG 4 AAC, которые не хранят данные в целочисленной форме, значениях по умолчанию 'native' к 'single'.

Типы данных: char | string

Выходные аргументы

свернуть все

Аудиоданные в файле, возвращенном как m-by-n матрица, где m является количеством чтения аудиосэмплов и n, являются количеством звуковых каналов в файле.

  • Если вы не задаете dataType, или dataType является 'double', то y имеет тип double, и элементы матрицы являются нормализованными значениями между −1.0 и 1.0.

  • Если dataType является 'native', то y может быть одним из нескольких типов данных MATLAB®, в зависимости от формата файла и значения BitsPerSample входного файла. Вызовите audioinfo, чтобы определить значение BitsPerSample файла.

    FileFormat 'BitsPerSample' Тип данных yОбласть значений данных y
    WAVE (.wav)8uint80 ≤ y ≤ 255
    16int16- 32 768 ≤ y ≤ +32767
    24int32- 2^31 ≤ y ≤ 2^31–1
    32int32- 2^31 ≤ y ≤ 2^31–1
    32единственный- 1,0 ≤ y ≤ +1.0
    64'double'- 1,0 ≤ y ≤ +1.0
    WAVE (.wav) (u-закон)8int16- 32 124 ≤ y ≤ +32124
    WAVE (.wav) (A-закон)8int16- 32 256 ≤ y ≤ +32256
    FLAC (.flac)8uint80 ≤ y ≤ 255
    16int16- 32 768 ≤ y ≤ +32767
    24int32- 2^31 ≤ y ≤ 2^31–1
    MP3 (.mp3), MPEG 4 AAC (.m4a, .mp4), OGG (.ogg) и определенные сжатые Файлы WAVEНет данныхединственный- 1,0 ≤ y ≤ +1.0

Примечание

Где y является single или double, и BitsPerSample равняется 32 или 64, значения в y могут превысить −1.0 или +1.0.

Частота дискретизации, в герц, аудиоданных y, возвратилась как положительный скаляр.

Ограничения

  • Для MP3, MPEG 4 AAC и звуковых файлов AVI на Windows 7 или позже и платформы Linux, audioread может считать меньше выборок, чем ожидалось. На платформах Windows 7 это происходит из-за ограничения в базовой среде Основы СМИ. На платформах Linux это происходит из-за ограничения в базовой среде GStreamer. Если вы требуете демонстрационных точных показаний, работаете с файлами FLAC или WAV.

  • На платформах Linux audioread читает файлы MPEG 4 AAC, которые содержат одноканальные данные как данные стерео.

Смотрите также

|

Представленный в R2012b

Была ли эта тема полезной?