Edit model card

Speechcatcher ESPnet streaming ASR model XL for German ASR

speechcatcher/speechcatcher_german_espnet_streaming_transformer_26k_train_size_xl_raw_de_bpe1024

This model was trained by bmilde using the Speechcatcher recipe in espnet.

Demo: How to use the model

Global installation:


sudo apt-get install portaudio19-dev python3.10-dev ffmpeg
# on mac:
# brew install portaudio ffmpeg
pip3 install git+https://github.com/speechcatcher-asr/speechcatcher
speechcatcher -m de_streaming_transformer_xl mediafile.mp4
# or with a microphone:
speechcatcher -m de_streaming_transformer_xl -l

Virtual environment:

virtualenv -p python3.10 speechcatcher_env
source speechcatcher_env/bin/activate
pip3 install git+https://github.com/speechcatcher-asr/speechcatcher
speechcatcher -m de_streaming_transformer_xl mediafile.mp4
# or with a microphone:
speechcatcher -m de_streaming_transformer_xl -l

RESULTS

Tuda-de-raw: 2.4% CER (without LM)

Tuda-de-raw: 8.5% WER (without LM)

Note: Tuda-de-raw results are based on raw tuda-de test utterances without the normalization step. It may not be directly comparable to regular tuda-de results.

Speechcatcher training

Speechcatcher models are trained by using Whisper large as a teacher model:

Speechcatcher Teacher/student training

See speechcatcher-data for code and more info on replicating the training process.

Sponsors

Speechcatcher was gracefully funded by

Media Tech Lab by Media Lab Bayern (@media-tech-lab)

Citing

@misc{milde2023speechcatcher,
  author = {Milde, Benjamin},
  title = {Speechcatcher},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/speechcatcher-asr/speechcatcher}},
}

ASR config

expand
config: conf/train_asr_streaming_transformer_size_xl.yaml
print_config: false
log_level: INFO
dry_run: false
iterator_type: sequence
output_dir: exp/asr_train_asr_streaming_transformer_size_xl_raw_de_bpe1024
ngpu: 1
seed: 0
num_workers: 1
num_att_plot: 0
dist_backend: nccl
dist_init_method: env://
dist_world_size: 4
dist_rank: 0
local_rank: 0
dist_master_addr: localhost
dist_master_port: 58047
dist_launcher: null
multiprocessing_distributed: true
unused_parameters: false
sharded_ddp: false
cudnn_enabled: true
cudnn_benchmark: false
cudnn_deterministic: true
collect_stats: false
write_collected_feats: false
max_epoch: 16
patience: 3
val_scheduler_criterion:
- valid
- acc
early_stopping_criterion:
- valid
- acc
- max
best_model_criterion:
-   - valid
    - acc
    - max
keep_nbest_models: 6
nbest_averaging_interval: 0
grad_clip: 5
grad_clip_type: 2.0
grad_noise: false
accum_grad: 1
no_forward_run: false
resume: true
train_dtype: float32
use_amp: false
log_interval: null
use_matplotlib: true
use_tensorboard: true
create_graph_in_tensorboard: false
use_wandb: false
wandb_project: null
wandb_id: null
wandb_entity: null
wandb_name: null
wandb_model_log_interval: -1
detect_anomaly: false
pretrain_path: null
init_param: []
ignore_init_mismatch: false
freeze_param: []
num_iters_per_epoch: null
batch_size: 32
valid_batch_size: null
batch_bins: 1000000
valid_batch_bins: null
train_shape_file:
- exp/asr_stats_raw_de_bpe1024/train/speech_shape
- exp/asr_stats_raw_de_bpe1024/train/text_shape.bpe
valid_shape_file:
- exp/asr_stats_raw_de_bpe1024/valid/speech_shape
- exp/asr_stats_raw_de_bpe1024/valid/text_shape.bpe
batch_type: folded
valid_batch_type: null
fold_length:
- 80000
- 150
sort_in_batch: descending
sort_batch: descending
multiple_iterator: false
chunk_length: 500
chunk_shift_ratio: 0.5
num_cache_chunks: 1024
train_data_path_and_name_and_type:
-   - dump/raw/train/wav.scp
    - speech
    - sound
-   - dump/raw/train/text
    - text
    - text
valid_data_path_and_name_and_type:
-   - dump/raw/dev/wav.scp
    - speech
    - sound
-   - dump/raw/dev/text
    - text
    - text
allow_variable_data_keys: false
max_cache_size: 0.0
max_cache_fd: 32
valid_max_cache_size: null
exclude_weight_decay: false
exclude_weight_decay_conf: {}
optim: adam
optim_conf:
    lr: 0.001
scheduler: warmuplr
scheduler_conf:
    warmup_steps: 25000
token_list:
- <blank>
- <unk>
- ','
- .
- ▁
- t
- en
- e
- s
- n
- ▁ich
- ▁das
- ▁die
- ▁und
- ▁ist
- er
- ▁auch
- ▁so
- ▁der
- m
- st
- ▁nicht
- ▁es
- r
- ▁ein
- ▁in
- ▁dann
- d
- ▁ja
- ▁da
- u
- g
- o
- ▁zu
- f
- ▁wir
- ▁ge
- ▁Und
- b
- ▁du
- h
- l
- ▁den
- ▁man
- ▁mit
- ▁dass
- ▁auf
- ge
- ▁jetzt
- k
- ▁er
- in
- ▁hat
- '?'
- ▁was
- sch
- '-'
- ä
- ▁war
- ▁eine
- ▁Ja
- ▁aber
- ▁mal
- ra
- i
- ▁noch
- ung
- ▁haben
- p
- ▁oder
- y
- te
- ▁F
- ▁Das
- ▁Ich
- ▁an
- re
- ▁wie
- ▁von
- ▁sich
- ▁be
- ▁habe
- an
- ▁wenn
- ▁schon
- w
- de
- ig
- ▁K
- al
- ch
- ▁für
- lich
- ▁T
- ▁Also
- le
- la
- ▁sie
- es
- el
- ü
- ▁sind
- ▁A
- ▁also
- or
- ▁ver
- ▁im
- ▁ganz
- ▁dem
- z
- ▁aus
- ▁bei
- ▁B
- ▁halt
- ▁kann
- ter
- li
- ö
- it
- ▁immer
- ▁einfach
- ck
- ten
- ▁weil
- a
- ▁mir
- ▁P
- ▁S
- ▁vor
- gen
- ▁sehr
- ▁G
- ri
- ▁wo
- ut
- ur
- ▁E
- ▁St
- ▁gut
- ▁Aber
- he
- il
- ▁als
- ▁Sch
- ▁über
- tz
- ▁mich
- und
- se
- um
- ▁uns
- ar
- ro
- ing
- ▁ihr
- den
- ▁einen
- ▁f
- ▁wieder
- ze
- ▁glaube
- ie
- ▁bisschen
- ▁nur
- ▁Ge
- me
- ▁irgendwie
- ▁mehr
- hr
- us
- ▁sagen
- ▁wird
- ▁muss
- nt
- 'on'
- ▁alle
- ▁Da
- ▁wirklich
- ▁natürlich
- ▁Be
- et
- ▁diese
- '0'
- ▁gibt
- ▁H
- ▁um
- ben
- be
- ma
- at
- ste
- ▁nach
- ▁k
- ▁viel
- ▁sein
- nd
- ▁hier
- ▁meine
- cht
- ▁eigentlich
- ▁So
- kt
- ▁O
- ern
- ▁machen
- is
- ▁I
- ▁bin
- ▁weiß
- ▁Ver
- ll
- ▁hast
- ▁Ma
- ▁C
- uch
- ru
- ▁vielleicht
- rei
- ▁Re
- c
- ha
- iert
- ▁Die
- ▁zum
- icht
- ▁finde
- ell
- ▁eben
- ▁1
- ne
- ▁s
- di
- lo
- ▁sch
- chen
- ein
- hl
- ▁Es
- ▁gesagt
- we
- ▁U
- ft
- zu
- nen
- ▁am
- ▁In
- ieren
- ▁werden
- ▁An
- ▁Er
- pp
- ▁geht
- hn
- ▁Jahr
- ▁R
- isch
- ▁alles
- ▁gerade
- ▁M
- rt
- der
- ▁ne
- ▁genau
- ▁re
- ag
- end
- ▁Wir
- ▁Ha
- ▁würde
- ▁p
- ▁doch
- ▁zwei
- ▁einem
- ▁erst
- ▁g
- ▁w
- ▁keine
- au
- ik
- ▁durch
- ▁hin
- her
- un
- art
- mm
- ▁dir
- ▁Spiel
- kommen
- ▁gar
- ▁b
- ▁mein
- S
- ver
- ff
- ▁können
- zi
- ▁Ein
- im
- ▁andere
- na
- ▁richtig
- ei
- rk
- ul
- lle
- fe
- ▁W
- wi
- ach
- sp
- rie
- ▁Zeit
- ▁Leute
- ▁ab
- ▁viele
- ▁Ka
- ▁We
- ke
- and
- ▁ob
- ür
- ner
- ▁Ko
- wa
- ▁einer
- ber
- ko
- x
- ▁weiter
- ation
- ▁gemacht
- ▁hatte
- spiel
- ▁Ne
- ▁des
- ▁Z
- '...'
- sten
- che
- sen
- hör
- ▁Man
- ▁dieser
- igen
- ▁unter
- ▁N
- ▁L
- ion
- ▁Was
- ssen
- ß
- ken
- ungen
- ▁le
- ▁will
- ga
- ▁denn
- am
- ▁J
- ▁kommt
- ▁ent
- ▁st
- iv
- ▁D
- ▁groß
- ir
- ▁hab
- nder
- aus
- ▁macht
- ist
- ▁dieses
- ▁Li
- si
- ho
- ▁Fall
- rü
- ▁De
- so
- ▁Du
- ve
- '5'
- ▁Ba
- ▁ange
- ▁heißt
- ni
- ht
- rä
- '3'
- ▁Wo
- ▁dich
- ▁sagt
- ▁Le
- pro
- gel
- ▁Se
- ▁schön
- mp
- ▁jeden
- id
- ▁damit
- ▁Al
- ▁Me
- ▁Co
- ▁Beispiel
- ol
- ▁her
- ▁sondern
- V
- ▁unsere
- ▁Genau
- ▁Sie
- all
- gt
- ▁La
- ▁euch
- ▁neu
- ub
- ▁Sp
- ▁bis
- ▁tatsächlich
- ier
- ▁Pa
- ▁rein
- tion
- mo
- elt
- sa
- ▁Der
- ige
- ▁anderen
- schaft
- lu
- ka
- ische
- ▁kein
- ▁Na
- ungs
- ▁wäre
- ''''
- reich
- ▁raus
- nehmen
- ▁Film
- ▁nochmal
- ▁wer
- tra
- ger
- ler
- lä
- ▁hätte
- j
- halt
- ▁heute
- ▁a
- ld
- ick
- ▁diesen
- ▁Sa
- ta
- ▁wurde
- eiß
- bar
- lei
- ▁To
- ▁Ding
- arbeit
- ischen
- ▁of
- ▁un
- ▁Auf
- ▁Dann
- wo
- ▁ihn
- ▁Mo
- ▁Mi
- ▁Ab
- ▁Ho
- ▁Zu
- ▁Ra
- pf
- v
- ▁Frage
- ▁okay
- ▁waren
- ▁Wie
- sse
- ▁möchte
- ▁dazu
- fall
- ▁Vor
- äng
- '4'
- sam
- 'no'
- ▁Tag
- ▁kommen
- A
- ▁mach
- ▁seine
- ▁Wa
- ich
- ▁Wenn
- ▁Menschen
- P
- ▁sp
- lass
- ▁diesem
- ün
- hin
- ▁klar
- ▁2
- ▁soll
- ▁Thema
- geben
- ▁je
- '9'
- ▁Aus
- ▁Ro
- schau
- ▁deine
- ▁Bo
- heit
- voll
- teil
- ex
- ce
- ▁kannst
- ment
- acht
- ▁drei
- cken
- ▁bist
- ▁gleich
- nis
- ▁müssen
- är
- ▁Po
- ▁Mit
- op
- ▁gerne
- ▁nie
- ad
- lang
- ▁Woche
- ▁kurz
- stellen
- mmer
- ▁Sta
- ffen
- ▁quasi
- ▁gegen
- akt
- ▁kleine
- fer
- ▁20
- ▁guck
- ▁Ende
- ▁gesehen
- ▁Wi
- ör
- ▁nächste
- mal
- ab
- ▁Fa
- '1'
- ▁Podcast
- bi
- dem
- ▁wenig
- führ
- tag
- bo
- krieg
- pass
- ▁etwas
- hi
- stand
- ▁the
- ▁sehen
- F
- M
- ▁könnte
- ▁gehen
- T
- ▁wichtig
- zeit
- ▁Leben
- ▁He
- ▁paar
- mpf
- ▁Do
- ▁einmal
- pa
- ▁echt
- ▁Kon
- ▁Gott
- ▁dabei
- ▁zusammen
- '2'
- ▁Di
- vi
- D
- '6'
- ▁weg
- ▁Unter
- zähl
- B
- bring
- ▁denke
- ▁wollen
- ▁letzten
- hol
- ▁Sachen
- ▁Tra
- '8'
- ba
- ▁Folge
- ▁vom
- ▁tr
- ah
- ▁wollte
- ▁selbst
- ▁Weil
- co
- kauf
- gi
- ia
- ▁wahrscheinlich
- ▁ha
- ▁Mal
- ▁Pro
- uß
- ▁überhaupt
- bau
- ja
- weg
- ▁eher
- folg
- C
- rich
- ▁fand
- ic
- ▁selber
- ▁super
- vor
- ack
- ▁beim
- ▁jemand
- ▁dafür
- ▁drauf
- ▁Nach
- ▁musst
- ▁hatten
- ▁ihm
- ▁tun
- ▁sage
- fahren
- ▁zurück
- ▁gab
- ▁drin
- ▁sieht
- ▁sozusagen
- schrei
- ▁Hi
- ▁Okay
- ▁Oder
- ▁lange
- iz
- ieß
- ität
- ▁Jo
- fang
- ▁Wer
- '7'
- gehen
- anz
- ▁Nein
- ▁besser
- ▁Frau
- ▁schnell
- stehen
- ▁sowas
- ▁Problem
- ▁Punkt
- ▁Haus
- ▁zwar
- ▁sollte
- form
- ▁passiert
- ca
- ▁wissen
- ▁Vi
- ▁dein
- ▁Bi
- ▁deswegen
- pi
- lauf
- ▁welche
- ▁total
- ▁nämlich
- ▁davon
- ▁Hand
- ▁War
- ▁Kinder
- ▁irgendwann
- qu
- ▁Welt
- ▁cool
- bei
- ▁abge
- ▁dort
- fin
- weis
- ▁kenne
- ▁damals
- sprech
- ▁sogar
- schaff
- ▁Ga
- ▁jeder
- fühl
- ▁Mein
- ▁kam
- igkeit
- ▁Teil
- ▁konnte
- ▁Seite
- ▁Moment
- ▁steht
- ▁gewesen
- ▁Ta
- K
- ▁Schw
- port
- log
- ▁anders
- trag
- ▁liebe
- ▁eigene
- genommen
- ▁lassen
- ▁trotzdem
- ▁toll
- ▁relativ
- ▁Jetzt
- ▁gehört
- R
- ▁komm
- ▁ohne
- ▁Geld
- ▁Art
- ▁Vo
- ▁Lo
- land
- ▁alt
- ▁Euro
- rück
- ▁Grund
- ▁darüber
- ▁No
- setzt
- keit
- nehm
- ▁Arbeit
- G
- ▁Auto
- ▁Mu
- ▁Gefühl
- gestellt
- ▁vier
- ▁schlecht
- L
- ▁Anfang
- ▁darauf
- ▁Bild
- einander
- ▁irgendwas
- ▁letzte
- I
- ▁Dr
- ▁darf
- ▁Dank
- ▁interessant
- ativ
- E
- ▁irgendwo
- ▁direkt
- ▁Geschichte
- ▁spielen
- ▁Freund
- ▁manchmal
- frage
- va
- ▁Nu
- ▁los
- ▁komplett
- ▁fast
- ▁früh
- ▁seit
- ▁Über
- ▁Ganz
- ▁erstmal
- gang
- ▁stimmt
- nutz
- kommt
- ▁Ahnung
- ▁gedacht
- klär
- ▁weit
- zahl
- ▁Kind
- ▁funktioniert
- ▁zumindest
- gegangen
- bild
- ▁gehabt
- ▁Deutschland
- setzen
- ▁meisten
- ▁bestimmt
- ▁zwischen
- ▁gespielt
- ▁hoch
- ▁Person
- ▁ehrlich
- ▁Sinn
- ▁fünf
- ▁solche
- ▁brauche
- ▁dachte
- ▁Spaß
- schied
- ▁fest
- ▁sprechen
- ziehen
- geschrieben
- ▁Idee
- ▁spannend
- ▁später
- Ä
- W
- fällt
- ▁offen
- ▁Herr
- ▁krass
- ▁schwierig
- ▁bitte
- fahr
- erweise
- ▁Musik
- ▁ziemlich
- punkt
- ▁stark
- ▁freue
- fass
- ▁irgendein
- ▁hoffe
- ▁Chris
- ▁Situation
- ▁sehe
- ▁schwer
- ▁normal
- ▁Mensch
- ▁Vielleicht
- ▁egal
- '000'
- ▁Minuten
- H
- Y
- O
- ▁Herz
- ▁Bundes
- ▁darum
- ▁braucht
- ▁worden
- ▁leider
- ▁irgendwelche
- ▁Monat
- hält
- ▁gewisse
- ▁verschiedene
- spekt
- ▁Video
- ▁Qua
- ▁Stelle
- U
- '!'
- N
- Q
- Ö
- X
- Z
- J
- '%'
- é
- Ü
- »
- «
- '&'
- –
- à
- '*'
- q
- €
- è
- ş
- ú
- ć
- á
- ë
- ç
- —
- í
- °
- /
- å
- $
- č
- ô
- š
- ó
- _
- ñ
- ı
- õ
- '"'
- ›
- ́
- ‹
- ⁄
- ê
- û
- É
- ':'
- ğ
- Ã
- )
- ø
- ♪
- ã
- ł
- Ş
- ù
- ž
- î
- â
- ń
- Č
- ï
- ā
- Š
- ș
- '='
- ę
- ś
- ō
- ð
- İ
- ă
- ū
- ò
- ř
- Ø
- ý
- ì
- ē
- ̄
- μ
- ż
- ·
- À
- Á
- ο
- ṇ
- ě
- ;
- ^
- Î
- ą
- о
- ה
- ♫
- 스
- 해
- §
- λ
- τ
- Ó
- đ
- Ž
- ț
- '>'
- '~'
- £
- Å
- ź
- Ż
- Ȗ
- Ε
- Π
- έ
- δ
- ς
- υ
- ύ
- а
- р
- у
- щ
- ё
- י
- ث
- ض
- “
- ►
- っ
- ぱ
- る
- 些
- +
- م
- <sos/eos>
init: null
input_size: null
ctc_conf:
    dropout_rate: 0.0
    ctc_type: builtin
    reduce: true
    ignore_nan_grad: null
    zero_infinity: true
joint_net_conf: null
use_preprocessor: true
token_type: bpe
bpemodel: data/de_token_list/bpe_unigram1024/bpe.model
non_linguistic_symbols: null
cleaner: null
g2p: null
speech_volume_normalize: null
rir_scp: null
rir_apply_prob: 1.0
noise_scp: null
noise_apply_prob: 1.0
noise_db_range: '13_15'
short_noise_thres: 0.5
frontend: default
frontend_conf:
    n_fft: 512
    win_length: 400
    hop_length: 160
    fs: 16k
specaug: specaug
specaug_conf:
    apply_time_warp: true
    time_warp_window: 5
    time_warp_mode: bicubic
    apply_freq_mask: true
    freq_mask_width_range:
    - 0
    - 30
    num_freq_mask: 2
    apply_time_mask: true
    time_mask_width_range:
    - 0
    - 40
    num_time_mask: 2
normalize: global_mvn
normalize_conf:
    stats_file: exp/asr_stats_raw_de_bpe1024/train/feats_stats.npz
model: espnet
model_conf:
    ctc_weight: 0.3
    lsm_weight: 0.1
    length_normalized_loss: false
preencoder: null
preencoder_conf: {}
encoder: contextual_block_transformer
encoder_conf:
    output_size: 256
    attention_heads: 8
    linear_units: 2048
    num_blocks: 30
    dropout_rate: 0.1
    positional_dropout_rate: 0.1
    attention_dropout_rate: 0.0
    input_layer: conv2d
    normalize_before: true
    block_size: 40
    hop_size: 16
    look_ahead: 16
    init_average: true
    ctx_pos_enc: true
postencoder: null
postencoder_conf: {}
decoder: transformer
decoder_conf:
    attention_heads: 8
    linear_units: 2048
    num_blocks: 14
    dropout_rate: 0.1
    positional_dropout_rate: 0.1
    self_attention_dropout_rate: 0.0
    src_attention_dropout_rate: 0.0
preprocessor: default
preprocessor_conf: {}
required:
- output_dir
- token_list
version: '202211'
distributed: true
Downloads last month
21