Introdução geral
O Dolphin é um modelo de código aberto desenvolvido pela DataoceanAI em colaboração com a Universidade de Tsinghua, com foco no reconhecimento de fala e de idioma para idiomas asiáticos. Ele é compatível com 40 idiomas do Leste Asiático, Sul da Ásia, Sudeste Asiático e Oriente Médio, além de 22 dialetos chineses. O modelo é treinado em mais de 210.000 horas de dados de áudio, combinando conjuntos de dados proprietários e disponíveis publicamente. O Dolphin pode converter fala em texto, bem como detectar partes da fala (VAD), segmentar áudio e reconhecer idioma (LID). Ele foi projetado para ser simples, e o código e alguns dos modelos estão disponíveis gratuitamente no GitHub para desenvolvedores.
Lista de funções
- Oferece suporte à conversão de voz em texto em 40 idiomas asiáticos e 22 dialetos chineses.
- Fornece detecção de atividade de voz (VAD) para localizar segmentos de fala no áudio.
- Suporte à divisão de áudio, corte o áudio longo em pequenos segmentos para processamento.
- Implementar a identificação de idioma (LID) para determinar o idioma ou dialeto do áudio.
- Código-fonte aberto e modelos que permitem a modificação e a personalização pelo usuário.
- Há dois modelos, básico e pequeno, para atender a diferentes necessidades.
- Usar um sistema de rotulagem de dois níveis que faça distinção entre idiomas e regiões (por exemplo
<zh><CN>
).
Usando a Ajuda
O processo de instalação e uso do Dolphin é simples e adequado para usuários com conhecimentos básicos de programação. Veja a seguir as etapas detalhadas.
Processo de instalação
- Preparação do ambiente
Requer Python 3.8 ou superior e FFmpeg para processar áudio.- Verificação do Python: No terminal, digite
python --version
, confirmando a versão. - O Python não está instalado e pode ser baixado do site python.org.
- Instale o FFmpeg: execute o comando de acordo com seu sistema:
- Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg
- macOS:
brew install ffmpeg
- Windows:
choco install ffmpeg
As ferramentas de gerenciamento de pacotes não instaladas podem ser baixadas do site do FFmpeg.
- Ubuntu/Debian:
- Verificação do Python: No terminal, digite
- Instalando o Dolphin
Há duas maneiras:- Instalar com o pip
Digite-o no terminal:pip install -U dataoceanai-dolphin
Isso instalará a versão estável mais recente.
- Instalação a partir do código-fonte
Para usar a versão de desenvolvimento mais recente, obtenha-a no GitHub:- Armazém de Clonagem:
git clone https://github.com/DataoceanAI/Dolphin.git
- Acesse o catálogo:
cd Dolphin
- Instalação:
pip install .
- Armazém de Clonagem:
- Instalar com o pip
- Modelos para download
O Dolphin tem 4 modelos, atualmente o básico (140 milhões de parâmetros) e o pequeno (372 milhões de parâmetros) estão disponíveis para download gratuito.- através de (uma lacuna) Cara de abraço Obter o arquivo de modelo.
- Salvar no caminho especificado, por exemplo.
/data/models/dolphin/
. - O modelo básico é mais rápido e o modelo pequeno é mais preciso.
Uso
Há suporte para operações de linha de comando e Python.
operação de linha de comando
- Conversão de fala em texto
Prepare o arquivo de áudio (por exemploaudio.wav
), digite:
dolphin audio.wav
O sistema faz o download automático do modelo padrão e gera o texto. O áudio deve estar no formato WAV e pode ser convertido com o FFmpeg:
ffmpeg -i input.mp3 output.wav
- Especificação de modelos e caminhos
Use o modelo pequeno:
dolphin audio.wav --model small --model_dir /data/models/dolphin/
- Especifique o idioma e a região
Reconhecimento do chinês mandarim com marcadores de camada dupla:
dolphin audio.wav --model small --model_dir /data/models/dolphin/ --lang_sym "zh" --region_sym "CN"
lang_sym
é o código do idioma, como "zh" (chinês).region_sym
é o código de área, por exemplo, "CN" (China continental).
Para obter uma lista completa de idiomas, consulte idiomas.md.
- Preencher áudio curto
Disponível quando o áudio tem menos de 30 segundos--padding_speech true
Recheio:
dolphin audio.wav --model small --model_dir /data/models/dolphin/ --lang_sym "zh" --region_sym "CN" --padding_speech true
Manipulação de código Python
- Carregando áudio e modelos
É executado em Python:
import dolphin
waveform = dolphin.load_audio("audio.wav") # 加载音频
model = dolphin.load_model("small", "/data/models/dolphin/", "cuda") # 加载模型
"cuda"
com GPU, sem alteração de GPU para"cpu"
.
- Reconhecimento executivo
Processa o áudio e o envia para a saída:result = model(waveform) # 转文本 print(result.text) # 显示结果
- Especifique o idioma e a região
Adicionar parâmetros:result = model(waveform, lang_sym="zh", region_sym="CN") print(result.text)
Operação da função em destaque
- Detecção de atividade de voz (VAD)
Detecta automaticamente segmentos de fala e os rotula com o tempo, por exemplo:0.0-2.5s: 你好 3.0-4.5s: 今天天气很好
- Identificação do idioma (LID)
Determine o idioma do áudio, por exemplo:dolphin audio.wav --model small --model_dir /data/models/dolphin/
saída como
<zh>
(chinês) ou<ja>
(japonês). - marcação bilíngue
Distinguir entre idiomas e regiões com rotulagem de dois níveis, por exemplo<zh><CN>
(em chinês mandarim),<zh><TW>
(mandarim taiwanês) para aprimorar as habilidades de processamento de idiomas asiáticos. - arquitetura do modelo
A arquitetura do CTC-Attention, com o E-Branchformer para o codificador e o Transformer para o decodificador, é otimizada para idiomas asiáticos.
cenário do aplicativo
- procedimentos
Converte gravações de conferências multilíngues asiáticas em texto, adequado para reuniões internacionais ou locais. - estudo do dialeto
Analisar as características fonológicas de 22 dialetos chineses e gerar dados de pesquisa. - Desenvolvimento de dispositivos inteligentes
Integração em dispositivos inteligentes para controle de voz em idiomas asiáticos.
QA
- Quais são os idiomas suportados?
Suporte para 40 idiomas asiáticos e 22 dialetos chineses, consulte idiomas.md. - Precisa de uma GPU?
Não é necessário. A CPU pode ser executada, mas a GPU (suporte a CUDA) é mais rápida. - Qual é a diferença entre os modelos básico e pequeno?
O modelo básico é pequeno (140 milhões de parâmetros) com uma taxa de erro de 33,31 TP3T; o modelo pequeno é grande (372 milhões de parâmetros) com uma taxa de erro de 25,21 TP3T.