audioDatastore

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

Описание

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

Создание

Описание

пример

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

пример

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

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

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

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

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

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

    • Удаленные файлы или папки — Задают location быть полными путями файлов или папок как универсальный локатор ресурса (URL) формы 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 имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

Типы данных: логический | 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: {}
              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: {}
              OutputDataType: 'double'
                      Labels: {}

Введенный в R2018b