Introdução geral
CSM O Voice Cloning é um projeto de código aberto desenvolvido por Isaiah Bjork e hospedado no GitHub. Ele é baseado no modelo Sesame CSM-1B, que permite aos usuários clonar sua própria voz e gerar sua própria voz personalizada simplesmente fornecendo uma amostra de áudio. A ferramenta é compatível com execuções de GPU locais e execuções de nuvem Modal, o que a torna adequada para criadores de conteúdo, desenvolvedores ou qualquer pessoa interessada em tecnologia de voz. Embora os resultados da clonagem não sejam os mais perfeitos, a voz gerada mantém algumas das características da voz alvo e o efeito é reconhecível. O projeto requer alguma base técnica, como a instalação do Python e a configuração do ambiente, mas um guia detalhado está oficialmente disponível. O projeto é totalmente gratuito e a comunidade é bem-vinda para contribuir com melhorias no código.
Lista de funções
- Clonagem de fala: carregue amostras de áudio para gerar uma fala que soe semelhante à amostra.
- Text-to-speech: insira texto e gere arquivos de áudio com vozes clonadas.
- Execução local: use sua GPU pessoal para processar tarefas de geração de fala.
- Executa na nuvem: acelerado por GPUs na nuvem por meio da plataforma Modal.
- Suporte de código aberto: o código é público e pode ser modificado ou otimizado pelo usuário.
- Compatível com formatos de áudio comuns: aceita arquivos MP3 ou WAV como amostras.
- Parameter Adjustment (Ajuste de parâmetros): Permite que o usuário ajuste as configurações do modelo para acomodar diferentes durações de áudio.
Usando a Ajuda
Processo de instalação
Para usar o CSM Voice Cloning, os usuários precisam primeiro configurar o ambiente de tempo de execução. Veja a seguir as etapas detalhadas:
Executar a instalação localmente
- Verifique os requisitos de hardware e software
- Requer Python 3.10 ou posterior.
- Placas gráficas compatíveis com NVIDIA CUDA e memória de vídeo suficiente são necessárias para a operação local.
- Certifique-se de ter uma conexão com a Internet para fazer o download dos modelos e das dependências.
- Repositório de código clone
- Abra um terminal (CMD ou PowerShell para Windows, Bash para Linux/Mac).
- Digite o comando:
git clone https://github.com/isaiahbjork/csm-voice-cloning.git cd csm-voice-cloning
- Instalação de dependências
- É executado no terminal:
pip install -r requirements.txt
- Isso instalará as bibliotecas necessárias, como PyTorch, Hugging Face, etc.
- É executado no terminal:
Instalação do Cloud Run (Modal)
- Instalação do Modal
- É executado no terminal:
pip install modal
- É executado no terminal:
- Configuração da autenticação modal
- Digite o comando:
modal token novo
- Siga as instruções para fazer login na sua conta do Modal ou criar uma nova conta.
- Digite o comando:
Configuração da conta Hugging Face
- Registre-se e obtenha um token
- Visite o site do Hugging Face para se registrar ou fazer login.
- existir Página do modelo Sesame CSM-1B Clique em "Access repository" (Acessar repositório) e aceite os termos.
- Gerar tokens de API: clique no seu avatar no canto superior direito -> Settings -> Tokens -> Novo token.
- Token de configuração
- Método 1: Digite no terminal:
export HF_TOKEN="Seu token"
- Método 2: Modificação
voice_clone.py
encontre o arquivoos.environ["HF_TOKEN"]
, preencha o token.
- Método 1: Digite no terminal:
Preparação de amostras de áudio
- Gravar áudio
- Grave um clipe de áudio nítido de 2 a 3 minutos, de preferência sem ruído de fundo.
- Salvar em formato MP3 ou WAV, por exemplo.
sample.mp3
.
- Transcrição de texto
- despesa ou gasto Sussurro ou outra ferramenta para transcrever o conteúdo do áudio, anotando o texto exato (por exemplo, "Hello, this is my test audio").
Funções principais
clone de falante nativo (computação)
- Editar parâmetros
- show (um ingresso)
voice_clone.py
modifique o seguinte:context_audio_path = "sample.mp3"
(caminho do áudio).context_text = "Olá, este é meu áudio de teste"
(texto transcrito).text = "It's a beautiful day today" (Está um lindo dia hoje)
(texto a ser gerado).output_filename = "output.wav"
(nome do arquivo de saída).
- show (um ingresso)
- programa de corrida
- Digite-o no terminal:
python voice_clone.py
- O áudio gerado é salvo na pasta do projeto.
- Digite-o no terminal:
Clonagem de voz baseada em nuvem (Modal)
- Editar parâmetros
- show (um ingresso)
modal_voice_cloning.py
definindo os mesmos parâmetros que o local:context_audio_path = "sample.mp3"
.context_text = "Olá, este é meu áudio de teste"
.text = "It's a beautiful day today" (Está um lindo dia hoje)
.output_filename = "output.wav"
.
- show (um ingresso)
- programa de corrida
- Digite-o no terminal:
modal run modal_voice_cloning.py
- O Modal usará a GPU da nuvem para processar a tarefa e fazer o download do arquivo de saída quando estiver concluído.
- Digite-o no terminal:
Ajuste do comprimento da sequência do modelo
- Se a amostra de áudio for longa (mais de 2 a 3 minutos), poderão ser encontrados erros de dimensão do tensor.
- Solução:
- show (um ingresso)
models.py
Documentação. - localizar
llama3_2_1B()
modificando a funçãomax_seq_len
Parâmetros:def llama3_2_1B(). return llama3_2.llama3_2(max_seq_len=4096, ...)
- seguro
llama3_2_100M()
for o mesmo, salve-o e execute-o novamente.
- show (um ingresso)
Operação da função em destaque
Aceleração da nuvem (Modal)
- O Modal oferece GPUs na nuvem para quem não tem dispositivos locais potentes.
- Simples de usar, basta instalar o Modal e executar os scripts apropriados para obter um processamento mais rápido do que o local.
Processamento de áudio longo
- A configuração padrão é para amostras de até 2 minutos e 50 segundos.
- O áudio mais longo precisa ser ajustado
max_seq_len
(conforme descrito acima), ou prenda a amostra no comprimento recomendado.
Perguntas frequentes
- erro de dimensão do tensor
crescentemax_seq_len
ou encurtar as amostras de áudio. - CUDA sem memória
Use amostras mais curtas ou mude para uma execução de nuvem Modal. - Falha no download do modelo
Verifique os tokens e as redes do Hugging Face para garantir que os termos do modelo tenham sido aceitos.
cenário do aplicativo
- criação de conteúdo
- Descrição da cena
Os âncoras podem gerar narração de vídeo com sua própria voz. Faça upload de um áudio de autoapresentação, insira um script e gere sua voz em minutos, eliminando a necessidade de gravações repetidas.
- Descrição da cena
- Suporte educacional
- Descrição da cena
O professor clona sua própria voz e insere as palestras do curso para gerar o áudio de ensino. Os alunos podem ouvir a qualquer momento, o que é adequado para o ensino à distância.
- Descrição da cena
- desenvolvimento de jogos
- Descrição da cena
Os desenvolvedores dão voz aos personagens do jogo. Grave algumas amostras para gerar vários diálogos e aumentar o realismo dos personagens.
- Descrição da cena
QA
- Qual é a duração da amostra de áudio?
Recomendado de 2 a 3 minutos. Muito curto para resultados ruins, muito longo para ajustar os parâmetros. - Por que a voz gerada não se parece muito comigo?
A modelagem é limitada, retendo as características do som, mas não é perfeita. Certifique-se de que a amostra esteja nítida e tente várias vezes com textos diferentes. - Qual é a diferença entre o Modal e a execução local?
O Modal usa GPUs na nuvem e é rápido para usuários sem dispositivos potentes. A execução local é gratuita, mas requer uma boa placa de vídeo.