Introdução geral
O OpenVoice é um método de clonagem de voz versátil e rápido que replica a voz de um locutor de referência e gera um discurso multilíngue usando apenas clipes de áudio curtos do locutor. Além de replicar o timbre, o OpenVoice permite um controle preciso do estilo de voz, incluindo emoção, sotaque, ritmo, pausas e entonação.
Projetos de conversão de texto em fala relacionados ao OpenVoice: https://github.com/myshell-ai/MeloTTS
O projeto pode treinar sua própria fala usando o conjunto de dados, mas não tem uma interface de treinamento. Ele não é igual ao Instantaneous Speech Cloning e se concentra mais na conversão de texto em fala usando um modelo treinado de forma estável.
Lista de funções
Clonagem precisa de tons: o OpenVoice pode replicar com precisão os tons de referência e gerar fala em vários idiomas e sotaques.
Controle flexível do estilo de voz: o OpenVoice permite um controle preciso do estilo de voz, incluindo emoção, sotaque, ritmo, pausas e entonação.
Clonagem de fala em vários idiomas com disparo zero: a fala gerada não precisa estar no mesmo idioma que a fala de referência, nem precisa ser apresentada em um conjunto de dados de treinamento multilíngue em grande escala.
Em destaque:
1. clonagem precisa de tons. O OpenVoice pode clonar com precisão os tons de referência e gerar fala em vários idiomas e sotaques.
2. controle de tom flexível. O OpenVoice oferece controle refinado sobre o estilo de voz (por exemplo, emoção e sotaque), bem como outros parâmetros estilísticos, incluindo ritmo, pausas e entonação.
3. clonagem de fala multilíngue cruzada de amostra zero. Nem o idioma em que a fala é gerada nem o idioma em que a fala é referenciada precisam estar presentes em um conjunto de dados de treinamento multilíngue de alto-falantes em grande escala.
Usando a Ajuda
Consulte as instruções de uso para obter orientações detalhadas.
Consulte o QA para ver as perguntas frequentes. Atualizaremos a lista de perguntas e respostas regularmente.
Aplicar no MyShell:Uso direto de serviços de reprodução instantânea de fala e síntese de fala (TTS).
Exemplo minimalista:Experimente rapidamente o OpenVoice sem a necessidade de alta qualidade.
Instalação do Linux:Apenas para pesquisadores e desenvolvedores.
Teste rápido no google colab
/content!git clone -b dev https://github.com/camenduru/OpenVoice /content/OpenVoice!apt -y install -qq aria2!aria2c --console- log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/camenduru/OpenVoice/resolve/main/checkpoints_1226.zip -d /content -o checkpoints_ 1226.zip!unzip 1226.zip!unzip /content/checkpoints_1226.zip!pip install -q gradio==3.50.2 langid faster-whisper whisper-timestamped unidecode eng-to-ipa pypinyin cn2an!python openvoice_app.py --share
Aplicar no MyShell
Para a maioria dos usuários, a maneira mais conveniente de experimentar os serviços gratuitos de TTS e Live Voice Replication é diretamente no MyShell.
Serviços TTS
Clique aquie siga as etapas abaixo:
clonagem de fala
Clique aquie siga as etapas abaixo:
Exemplo Minimalista
Para quem quiser experimentar rapidamente o OpenVoice e não precisar de muita qualidade ou estabilidade, clique em qualquer um dos links abaixo:
Lepton AI:https://www.lepton.ai/playground/openvoice
MySHell:https://app.myshell.ai/bot/z6Bvua/1702636181
HuggingFace:https://huggingface.co/spaces/myshell-ai/OpenVoice
Instalação do Linux
Esta seção destina-se principalmente a desenvolvedores e pesquisadores com experiência em Linux, Python e PyTorch. Clone este repositório e faça o seguinte:
conda create -n openvoice python=3.9
conda activate openvoice
git clone git@github.com:myshell-ai/OpenVoice.git
cd OpenVoice
pip install -e .
De [Aqui estão] faça o download do ponto de verificação e descompacte-o no diretório pontos de controle arquivo (papel)
1. Controle flexível de estilo de voz:Veja [demo_part1.ipynbSaiba como o OpenVoice controla o estilo da fala clonada.
2. Clonagem de fala em vários idiomas:Consulte [demo_part2.ipynbAprenda sobre demonstrações de idiomas visíveis ou não visíveis no conjunto de treinamento MSML.
3. Demonstração do Gradio:Aqui fornecemos uma simulação local mínima do Gradio. Se você tiver problemas com a demonstração do Gradio, recomendamos que consulte o demo_part1.ipynb
edemo_part2.ipynb
e [QnA] Use o botão python -m openvoice_app --share
Inicie a demonstração local do Gradio.
3. Guia do usuário avançado:O modelo de fala básico pode ser substituído por qualquer modelo (qualquer idioma, qualquer estilo) preferido pelo usuário. Como mostrado na demonstração, usando o se_extractor.get_se
Métodos de extração de incorporação de tons para novos alto-falantes de base.
4. Uma proposta para gerar fala natural:Há muitos métodos de TTS com um ou vários alto-falantes para gerar fala natural que estão prontamente disponíveis. Basta substituir o modelo básico de alto-falante pelo seu modelo preferido para que a naturalidade da sua fala atinja o nível desejado.
Tutorial de implementação local do OpenVoiceV2, processo de implementação do Apple MacOs
Recentemente, o projeto OpenVoice atualizou sua versão V2, o novo modelo é mais amigável à inferência chinesa e o timbre foi aprimorado até certo ponto. Desta vez, compartilhamos como implantar localmente a versão V2 do OpenVoice no sistema MacOs da Apple.
Primeiro, faça o download do zip do OpenVoiceV2:
Código e modelos do OpenVoiceV2-for-mac https://pan.quark.cn/s/33dc06b46699
Esta versão foi otimizada para MacOs, e o volume da voz em chinês foi modificado.
Após a descompactação, primeiro copie a pasta hub de HF_HOME no diretório do projeto para o seguinte diretório em seu sistema atual:
/Usuários/nome de usuário atual/.cache/huggingface
Esse é o caminho padrão para salvar o modelo huggingface no sistema Mac. Se você não o copiar, precisará baixar mais de dez G do modelo de pré-treinamento do zero, o que é muito problemático.
Em seguida, volte ao diretório raiz do projeto e digite o comando:
conda create -n openvoice python=3.10
Crie um ambiente virtual com a versão 3.10 do Python; observe que a versão só pode ser 3.10.
Em seguida, ative o ambiente virtual:
conda activate openvoice
O sistema retorna:
(base) ➜ OpenVoiceV2 git:(main) ✗ conda activate openvoice
(openvoice) ➜ OpenVoiceV2 git:(main) ✗
Indica que a ativação foi bem-sucedida.
A instalação é feita via brew, pois a camada inferior requer mecab:
brew install mecab
Comece a instalar as dependências:
pip install -r requirements.txt
Como o OpenVoice é responsável apenas pela extração de fonemas, a conversão da fala também requer suporte a tts e, nesse caso, a dependência subjacente está no módulo melo-tts.
Vá para o diretório Melo:
(openvoice) ➜ OpenVoiceV2 git:(main) ✗ cd MeloTTS
(openvoice) ➜ MeloTTS git:(main) ✗
Instale a dependência do MeloTTS:
pip install -e .
Após o sucesso, você precisará fazer o download do arquivo do dicionário separadamente:
python -m unidic download
Em seguida, basta voltar ao diretório raiz e iniciar o projeto:
python app.py
O sistema retorna:
(openvoice) ➜ OpenVoiceV2 git:(main) ✗ python app.py
Em execução no URL local: http://0.0.0.0:7860
IMPORTANTE: você está usando a versão 3.48.0 do Gradio, mas a versão 4.29.0 está disponível.
--------
Para criar um link público, defina `share=True` em `launch()`.
Isso conclui a implementação do OpenVoice em MacOs.
observações finais
Um dos recursos inovadores do OpenVoice é a sua capacidade de realizar clonagem de voz entre idiomas com zero disparos. Ele pode clonar vozes em idiomas que não estão incluídos no conjunto de dados de treinamento, sem a necessidade de fornecer grandes quantidades de dados de treinamento de locutor para esses idiomas. No entanto, o fato é que o aprendizado Zero-shot geralmente apresenta menor precisão em categorias desconhecidas, especialmente em categorias complexas, em comparação com o aprendizado supervisionado tradicional com dados rotulados ricos. Contar com informações auxiliares pode introduzir ruídos e imprecisões, de modo que o OpenVoice não funciona bem para alguns tons muito específicos e deve ser ajustado para a modalidade subjacente a fim de resolver esses problemas.