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

Типы данных: логический | 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, возвратились как N-by-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 установлен в собственный компонент.

Значением по умолчанию этого свойства является '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
shuffleПереставьте файлы в datastore
subsetСоздайте datastore с подмножеством файлов
previewСчитайте первый файл из datastore для предварительного просмотра
progressЧасть чтения файлов
splitEachLabelDatastore разделений согласно заданным пропорциям метки
countEachLabelСчитайте количество уникальных меток
partitionDatastore раздела и возвращается на разделенном фрагменте
numpartitionsВозвратите оценку для разумного количества разделов для параллельной обработки
combineОбъедините данные от нескольких datastores
transformПреобразуйте аудио datastore
writeallЗапишите datastore в файлы
isPartitionableОпределите, partitionable ли datastore
isShuffleableОпределите, shuffleable ли 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
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2020ad/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');

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

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

                       Files: {
                              ' .../build/matlab/toolbox/audio/samples/SoftGuitar-44p1_mono-10mins.ogg'
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2020ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

Введенный в R2018b