audioDatastore

Datastore для набора аудио файлов

Описание

Использование audioDatastore объект для управления набора аудио файлов, где каждый индивидуум аудио файла помещается в памяти, но весь набор аудио файлов не обязательно помещается.

Создание

Описание

пример

ADS = audioDatastore(location) создает хранилище datastore ADS на основе аудио файла или набора аудио файлов в location.

пример

ADS = audioDatastore(location,Name,Value) задает дополнительные свойства, используя один или несколько аргументы пары "имя-значение".

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

расширить все

Файлы или папки, включенные в datastore, задаются в виде пути или DsFileSet объект.

  • path - Задайте путь как вектор символов, массив ячеек из векторов символов, строковый скаляр или строковые массивы, содержащий расположение файлов или папок. Задайте location как локальный путь к файлам или папкам. Если файлов нет в текущей папке, то локальный путь должен задавать полные или относительные пути. Файлы в подпапках указанной папки не включаются автоматически в datastore. При указании локального пути можно использовать символ подстановки (*). Этот символ указывает, что datastore включает все соответствующие файлы или все файлы в соответствующих папках.

  • DsFileSet объект - Вы также можете задать location как DsFileSet объект. Для получения дополнительной информации смотрите matlab.io.datastore.DsFileSet.

Когда location представляет папку, datastore включает только поддерживаемые форматы файлов и игнорирует любой другой формат. Чтобы задать пользовательский список расширений файлов, которые будут включены в ваш datastore, смотрите FileExtensions свойство.

Пример: 'song.wav'

Пример: '../dir/music/song.wav'

Пример: {'C:\dir\music\song.wav','C:\dir\speech\english.mp3'}

Пример: 'C:\dir\music\*.ogg'

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: ADS = audioDatastore('C:\dir\audiodata','FileExtensions','.ogg')

Флаг включения подпапки, заданный как разделенная разделенными запятой парами, состоящая из 'IncludeSubfolders' и true или false. Задайте true включать все файлы и подпапки в каждую папку или false для включения только файлов в каждую папку.

Если вы не задаете 'IncludeSubfolders', затем значение по умолчанию false.

Пример: 'IncludeSubfolders',true

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

Источник, обеспечивающий данные метки, заданный как разделенная разделенными запятой парами, состоящая из 'LabelSource' и 'none' или 'foldernames'. Если 'none' задается, затем Labels свойство пустое. Если 'foldernames' задается, затем метки назначаются в соответствии с именами папок и хранятся в свойстве Labels. Можно позже изменить метки, обратившись к Labels свойство непосредственно.

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

Аудио файла расширения, заданные как разделенные запятой пары, состоящие из 'FileExtensions' и вектор символов, массив ячеек из векторов символов, строковый скаляр или строковые массивы. Если вы не задаете 'FileExtensions', затем audioDatastore автоматически включает все поддерживаемые типы файлов:

  • .wav

  • .avi

  • .aif

  • .aifc

  • .aiff

  • .mp3

  • .au

  • .snd

  • .mp4

  • .m4a

  • .flac

  • .ogg

  • .mov

Пример: 'FileExtensions','.wav'

Пример: 'FileExtensions',{'.mp3','.mp4'}

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

В дополнение к этим парам "имя-значение", вы также можете задать любое из свойств на этой странице как пары "имя-значение", кроме Files свойство.

Свойства

расширить все

Файлы, включенные в datastore, задаются как векторы символов, массив ячеек из векторов символов, строковый скаляр или строковые массивы. Каждый вектор или строка символов является полным путем к файлу. The location аргумент в audioDatastore определяет Files при создании datastore.

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

Это свойство доступно только для чтения.

Папки, используемые для создания audio datastore, возвращенные как N-на-1 массив ячеек векторов символов. Каждая строка задает уникальную папку, содержащую аудио файлов, которые audioDatastore объектные точки в.

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

Метки файлов для файлов в datastore, заданные как вектор, массив ячеек, строковые массивы или таблица. Порядок меток в массиве или таблице соответствует порядку связанных файлов в datastore.

Если вы задаете LabelSource как 'foldernames' при создании audioDatastore объект, затем имя метки для файла является именем папки, содержащей его. Если вы не задаете LabelSource как 'foldernames', затем Labels - пустой массив ячеек или строковые массивы. Если вы меняете Files свойство после создания datastore, затем Labels свойство не обновляется автоматически для включения добавленных полей.

Типы данных: categorical | cell | logical | double | single | string | table

Тип данных выхода, заданный как 'double' или 'native'.

  • 'double' - Нормированные выборки двойной точности.

  • 'native' -- Собственный тип данных найден в файле. См. audioread для получения дополнительной информации о типах данных при OutputDataType имеет значение native.

Значение по умолчанию этого свойства 'double'.

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

Альтернативные файлы системы корневые пути, заданные как строка вектора-строки, массив ячеек из строки векторов или массив ячеек из векторов символов. Использование AlternateFileSystemRoots когда вы создаете datastore на локальной машине, но должны получить доступ и обработать данные на другой машине (возможно, другой операционной системы). Кроме того, при обработке данных с помощью Parallel Computing Toolbox™ и MATLAB® Parallel Server™, и данные хранятся на локальных машинах с копией данных, доступных на другой платформе облака или кластерных машинах, необходимо использовать AlternateFileSystemRoots для связи корневых путей.

  • Чтобы связать набор корневых путей, эквивалентных друг другу, задайте AlternateFileSystemRoots как строковый вектор. Для примера:

    ["Z:\datasets","/mynetwork/datasets"]

  • Чтобы связать несколько наборов корневых путей, эквивалентных datastore, задайте AlternateFileSystemRoots как массив ячеек, содержащий несколько строк, где каждая строка представляет собой набор эквивалентных корневых путей. Задайте каждую строку в массиве ячеек как строковый вектор или массив ячеек из векторов символов. Для примера:

    • Задайте AlternateFileSystemRoots как массив ячеек из строковых векторов.

      {["Z:\datasets", "/mynetwork/datasets"]; ...
       ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}

    • Кроме того, задайте AlternateFileSystemRoots как массив ячеек из массивов ячеек векторов символов.

      {{'Z:\datasets', '/mynetwork/datasets'}; ...
       {'Y:\datasets", '/mynetwork2/datasets','S:\datasets'}}

Значение AlternateFileSystemRoots должны удовлетворять следующим условиям:

  • Содержит одну или несколько строк, где каждая строка задает набор эквивалентных корневых путей.

  • Каждая строка задает несколько корневых путей, и каждый корневой путь должен содержать не менее двух символов.

  • Корневые пути уникальны и не являются подпапками друг друга.

  • Содержит по крайней мере один корневой путь, указывающий на расположение файлов.

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

Это свойство доступно только для чтения.

Форматы, поддерживаемые для записи аудио файлов при использовании writeall функция, заданная как ["wav","flac","ogg","mp4","m4a"].

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

Это свойство доступно только для чтения.

Формат выхода по умолчанию для записи аудио файлов при использовании writeall функция, заданная как "wav".

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

Функции объекта

readЧтение следующих последовательных аудио файла
readallЧтение всех аудио файлов из datastore
resetСбросьте указатель на чтение datastore в начало данных
hasdataВозвращает true, если в datastore больше данных
shuffleShuffle файлы в datastore
subsetСоздайте datastore с подмножеством файлов
previewПрочтите первый файл из datastore для предварительного просмотра
progressЧасть считанных файлов
splitEachLabelРазделяет datastore согласно заданным пропорциям меток
countEachLabelКоличество уникальных меток
partitionPartition datastore и возврат на секционированный фрагмент
numpartitionsОценка возврата для разумного количества разделов для параллельной обработки
combineОбъедините данные из нескольких хранилищ данных
transformПреобразуйте audio datastore
writeallЗапись datastore в файлы
isPartitionableОпределите, является ли datastore разделяемым
isShuffleableОпределите, является ли datastore shuffleable

Примеры

свернуть все

Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™.

folder = fullfile(matlabroot,'toolbox','audio','samples');

Создайте audio datastore, который указывает на указанную папку.

ADS = audioDatastore(folder)
ADS = 
  audioDatastore with properties:

                       Files: {
                              ' .../build/matlab/toolbox/audio/samples/Ambiance-16-44p1-mono-12secs.wav';
                              ' .../matlab/toolbox/audio/samples/AudioArray-16-16-4channels-20secs.wav';
                              ' .../toolbox/audio/samples/ChurchImpulseResponse-16-44p1-mono-5secs.wav'
                               ... and 31 more
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

Укажите путь к файлу для выборок аудио, включенных в Audio Toolbox™.

folder = fullfile(matlabroot,'toolbox','audio','samples');

Создайте audio datastore, который указывает на .ogg файлы в указанной папке.

ADS = audioDatastore(folder,'FileExtension','.ogg')
ADS = 
  audioDatastore with properties:

                       Files: {
                              ' .../build/matlab/toolbox/audio/samples/FemaleVolumeUp-16-mono-11secs.ogg';
                              ' .../bat/BR2021ad/build/matlab/toolbox/audio/samples/Hey-16-mono-6secs.ogg';
                              ' .../build/matlab/toolbox/audio/samples/MaleVolumeUp-16-mono-6secs.ogg'
                               ... and 2 more
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

Введенный в R2018b