На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
  
> С чего начать делать VAD? , Определить наличие голоса в сигнале
    VAD - Voice Activity Detection обычно применяется в телефонии, чтобы резать все что на речь не похоже и не захламлять канал. Мне же надо как можно точнее разметить звуковой файл. Границы слов, мелкие паузы и придыхания не интересуют, надо как-то уметь отделять звук речи от звуков музыки или шумов. Шумы - это посторонние звуки, а не белый шум.

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

    Имеет ли задача решение? Разбирал реализации из WebRTC (считается лучшим), Speex и Audacity. Во всех фактически идет проверка на некую амплитуду сигнала, а не именно на речь. Некие фильтры есть в реализации из WebRTC, но чего-то полезного от нее я не смог добиться.
      Нужно классификатор тренировать, можно с помощью scikit-learn. Базу музыки и шумов для обучения можно скачать тут:

      http://www.openslr.org/17/

      Описание тут:

      https://arxiv.org/pdf/1510.08484v1.pdf
        nsh
        можно с помощью scikit-learn.
        А можно поподробнее? Какие классификаторы использовать, какие фичи из семплов вытаскивать, да и как семплы вообще готовить? Голые звуки, FFT или MFCC скармливать? Может что-то еще? Или что-то уже из них?

        Какая длительность семплов? Потому что гласная вполне может оказаться каким-то музыкальным инструментом, если окошко короткое. Должны ли окошки перекрываться?

        Как потом проводить поиск? На выходе будет какая-то матрица для перемножения весовых коэфициентов или что-то еще? В приведенной PDF предлагается сделать классификатор на шум и музыку отдельно, а может быть стоит все ненужное вместе слепить?
          Цитата
          Какие классификаторы использовать


          Смеси гауссианов или нейросеть.

          Цитата
          какие фичи из семплов вытаскивать


          MFCC

          Цитата
          да и как семплы вообще готовить?


          http://scikits.appspot.com/talkbox

          ExpandedWrap disabled
            import numpy as np
            import scipy.io.wavfile
            from scikits.talkbox.features import mfcc
             
            sample_rate, X = scipy.io.wavfile.read("path/to/audio_file")
            ceps, mspec, spec = mfcc(X)
            subtract_mean(ceps) # Нормализацию обязательно делать


          Цитата
          Какая длительность семплов?


          Зависит от требуемого разрешения VAD

          Цитата
          Потому что гласная вполне может оказаться каким-то музыкальным инструментом, если окошко короткое.


          Нужно баланс соблюсти между разрешением и точностью определения. Окна где-то в 0.5 секунд должно хватить.

          Цитата
          Должны ли окошки перекрываться?


          Да

          Цитата
          Как потом проводить поиск?


          HMM потом декодирование для сглаживания решений классификаторов.

          Цитата
          На выходе будет какая-то матрица для перемножения весовых коэфициентов или что-то еще?


          На выходе будут предсказания для каждого окна - речь/музыка/шум

          Цитата
          В приведенной PDF предлагается сделать классификатор на шум и музыку отдельно, а может быть стоит все ненужное вместе слепить?


          Лучше отдельно.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0177 ]   [ 16 queries used ]   [ Generated: 18.04.24, 11:09 GMT ]