项目作者: adiyoss

项目描述 :
Automatic Measurement of Voice Onset Time (VOT) using Deep Recurrent Neural Networks (Interspeech 2016)
高级语言: Lua
项目地址: git://github.com/adiyoss/DeepVOT.git
创建时间: 2016-02-27T12:28:46Z
项目社区:https://github.com/adiyoss/DeepVOT

开源协议:MIT License

下载


Deprecated! Please use the following repo with a Python implementation: https://github.com/MLSpeech/Dr.VOT

DeepVOT - Automatic Measurement of Voice Onset Time and Prevoicing using Recurrent Neural Networks

Voice onset time (VOT) is defined as the time difference between the onset of the burst and the onset of voicing.
When voicing begins preceding the burst, the stop is called prevoiced, and the VOT is negative.
When voicing begins following the burst the VOT is positive.
While most of the work on automatic measurement of VOT has focused on positive VOT mostly evident in American English, in many languages the VOT can be negative.
We propose an algorithm that estimates if the stop is prevoiced, and measures either positive or negative VOT, respectively. More specifically, the input to the algorithm is a speech segment of an arbitrary length containing a single stop consonant, and the output is the time of the burst onset, the duration of the burst, and the time of the prevoicing onset with a confidence. Manually labeled data is used to train a recurrent neural network that can model the dynamic temporal behavior of the input signal, and outputs the events’ onset and duration. Results suggest that the proposed algorithm is superior to the current state-of-the-art both in terms of the VOT measurement and in terms of prevoicing detection.

If you find our work useful please cite:
[Automatic Measurement of Voice Onset Time and Prevoicing using Recurrent Neural Networks] (http://u.cs.biu.ac.il/~jkeshet/papers/AdiKeDmGo16.pdf)

  1. @article{adi2016automatic,
  2. title={Automatic Measurement of Voice Onset Time and Prevoicing using Recurrent Neural Networks},
  3. author={Adi, Yossi and Keshet, Joseph and Dmitrieva, Olga and Goldrick, Matt},
  4. journal={Interspeech 2016},
  5. pages={3152--3155},
  6. year={2016}
  7. }

Content

The repository contains code for VOT and prevoicing measurement, feature extraction and visualization tools.

  • back_end folder: contains the training algorithms, it can be used for training the model on new datasets or using different features.
  • front_end folder: contains the features extraction algorithm, it can be used for configuring different parameters for the feature extraction or just for visualization.
  • post_process folder: contains the post processing algorithms for extracting the measurements from the network probability distribution
  • visualization folder: contains features visualization tools.
  • run_all folder: contains the scripts and models to run the code end-to-end.

Installation

The code runs on MacOSX only.

Dependencies

The code uses the following dependencies:

On Linux with bash

source ~/.bashrc

On Linux with zsh

source ~/.zshrc

On OSX or in Linux with none of the above.

source ~/.profile

For rnn package installation

luarocks install rnn

  1. - [Python (2.7) + Numpy] (https://penandpants.com/2012/02/24/install-python/)
  2. - For the visualization tools: [Matplotlib] (https://penandpants.com/2012/02/24/install-python/)
  3. ### Model Installation
  4. Download the model from: [DeepVot Model] (https://drive.google.com/file/d/0B69m3kcUfbmPOUE0VkpzOVF2TzQ/view?usp=sharing). Then, move the model file to: `run_all/lua_scripts/model/` inside the project directory.
  5. ## Usage
  6. For measurement just type from the run\_all folder:
  7. ```bash
  8. python predict.py "input wav file" "output text grid file" "start time to search" "end time to search"

Example

You can try our tool using the example file in the data folder and compare it to the manual annotation.
cd into the run_all directory and type:

  1. python predict.py test_data/orig/bun.wav test_data/prediction/bun.TextGrid 0.0 0.2
  2. or
  3. python predict.py test_data/orig/bag.wav test_data/prediction/bag.TextGrid 0.56 0.65