exponenta event banner

audioDatastore

Хранилище данных для сбора аудиофайлов

Описание

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

Создание

Описание

пример

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

пример

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

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

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

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

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

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

Когда location представляет собой папку, хранилище данных включает только поддерживаемые форматы файлов и игнорирует любой другой формат. Чтобы указать пользовательский список расширений файлов для включения в хранилище данных, см. раздел 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 собственность.

Свойства

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

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

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

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

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

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

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

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

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

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

  • 'double' - Нормализованные образцы с двойной точностью.

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

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

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

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

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

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

  • Чтобы связать несколько наборов корневых путей, эквивалентных хранилищу данных, укажите 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Чтение всех аудиофайлов из хранилища данных
resetСброс указателя чтения хранилища данных для начала данных
hasdataВозвращает значение true, если в хранилище данных больше данных
shuffleПеретасовка файлов в хранилище данных
subsetСоздание хранилища данных с подмножеством файлов
previewЧтение первого файла из хранилища данных для предварительного просмотра
progressДоля прочитанных файлов
splitEachLabelРазделение хранилища данных в соответствии с указанными пропорциями метки
countEachLabelКоличество уникальных меток
partitionХранилище данных секционирования и возврат секционированной части
numpartitionsОценка возврата для разумного количества разделов для параллельной обработки
combineОбъединение данных из нескольких хранилищ данных
transformПреобразовать хранилище аудиоданных
writeallЗапись хранилища данных в файлы
isPartitionableОпределение возможности разделения хранилища данных
isShuffleableОпределение возможности тасования хранилища данных

Примеры

свернуть все

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

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

Создайте хранилище аудиоданных, указывающее на указанную папку.

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');

Создание хранилища аудиоданных, указывающего на .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