Приложение Audio Labeler позволяет вам в интерактивном режиме задать и визуализировать метки наземной истины для аудио наборов данных. Этот пример показывает, как можно создать определения метки и затем в интерактивном режиме маркировать набор звуковых файлов. Пример также показывает, как экспортировать маркированные наземные данные об истине, которые можно затем использовать с audioDatastore
, чтобы обучить систему машинного обучения.
Открыть Audio Labeler, в командной строке MATLAB®, введите:
audioLabeler
Этот пример использует звуковые файлы, включенные с 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' }
Чтобы продвинуться к глубокому обучению или рабочему процессу машинного обучения, используйте 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
Для примеров использования маркированных аудиоданных в машинном обучении или рабочем процессе глубокого обучения, см.:
audioDatastore
| audioDeviceReader
| audioDeviceWriter
| labeledSignalSet
| signalLabelDefinition