Awesome Open Source
Awesome Open Source

Listen, Attend and Spell

A PyTorch implementation of Listen, Attend and Spell (LAS) [1], an end-to-end automatic speech recognition framework, which directly converts acoustic features to character sequence using only one nueral network.


  • Python3 (Recommend Anaconda)
  • PyTorch 0.4.1+
  • Kaldi (Just for feature extraction)
  • pip install -r requirements.txt
  • cd tools; make KALDI=/path/to/kaldi
  • If you want to run egs/aishell/, download aishell dataset for free.


  1. $ cd egs/aishell and modify aishell data path to your path in
  2. $ bash, that's all!

You can change hyper-parameter by $ bash --parameter_name parameter_value, egs, $ bash --stage 3. See parameter name in egs/aishell/ before . utils/

More detail

$ cd egs/aishell/
$ . ./


$ -h


$ -h


Workflow of egs/aishell/

  • Stage 0: Data Preparation
  • Stage 1: Feature Generation
  • Stage 2: Dictionary and Json Data Preparation
  • Stage 3: Network Training
  • Stage 4: Decoding

Visualize loss

If you want to visualize your loss, you can use visdom to do that:

  • Open a new terminal in your remote server (recommend tmux) and run $ visdom.
  • Open a new terminal and run $ bash --visdom 1 --visdom_id "<any-string>" or $ ... --visdom 1 --vidsdom_id "<any-string>".
  • Open your browser and type <your-remote-server-ip>:8097, egs,
  • In visdom website, chose <any-string> in Environment to see your loss.


Model CER Config
LSTMP 9.85 4x(1024-512)
Listen, Attend and Spell 13.2 See egs/aishell/


[1] W. Chan, N. Jaitly, Q. Le, and O. Vinyals, “Listen, attend and spell: A neural network for large vocabulary conversational speech recognition,” in ICASSP 2016. (

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (55,471
pytorch (2,463
asr (61
end-to-end (35