Маркируйте Audio Using Audio Labeler

Приложение Audio Labeler позволяет вам в интерактивном режиме задать и визуализировать метки наземной истины для аудио наборов данных. Этот пример показывает, как можно создать определения метки и затем в интерактивном режиме маркировать набор звуковых файлов. Пример также показывает, как экспортировать маркированные наземные данные об истине, которые можно затем использовать с audioDatastore, чтобы обучить систему машинного обучения.

Загрузите немаркированные данные

  1. Открыть Audio Labeler, в командной строке MATLAB®, введите:

    audioLabeler

  2. Этот пример использует звуковые файлы, включенные с Audio Toolbox™. Чтобы определить местоположение пути к файлу в вашей системе, в команде MATLAB запрашивают, введите:

    fullfile(matlabroot,'toolbox','audio','samples')

    Чтобы загрузить аудио из файла, нажмите Load> Audio Folders и выберите папку, содержащую звуковые файлы, которые вы хотите маркировать.

Создайте определения метки

Задайте метки уровня файла

Аудиосэмплы включают музыку, речь и окружение. Чтобы создать метку уровня файла, которая задает содержимое звукового файла как music, speech, ambience или unknown, щелкает. Задайте Label Name как Content, Data Type как categorical и Categories как music, speech, ambience или unknown. Установите Default Value определения метки unknown.

Все звуковые файлы в Data Browser теперь сопоставлены с именем метки Content. Слушать звуковой файл выбрали в Data Browser и подтвердить, что это - музыкальный файл, щелкнуть. Чтобы установить значение метки Contents, нажмите unknown в панели File Labels и выберите music из выпадающего меню.

Выбранный звуковой файл теперь имеет имя метки Content со значением music, присвоенный ему. Можно продолжить устанавливать значение Content для каждого файла путем выбора файла в Data Browser и затем выбора значения из панели File Labels.

Задайте метки уровня области

Можно задать метки уровня области путем нажатия в панели ROI Labels. Создайте метку уровня области, которая указывает, присутствует ли речь. Задайте Label Name как SpeechActivity, Data Type как logical и Default Value как true.

Создайте другую метку уровня области, на этот раз с набором Label Name к VUV, набором Data Type к categorical и категориями, заданными как voiced и unvoiced.

Выберите Rainbow-16-8-mono-114sec.wav из Data Browser. Файл 114 секунд длиной. По умолчанию средство просмотра формы волны показывает целое содержимое файла. Чтобы отобразить инструменты для изменения масштаба и панорамирования, наведите на главный правый угол графика. Увеличьте масштаб первых пяти секунд звукового файла.

Кликните по кнопке управления изменения масштаба снова, чтобы возвратить курсор в маркировку режима. Затем выберите часть сигнала, который соответствует первому слову на средстве просмотра формы волны. Наведите курсор на панель ROI, которая является непосредственно справа от метки ROI. Панель ROI имеет взаимно-однозначное соответствие со средством просмотра формы волны. Когда вы выбираете область в графике и затем помещаете вашу мышь в панель ROI, тень области появляется. Чтобы присвоить область значение true по умолчанию для имени метки SpeechActivity, кликните по тени. Маркируйте первые три области речевого действия.

Увеличьте масштаб третьей речевой области действия. Маркируйте области речи, как озвучено и неречевой.

Экспортируйте определения метки

Можно экспортировать определения метки как файл MAT или как скрипт MATLAB. Поддержание определений метки включает сопоставимую маркировку между пользователями и сеансами. Выберите Export> Label Definitions> To File.

Метки сохранены как массив объектов signalLabelDefinition. На вашем следующем сеансе можно импортировать определения метки путем выбора Import> Label Definitions> From File.

Экспортируйте маркированные аудиоданные

Можно экспортировать маркированный набор сигнала в файл или в рабочую область. Выберите Export> Labels> To Workspace.

Audio Labeler создает объект labeledSignalSet под названием labeledSet_ HHMMSS, где HHMMSS является временем, объект создается в часах, минутах и секундах.

labeledSet_142356
labeledSet_142356 = 

  labeledSignalSet with properties:

             Source: {29×1 cell}
         NumMembers: 29
    TimeInformation: "inherent"
             Labels: [29×3 table]
        Description: ""

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

Метки, которые вы создали, сохранены как таблица в свойство Labels.

labeledSet_142356.Labels
ans =

  29×3 table

                                                                                                         Content     SpeechActivity        VUV    
                                                                                                         ________    ______________    ___________

    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Ambiance-16-44p1-mono-12secs.wav                ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\AudioArray-16-16-4channels-20secs.wav           unknown      [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\ChurchImpulseResponse-16-44p1-mono-5secs.wav    unknown      [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Click-16-44p1-mono-0.2secs.wav                  unknown      [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Counting-16-44p1-mono-15secs.wav                speech       [10×2 table]     [7×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Engine-16-44p1-stereo-20sec.wav                 ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\FemaleSpeech-16-8-mono-3secs.wav                speech       [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\FunkyDrums-44p1-stereo-25secs.mp3               music        [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\FunkyDrums-48-stereo-25secs.mp3                 music        [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Heli_16ch_ACN_SN3D.wav                          unknown      [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\JetAirplane-16-11p025-mono-16secs.wav           ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Laughter-16-8-mono-4secs.wav                    speech       [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\MainStreetOne-24-96-stereo-63secs.wav           ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\NoisySpeech-16-22p5-mono-5secs.wav              speech       [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Rainbow-16-8-mono-114secs.wav                   speech       [ 3×2 table]     [2×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RainbowNoisy-16-8-mono-114secs.wav              speech       [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RandomOscThree-24-96-stereo-13secs.aif          music        [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RockDrums-44p1-stereo-11secs.mp3                music        [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RockDrums-48-stereo-11secs.mp3                  music        [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RockGuitar-16-44p1-stereo-72secs.wav            music        [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RockGuitar-16-96-stereo-72secs.flac             unknown      [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\SoftGuitar-44p1_mono-10mins.ogg                 music        [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\SpeechDFT-16-8-mono-5secs.wav                   speech       [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\TrainWhistle-16-44p1-mono-9secs.wav             ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Turbine-16-44p1-mono-22secs.wav                 ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\WashingMachine-16-44p1-stereo-10secs.wav        ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\WashingMachine-16-8-mono-1000secs.wav           ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\WashingMachine-16-8-mono-200secs.wav            ambience     [ 0×2 table]     [0×2 table]
    C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\WaveGuideLoopOne-24-96-stereo-10secs.aif        music        [ 0×2 table]     [0×2 table]

Имена файлов, сопоставленные с метками, сохранены как массив ячеек в свойство Source.

labeledSet_142356.Source
ans =

  29×1 cell array

    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Ambiance-16-44p1-mono-12secs.wav'            }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\AudioArray-16-16-4channels-20secs.wav'       }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\ChurchImpulseResponse-16-44p1-mono-5secs.wav'}
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Click-16-44p1-mono-0.2secs.wav'              }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Counting-16-44p1-mono-15secs.wav'            }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Engine-16-44p1-stereo-20sec.wav'             }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\FemaleSpeech-16-8-mono-3secs.wav'            }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\FunkyDrums-44p1-stereo-25secs.mp3'           }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\FunkyDrums-48-stereo-25secs.mp3'             }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Heli_16ch_ACN_SN3D.wav'                      }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\JetAirplane-16-11p025-mono-16secs.wav'       }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Laughter-16-8-mono-4secs.wav'                }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\MainStreetOne-24-96-stereo-63secs.wav'       }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\NoisySpeech-16-22p5-mono-5secs.wav'          }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Rainbow-16-8-mono-114secs.wav'               }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RainbowNoisy-16-8-mono-114secs.wav'          }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RandomOscThree-24-96-stereo-13secs.aif'      }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RockDrums-44p1-stereo-11secs.mp3'            }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RockDrums-48-stereo-11secs.mp3'              }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RockGuitar-16-44p1-stereo-72secs.wav'        }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\RockGuitar-16-96-stereo-72secs.flac'         }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\SoftGuitar-44p1_mono-10mins.ogg'             }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\SpeechDFT-16-8-mono-5secs.wav'               }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\TrainWhistle-16-44p1-mono-9secs.wav'         }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\Turbine-16-44p1-mono-22secs.wav'             }
    {'C:\Program Files\MATLAB\R2018b\audio\samples\WashingMachine-16-44p1-stereo-10secs.wav'    }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\WashingMachine-16-8-mono-1000secs.wav'       }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\WashingMachine-16-8-mono-200secs.wav'        }
    {'C:\Program Files\MATLAB\R2018b\toolbox\audio\samples\WaveGuideLoopOne-24-96-stereo-10secs.aif'    }

Подготовьте аудио Datastore к рабочему процессу глубокого обучения

Чтобы продвинуться к глубокому обучению или рабочему процессу машинного обучения, используйте audioDatastore. Используя аудио datastore позволяет вам применить возможности, которые характерны для приложений машинного обучения, таковы как splitEachLabel. splitEachLabel включает вам, разделяет ваши данные в составы и наборы тестов.

Создайте аудио datastore для своего маркированного набора сигнала. Задайте местоположение звуковых файлов в качестве первого аргумента audioDatastore и установите свойство Labels audioDatastore к свойству Labels маркированного набора сигнала.

ADS = audioDatastore(labeledSet_142356.Source,'Labels',labeledSet_142356.Labels)

ADS = 

  audioDatastore with properties:

                       Files: {
                              ' ...\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
                              }
                      Labels: 29-by-3 table
    AlternateFileSystemRoots: {}
              OutputDataType: 'double'

Вызовите countEachLabel и задайте табличную переменную Content, чтобы считать количество файлов, которые маркированы как ambience, music, speech или unknown.

countEachLabel(ADS,'TableVariable','Content')
ans =

  4×2 table

    Content     Count
    ________    _____

    ambience     10  
    music         9  
    speech        7  
    unknown       3  

Для примеров использования маркированных аудиоданных в машинном обучении или рабочем процессе глубокого обучения, см.:

Смотрите также

| | | |