audioDatastore

Datastore для набора звуковых файлов

Описание

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

Создание

Синтаксис

ADS = audioDatastore(location)
ADS = audioDatastore(location,Name,Value)

Описание

пример

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

пример

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

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

развернуть все

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

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

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

    • Удаленные файлы или папки — Задают location, чтобы быть полными путями файлов или папок как интернационализировавший идентификатор ресурса (IRI) формы hdfs:///path_to_file. Для получения дополнительной информации смотрите работу с Удаленными данными (MATLAB).

  • Объект 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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, заданный как вектор символов, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Каждый вектор символов или строка являются полным путем к файлу. Аргумент location в audioDatastore задает Files, когда datastore создается.

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

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

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

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

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

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

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

Значением по умолчанию этого свойства является '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

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

readСчитайте затем последовательный звуковой файл
readallСчитайте все звуковые файлы из datastore
resetСбросьте указатель чтения datastore, чтобы запуститься данных
hasdataВозвратите true, если существует больше данных в datastore
shuffleПереставьте файлы в datastore
subsetСоздайте datastore с подмножеством файлов
previewСчитайте первый файл из datastore для предварительного просмотра
progressЧасть чтения файлов
splitEachLabelDatastore разделений согласно заданным пропорциям метки
countEachLabelСчитайте количество уникальных меток
partitionDatastore раздела и возвращается на разделенном фрагменте
numpartitionsВозвратите оценку для разумного количества разделов для параллельной обработки
combineОбъедините данные от нескольких datastores
transformПреобразуйте аудио datastore

Примеры

свернуть все

Задайте путь к файлу к аудиосэмплам, включенным с Audio Toolbox™.

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

Создайте аудио 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 26 more
                              }
    AlternateFileSystemRoots: {}
             ReadFailureRule: 'error'
                 MaxFailures: Inf
              OutputDataType: 'double'
                      Labels: {}

Задайте путь к файлу к аудиосэмплам, включенным с Audio Toolbox™.

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

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

ADS = audioDatastore(folder,'FileExtension','.ogg')
ADS = 

  audioDatastore with properties:

                       Files: {
                              ' .../build/matlab/toolbox/audio/samples/SoftGuitar-44p1_mono-10mins.ogg'
                              }
    AlternateFileSystemRoots: {}
             ReadFailureRule: 'error'
                 MaxFailures: Inf
              OutputDataType: 'double'
                      Labels: {}

Введенный в R2018b