SoundStorm: geração eficiente e paralela de áudio
(google-research.github.io)- SoundStorm é um modelo que recebe tokens semânticos do AudioLM e gera tokens de codec neural de áudio em paralelo, reduzindo o custo computacional da geração de áudios longos
- Com atenção bidirecional e decodificação paralela baseada em confiança, busca atingir qualidade equivalente à de métodos autorregressivos, mantendo maior consistência de voz e de condições acústicas
- Em uma TPU-v4, gera 30 segundos de áudio em 0,5 segundo, mostrando uma velocidade dezenas de vezes maior que a do gerador acústico do AudioLM
- Combinado ao SPEAR-TTS, permite controlar roteiro, um breve prompt de voz e anotações de troca de falante para sintetizar 30 segundos de conversa natural em 2 segundos em uma única TPU-v4
- A imitação de voz pode ser usada indevidamente para falsificação de identidade e para contornar autenticação biométrica, exigindo salvaguardas; o áudio gerado após substituição pôde ser detectado em 98,5% dos casos por um classificador dedicado
Método de geração e desempenho do SoundStorm
- SoundStorm é um modelo eficiente de geração de áudio não autorregressiva
- A entrada são tokens semânticos do AudioLM, e a saída são tokens de codec neural de áudio
- Seu desempenho de geração se baseia em dois elementos de design
- Atenção bidirecional, que utiliza conjuntamente o contexto anterior e posterior
- Decodificação paralela baseada em confiança, que gera vários tokens de uma só vez
- Em comparação com o método de geração autorregressiva do AudioLM, produz áudio de qualidade equivalente, mas com maior consistência de voz e de condições acústicas
- Em uma TPU-v4, gera 30 segundos de áudio em 0,5 segundo
Síntese de conversas
- O SoundStorm pode ser combinado à etapa de modelagem texto-semântica do SPEAR-TTS para sintetizar conversas naturais de alta qualidade
- Há três elementos controláveis
- Conteúdo das falas por meio do roteiro
- Voz do falante por meio de um breve prompt de voz
- Trocas de falante por meio de anotações no roteiro
- O tempo de execução para sintetizar um trecho de conversa de 30 segundos foi medido em 2 segundos em uma única TPU-v4
- Os textos e falantes usados nos exemplos são dados não vistos durante o treinamento
Geração com e sem prompt
- O SoundStorm gera áudio condicionado aos tokens semânticos do AudioLM e demonstra casos com e sem um prompt de voz de 3 segundos
- Sem prompt, ele amostra diferentes falantes
- Com prompt, mantém a voz do falante com alta consistência
- As amostras originais vêm do LibriSpeech test-clean
- A velocidade de geração é dezenas de vezes maior que a do gerador acústico do AudioLM
Comparação com modelos de referência
- Na geração baseada em prompt, o SoundStorm tem consistência acústica maior que o AudioLM e preserva melhor a voz do falante do prompt
- Comparado ao RVQ level-wise greedy decoding no mesmo modelo, o SoundStorm gera áudio de qualidade superior
- Os exemplos de comparação apresentam lado a lado as saídas Original, AudioLM, Greedy e SoundStorm
Impacto e considerações de segurança
- O SoundStorm é um modelo que gera representações de áudio baseadas em codec neural de áudio com alta qualidade e eficiência
- Neste trabalho, ele é usado como um componente que substitui o pipeline de geração acústica do AudioLM e do SPEAR-TTS
- As amostras geradas podem ser afetadas por vieses dos dados de treinamento, e os exemplos podem incluir limitações como sotaques e características vocais representados
- Embora as características do falante possam ser controladas de forma estável por meio de prompts, uma análise mais aprofundada dos dados de treinamento e de suas limitações fica como trabalho futuro
- A capacidade de imitação de voz tem potencial de uso indevido
- Pode ser usada para contornar autenticação biométrica e para falsificação de identidade, tornando as salvaguardas importantes
- O áudio gerado após substituição pôde ser detectado em 98,5% dos casos por classificadores dedicados como o de Borsos et al. (2022)
- Como componente de um sistema maior, considera-se que o SoundStorm provavelmente não introduz riscos adicionais além dos discutidos em Borsos et al. (2022) e Kharitonov et al. (2023)
- Reduzir os requisitos de memória e computação do AudioLM pode tornar a pesquisa em geração de áudio acessível a uma comunidade mais ampla
- Futuramente, planeja-se explorar watermarking de áudio como outra abordagem para detectar fala sintética
1 comentários
Opiniões do Hacker News
Em CGI sempre houve marcos aos quais se ia chegando. Árvores com folhas finalmente ficando próximas da realidade, grama balançando ao vento quase convincente, melhorias em coisas como cabelo e gelatina; normalmente, depois de os curtas da Pixar mostrarem no que estavam focando, víamos aquilo ser aplicado nos filmes.
Depois vieram a captura de movimento e a tecnologia de colocar rostos digitais sobre rostos de atores reais; lembro do impacto quando vi isso pela primeira vez em Pirates of the Caribbean, e também com os símios de Planet of the Apes. Uma grande parte da indústria de CGI agora parece ter chegado a um ponto em que os problemas mais difíceis foram resolvidos.
Agora reproduzi o primeiro diálogo sintético de Dialogue Synthesis, “Where did you go last summer? | I went to Greece, it was amazing.”, e fiquei impressionado de novo. Parece que chegamos ao marco em que a máquina realmente fala como uma pessoa, de um jeito indistinguível de um humano.
Há 10 a 5 anos, se você quisesse usar TTS, a melhor opção era renderizar arquivos de voz com um telefone Android; todo o resto era muito ruim. Especialmente no lado open source, era horrível.
Então, quanto tempo vai levar até podermos baixar um modelo com essa qualidade em um Raspberry Pi de uma geração futura e, sem nuvem, apenas fazendo uma chamada HTTP, obter uma voz perfeita como saída de áudio? 5 anos?
Mesmo hoje, se você se esforçar bastante e usar um modelo pequeno ajustado para uma única voz, em vez de um grande modelo geral capaz de produzir qualquer voz, talvez já seja quase possível. O whisper-tiny não roda em tempo real no Pi? E ainda por cima nem usa a GPU do Pi. (https://github.com/ggerganov/whisper.cpp/discussions/166)
Edit: parece que o medium é 30 vezes mais lento que o tiny no Pi, então acho que fui otimista demais. Não sabia que o Whisper tiny era tão mais rápido que o medium.
Essa abordagem também funciona bem no Tortoise, permitindo obter qualidade parecida com a de modelos maiores mesmo usando configurações de qualidade muito rápidas do Tortoise. Claro que, se você ajustar tudo para uma única voz, boa parte dos recursos legais desaparece. No caso do Tortoise, ainda seria lento demais para o Pi, mas a mesma estratégia pode funcionar em modelos mais rápidos como o SoundStorm.
Em termos de qualidade, ainda há muito caminho pela frente na consistência de longo prazo em trechos longos de áudio. Quando uma pessoa de verdade lê um audiobook, as palavras no topo da página influenciam muito como ela vai ler as palavras mais abaixo. Essa influência pode existir mesmo em partes distantes, como da página 10 à página 300. Se você criar um audiobook com um modelo TTS de ponta e ouvir com atenção, as inconsistências ficam muito evidentes. Parece que o narrador gravou os parágrafos fora de ordem, ou como falas de videogame, em que os atores gravam cada fala separadamente e não reagem à atuação uns dos outros.
Aumentar a janela de contexto para 1 ou 2 minutos deixaria isso mais próximo e talvez fosse suficiente para alguns livros. No curto prazo, uma pessoa pode ajustar todas as amostras de áudio e mexer manualmente nelas para deixá-las naturais. Então será possível fazer algo bem ajustado com dedicação, como audiobooks feitos por fãs. Mas, em livros totalmente automatizados, essa inconsistência irrita demais. A atuação em certos trechos chega tão perto que, quando o tom sai do lugar, a sensação é ainda mais dolorosa.
Mas, hoje em dia, a cada nova técnica que imita e replica a criatividade e o comportamento humanos, sinto uma inquietação crescente.
Será que tenho o direito de saber se o que estou vendo ou lendo foi gerado?
É ótimo que Bing e Bard usem produtos recentes da Microsoft e do Google Cloud, mas seria bom ver avanços de voz como esses, junto com coisas como o audio palm(https://google-research.github.io/seanet/audiopalm/examples/), chegarem como APIs públicas ou interfaces de usuário.
O TTS do Bard é decente, mas claramente fica para trás.
Separadamente, o TTS em inglês/coreano do Bing é realmente bom. Eu não sabia que a Microsoft usava seu produto de ponta no TTS gratuito do Edge, por isso ele é muito melhor que as vozes TTS padrão do Google.
Algumas vozes do Azure são melhores que outras, e o app web de TTS tem alguns bugs pequenos, mas a experiência geral foi realmente satisfatória.
https://cloud.google.com/text-to-speech/docs/wavenet#studio_voices_preview
Fiquei confuso se “produto de ponta do TTS gratuito” quer dizer uma biblioteca de software livre, um SaaS gratuito, se “on edge” é o navegador Edge ou execução na borda no computador cliente. Você quer dizer que todo TTS que roda no computador do cliente é melhor que o TTS padrão do Google?
O que se deixa de fora quando dizem com desenvoltura que os artesãos podem simplesmente procurar outra coisa para fazer é que esse novo trabalho muitas vezes é simples e mal remunerado. Quando a Amazon expulsa as lojinhas de bairro, elas não abrem um novo negócio; acabam procurando empregos no Wal-Mart
É interessante que o SoundStorm tenha sido treinado para criar conversas entre duas pessoas usando roteiros em que a troca de voz é marcada com
|. Só que, no modelo Bark, exatamente o mesmo caractere|também parece funcionar quase por padrão para gerar diálogosUm terço, ou um pouco mais, das saídas do Bark sai como uma conversa em que uma pessoa fala sozinha, e ele também erra bastante as trocas de voz. Mesmo assim, o caractere pipe gera com bastante consistência um áudio que soa como diálogo em termos de estilo de atuação
https://twitter.com/jonathanfly/status/1675987073893904386
Será que em algum lugar dos dados de treinamento existe algum dado texto-áudio que usa
|para trocas de voz?Curiosamente, o Bark tende a renderizar prompts do SoundStorm em um tom sarcástico. Não sei se é uma diferença de estilo entre os modelos ou se o Google escolheu apenas leituras mais diretas como amostras representativas
[laughs]também funcionemFico me perguntando se marketplaces de trabalho como UpWork ou Fiverr conseguirão se adaptar rápido o bastante a uma nova situação em que softwares já conseguem fazer muitos serviços que antes eram feitos por pessoas
A interface atual desses marketplaces não parece adequada para isso. O comprador vai querer o resultado na hora, em vez de entrar em contato com uma pessoa e esperar o trabalho ficar pronto
Então talvez as plataformas precisem virar algo mais parecido com uma app store: vendedores conectam seus serviços, e compradores os usam imediatamente
Se você tivesse à mão uma ferramenta em que pudesse inserir algumas falas anteriores do ator, gerar algo que preencha as lacunas conforme parâmetros definidos e continuar o projeto sem toda a logística, seria um paraíso
Mas isso também pode matar uma especialidade profissional inteira. Também reduzirá o valor dos atores. Na verdade, isso já está acontecendo. Já existem no mercado programas que substituem completamente dubladores e que estão sendo usados na área de videogames
Para o trabalho que faço, isso com certeza poderia ajudar. Ao mesmo tempo, sei muito bem que há um enorme potencial de abuso
A parte mais impressionante é que ele parece gerar 30 segundos de TTS a partir de apenas 3 segundos do original. É muito legal e, sinceramente, está muito mais avançado do que eu esperava
Considerando os avanços recentes, existe alguma voz TTS para Linux decente que um usuário comum consiga usar sem configurações complicadas?
Eu não gostaria de jogar um jogo gerado desse jeito. O motivo exato pelo qual quero ouvir diálogos de NPCs é porque são diálogos escritos por pessoas
É impressionante, mas no primeiro exemplo, no último instante, a voz do homem virtual desliza para cima ao dizer “what?”, e dá para ouvir claramente um efeito de correção de pitch, tipo autotune, o que faz aquilo falhar
Os outros exemplos são simplesmente incríveis. Se ele realmente consegue treinar por apenas alguns segundos e produzir minutos de uma voz plausível, o próximo passo deve ser fazê-lo cantar. Acho que vem uma tempestade jurídica quando alguém usar uma tecnologia parecida para colocar, por exemplo, a voz do Elvis em um anúncio sem revelar o nome, de modo que os fãs reconheçam, mas o áudio não corresponda às letras nem a músicas existentes dele
Não é uma observação particularmente inteligente, mas é muito divertido reproduzir todas as amostras ao mesmo tempo. Dá uma sensação de Ableton Live em versão HTML