subset

Создайте datastore с подмножеством файлов

Описание

пример

ADSsubset = subset(ADS,indices) возвращает audio datastore, ADSsubset, который содержит подмножество файлов в ADS.

Примеры

свернуть все

subset создает audio datastore, содержащий подмножество файлов исходного datastore.

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

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 datastore 'Guitar'.

fileContainsGuitar = cellfun(@(c)contains(c,'Guitar'),ADS.Files)
fileContainsGuitar = 34x1 logical array

   0
   0
   0
   0
   0
   0
   0
   0
   0
   0
      ⋮

Функции subset с audio datastore и индексами, соответствующими файлам, из которых вы хотите создать новый audio datastore.

ADSsubset = subset(ADS,fileContainsGuitar)
ADSsubset = 
  audioDatastore with properties:

                       Files: {
                              ' .../matlab/toolbox/audio/samples/RockGuitar-16-44p1-stereo-72secs.wav';
                              ' .../matlab/toolbox/audio/samples/RockGuitar-16-96-stereo-72secs.flac';
                              ' .../build/matlab/toolbox/audio/samples/SoftGuitar-44p1_mono-10mins.ogg'
                              }
                     Folders: {
                              '/mathworks/devel/bat/BR2021ad/build/matlab/toolbox/audio/samples'
                              }
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'
                      Labels: {}
      SupportedOutputFormats: ["wav"    "flac"    "ogg"    "mp4"    "m4a"]
         DefaultOutputFormat: "wav"

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

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 datastore, содержащий каждый другой файл исходного datastore.

indices = 1:2:numel(ADS.Files);
ADSsubset = subset(ADS,indices)
ADSsubset = 
  audioDatastore with properties:

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

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

свернуть все

Задайте ADS как audioDatastore объект.

Задайте indices как:

  • Вектор, содержащий индексы файлов, которые будут включены в ADSsubset.

  • Логический вектор той же длины, что и количество файлов в ADS. Если указывать индексы как логический вектор, true указывает, что соответствующие файлы включены в ADSsubset.

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

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

свернуть все

Подмножество audio datastore, возвращаемое как audioDatastore объект.

Введенный в R2018b