Маркируйте аудио с помощью 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. Вы можете управлять алгоритмом обнаружения речи, используя параметры Window Length (s) и Merge Regions Within (s). Используйте параметры по умолчанию для алгоритма обнаружения речи. Чтобы создать метку информации только для чтения и пометить области выбранных аудио файлов, выберите Run.

Закройте вкладку Speech Detector. Можно исправить или настроить автоматически сгенерированные SpeechDetected области путем выбора информация только для чтения на панели ROI, а затем перетаскивания ребер области. Информация только для чтения находится непосредственно справа от метки информация только для чтения. При выборе области щелчком мыши воспроизводится только выбранная область, что позволяет проверить, захватывает ли выбранная область всю соответствующую аудиоинформацию.

Если вы настроили сервис транскрипции речь-текст, выберите Speech to Text из раздела Automation. Вы можете управлять транскрипцией речь-текст с помощью опций пары "имя-значение", характерных для выбранной услуги. Этот пример использует IBM® и не задает дополнительные опции.

Метки информации только для чтения, возвращенные службой транскрипции, являются строками с начальной и конечной точками. Начальная и конечная точки не точно соответствуют начальной и конечной точкам исправленных вручную областей обнаружения речи. Можно исправить конечные точки метки SpeechContent информации только для чтения, выбрав область и перетащив ребра области. Служба транскрипции неправильно классифицировала слова «два» как «до», «четыре» как «для» и «десять» как «тогда». Можно исправить строку, выбрав область и затем введя новую строку.

Создайте еще одну метку уровня региона, нажав на панели ROI Labels. Установите Label Name значение VUV, установите Data Type равным categorical, и Categories к voiced и unvoiced.

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

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

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

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

Создайте аудио 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  

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

См. также

| | | |