Приложение 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.
Можно задать метки уровня области вручную или при помощи предоставленных автоматизированных алгоритмов. Audio Toolbox включает автоматические алгоритмы маркировки для речевого обнаружения и записи речи в тексте.
Чтобы включить автоматическую запись речи в тексте, необходимо загрузить и настроить функциональность Записи Речи в тексте. Если вы загружаете и настраиваете функциональность записи речи в тексте, алгоритм автоматизации Speech to Text появляется как опция на панели инструментов.
Выберите Counting-16-44p1-mono-15secs.wav
от Data Browser.
Чтобы создать метка уровня области, которая указывает, обнаруживается ли речь, сначала выберите Speech Detector из раздела AUTOMATION. Можно управлять речевым алгоритмом обнаружения с помощью параметров Merge Regions Within (s) и Window Length (s). Используйте параметры по умолчанию в речевом алгоритме обнаружения. Чтобы создать метку ROI и пометить области выбранного звукового файла, выберите Run.
Закройте вкладку Speech Detector. Можно откорректировать или подстроить автоматически сгенерированные области SpeechDetected путем выбора ROI из панели ROI, и затем перетаскивания ребер области. Панель ROI непосредственно справа от метки ROI. Когда область выбрана, кликнув по играм только выбранная область, позволив вам проверить, получает ли выбранная область всю соответствующую слуховую информацию.
Если вы настроили сервис записи речи в тексте, выберите Speech to Text из раздела Automation. Можно управлять записью речи в тексте с помощью опций пары "имя-значение", характерных для выбранного сервиса. Этот пример использует сервис IBM® и не задает дополнительных опций.
Метки ROI, возвращенные в сервис записи, являются строками с началом и конечными точками. Начало и конечные точки точно не соответствуют началу и конечным точкам вручную откорректированных речевых областей обнаружения. Можно откорректировать конечные точки метки SpeechContent ROI путем выбора области и затем перетаскивания ребер области. Сервис записи неправильно классифицировал слова "два" "относительно", "четыре" как "для", и "десять" как "затем". Можно откорректировать строку путем выбора области и затем ввода новой строки.
Создайте другую метку уровня области путем нажатия в панели ROI Labels. Установите Label Name на VUV
, установите Data Type на categorical
, и Categories к voiced
и unvoiced
.
По умолчанию средство просмотра формы волны показывает целый файл. Чтобы отобразить инструменты для изменения масштаба и панорамирования, наведите на главный правый угол графика. Увеличьте масштаб первых пяти секунд звукового файла.
Когда вы выбираете область в графике и затем наводите на любую из двух панелей ROI, тень области появляется. Чтобы присвоить выбранную область категории voiced, нажмите one на панели метки SpeechContent. Наведите на панель метки VUV и затем кликните по тени и выберите voiced
.
Следующие два слова, "два" и "три", содержат и озвученную и неречевую речь. Выберите каждую область речи на графике, наведите на панель метки VUV и выберите правильную категорию для той области.
Можно экспортировать определения метки как файл MAT или как скрипт MATLAB. Поддержание определений метки включает сопоставимую маркировку между пользователями и сеансами. Выберите Export> Label Definitions> To File.
Метки сохранены как массив signalLabelDefinition
объекты. На вашем следующем сеансе можно импортировать определения метки путем выбора Import> Label Definitions> From File.
Можно экспортировать помеченный набор сигнала в файл или в рабочую область. Выберите Export> Labels> To Workspace.
Audio Labeler создает labeledSignalSet
возразите названному labeledSet_
HHMMSS, где HHMMSS является временем объект, создается в часах, минутах и секундах.
labeledSet_104620
labeledSet_104620 = labeledSignalSet with properties: Source: {29×1 cell} NumMembers: 29 TimeInformation: "inherent" Labels: [29×4 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×4 table Content SpeechDetected SpeechContent VUV ________ ______________ _____________ ___________ C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Ambiance-16-44p1-mono-12secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\AudioArray-16-16-4channels-20secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\ChurchImpulseResponse-16-44p1-mono-5secs.wav unknown { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Click-16-44p1-mono-0.2secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Counting-16-44p1-mono-15secs.wav speech {10×2 table} {10×2 table} {5×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Engine-16-44p1-stereo-20sec.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\FemaleSpeech-16-8-mono-3secs.wav speech { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\FunkyDrums-44p1-stereo-25secs.mp3 music { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\FunkyDrums-48-stereo-25secs.mp3 music { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Heli_16ch_ACN_SN3D.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\JetAirplane-16-11p025-mono-16secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Laughter-16-8-mono-4secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\MainStreetOne-24-96-stereo-63secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\NoisySpeech-16-22p5-mono-5secs.wav speech { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Rainbow-16-8-mono-114secs.wav speech { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RainbowNoisy-16-8-mono-114secs.wav speech { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RandomOscThree-24-96-stereo-13secs.aif music { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RockDrums-44p1-stereo-11secs.mp3 music { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RockDrums-48-stereo-11secs.mp3 music { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RockGuitar-16-44p1-stereo-72secs.wav music { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RockGuitar-16-96-stereo-72secs.flac music { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\SoftGuitar-44p1_mono-10mins.ogg music { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\SpeechDFT-16-8-mono-5secs.wav speech { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\TrainWhistle-16-44p1-mono-9secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Turbine-16-44p1-mono-22secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\WashingMachine-16-44p1-stereo-10secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\WashingMachine-16-8-mono-1000secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\WashingMachine-16-8-mono-200secs.wav ambience { 0×2 table} { 0×2 table} {0×2 table} C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\WaveGuideLoopOne-24-96-stereo-10secs.aif music { 0×2 table} { 0×2 table} {0×2 table}
Имена файлов, сопоставленные с метками, сохранены как массив ячеек в Source
свойство.
labeledSet_104620.Source
ans = 29×1 cell array {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Ambiance-16-44p1-mono-12secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\AudioArray-16-16-4channels-20secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\ChurchImpulseResponse-16-44p1-mono-5secs.wav'} {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Click-16-44p1-mono-0.2secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Counting-16-44p1-mono-15secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Engine-16-44p1-stereo-20sec.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\FemaleSpeech-16-8-mono-3secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\FunkyDrums-44p1-stereo-25secs.mp3' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\FunkyDrums-48-stereo-25secs.mp3' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Heli_16ch_ACN_SN3D.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\JetAirplane-16-11p025-mono-16secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Laughter-16-8-mono-4secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\MainStreetOne-24-96-stereo-63secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\NoisySpeech-16-22p5-mono-5secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Rainbow-16-8-mono-114secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RainbowNoisy-16-8-mono-114secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RandomOscThree-24-96-stereo-13secs.aif' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RockDrums-44p1-stereo-11secs.mp3' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RockDrums-48-stereo-11secs.mp3' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RockGuitar-16-44p1-stereo-72secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\RockGuitar-16-96-stereo-72secs.flac' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\SoftGuitar-44p1_mono-10mins.ogg' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\SpeechDFT-16-8-mono-5secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\TrainWhistle-16-44p1-mono-9secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\Turbine-16-44p1-mono-22secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\WashingMachine-16-44p1-stereo-10secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\WashingMachine-16-8-mono-1000secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\WashingMachine-16-8-mono-200secs.wav' } {'C:\Program Files\MATLAB\R2019b\toolbox\audio\samples\WaveGuideLoopOne-24-96-stereo-10secs.aif' }
Чтобы продвинуться к глубокому обучению или рабочему процессу машинного обучения, используйте audioDatastore
. Используя аудио datastore позволяет вам применить возможности, которые характерны для приложений машинного обучения, таковы как splitEachLabel
splitEachLabel
включает вам, разделяет, ваши данные в обучаются и наборы тестов.
Создайте аудио datastore для своего помеченного набора сигнала. Задайте местоположение звуковых файлов в качестве первого аргумента audioDatastore
и набор Labels
свойство audioDatastore
к Labels
свойство помеченного набора сигнала.
ADS = audioDatastore(labeledSet_104620.Source,'Labels',labeledSet_104620.Labels)
ADS = audioDatastore with properties: Files: { ' ...\toolbox\audio\samples\Ambiance-16-44p1-mono-12secs.wav'; ' ...\toolbox\audio\samples\AudioArray-16-16-4channels-20secs.wav'; ' ...\toolbox\audio\samples\ChurchImpulseResponse-16-44p1-mono-5secs.wav' ... and 26 more } Labels: 29-by-4 table AlternateFileSystemRoots: {} OutputDataType: 'double'
Вызовите countEachLabel
и задайте Content
табличная переменная, чтобы считать количество файлов, которые помечены как ambience
, music
, speech
, или unknown
.
countEachLabel(ADS,'TableVariable','Content')
ans = 4×2 table Content Count ________ _____ ambience 13 music 9 speech 6 unknown 1
Для примеров использования помеченных аудиоданных в машинном обучении или рабочем процессе глубокого обучения, см.:
audioDatastore
| audioDeviceReader
| audioDeviceWriter
| labeledSignalSet
| signalLabelDefinition