Coder Social home page Coder Social logo

dominguesm / stt_pt_quartznet15x5_ctc_small Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 67 KB

Fine-tuned Quartznet-15x5 CTC small model for speech recognition in Portuguese

Home Page: https://huggingface.co/dominguesm/stt_pt_quartznet15x5_ctc_small

TeX 0.09% Jupyter Notebook 99.91%
nemo nvidia-jetson s2t speech-recognition speech-to-text stt

stt_pt_quartznet15x5_ctc_small's Introduction

Speech to Text - NeMo Portuguese

Visão geral do modelo

Este modelo transcreve a fala em letras minúsculas do alfabeto português juntamente com espaços. É uma versão treinada com poucos exemplos do modelo QuartzNet-CTC.

NVIDIA NeMo: Treinamento

Para treinar, ajustar ou brincar com o modelo, você precisará instalar o NVIDIA NeMo. Recomendo que você o instale depois de instalar a versão mais recente do Pytorch.

pip instalar nemo_toolkit['all']

Como usar este modelo

O modelo está disponível para uso no kit de ferramentas NeMo [1], e pode ser usado como um pre-trained checkpoint para inferência ou para ajuste fino em outro conjunto de dados.

Instanciar automaticamente o modelo

import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained("dominguesm/stt_pt_quartznet15x5_ctc_small")

Transcrição usando Python

Primeiro, vamos fazer o download de um pequeno exemplo:

wget https://github.com/DominguesM/stt_pt_quartznet15x5_ctc_small/raw/main/audios/common_voice_pt_25555332.mp3

Depois é só fazer:

asr_model.transcribe(['common_voice_pt_25555332.mp3'])

Transcrever muitos arquivos de áudio

python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py  pretrained_name="dominguesm/stt_pt_quartznet15x5_ctc_small"  audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"

Input

Este modelo aceita áudios mono-channel de 16.000 KHz (arquivos wav) como entrada.

Output

Este modelo fornece a fala transcrita como uma string para uma determinada amostra de áudio.

Arquitetura do modelo

Esse modelo é baseado na arquitetura QuartzNet, que é uma variante do Jasper que usa 1D time-channel separable convolutional layers em seus blocos residuais convolucionais e, portanto, são menores que os modelos Jasper.

Os modelos QuartzNet recebem segmentos de áudio e os transcrevem em sequências de letras, pares de bytes ou pedaços de palavras.

Treinamento

O script com todos os passos relacionados ao treinamento deste modelo podem ser encontrados na pasta notebooks.

Datasets

O modelo foi treinado com parte do conjunto de dados Common Voices 9.0 em português, totalizando 26 horas de áudio.

  • Mozilla Common Voice (v9.0)

Performance

Métrica Score
WER 49%
CER 18%

As métricas foram obtidas utilizando o script abaixo:

Atenção: Os passos abaixo devem ser executados após o download do dataset (Mozilla Commom Voices 9.0 PT) e seguir os passos de pré-processamento dos dados de audio e arquivos manifest contidos no arquivo notebooks/Finetuning CTC model Portuguese.ipynb

$ wget -P scripts/ "https://raw.githubusercontent.com/NVIDIA/NeMo/v1.9.0/examples/asr/speech_to_text_eval.py"

$ wget -P scripts/ "https://raw.githubusercontent.com/NVIDIA/NeMo/v1.9.0/examples/asr/transcribe_speech.py"

$ python scripts/speech_to_text_eval.py \
    pretrained_name="dominguesm/stt_pt_quartznet15x5_ctc_small" \
    dataset_manifest="manifests/pt/commonvoice_test_manifest_processed.json" \
    output_filename="./evaluation_transcripts.json" \
    batch_size=32 \
    amp=true \
    use_cer=false

Limitações

Como esse modelo foi treinado em conjuntos de dados de fala disponíveis publicamente, o desempenho desse modelo pode ser degradado para fala que inclui termos técnicos ou vernáculo em que o modelo não foi treinado. O modelo também pode ter um desempenho pior para a fala acentuada.

Referencias

[1] NVIDIA NeMo Toolkit

stt_pt_quartznet15x5_ctc_small's People

Contributors

dominguesm avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.