Маркируйте 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.

Метки уровня области

Можно задать метки уровня области вручную или при помощи предоставленных автоматизированных алгоритмов. 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'    }

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

Чтобы продвинуться к глубокому обучению или рабочему процессу машинного обучения, используйте 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  

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

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

| | | |