Приложение 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