1 pontos por GN⁺ 2025-10-22 | 1 comentários | Compartilhar no WhatsApp
  • Neural Audio Codec é uma ferramenta central para inserir dados de áudio em Large Language Models (LLM) de forma eficiente
  • Interfaces de voz de LLMs existentes são, em sua maioria, wrappers baseados em texto, então ainda há limites para uma verdadeira compreensão de voz e reconhecimento de emoção
  • A modelagem de áudio, diferentemente do texto, envolve muitas amostras e dificuldade em manter consistência de longo prazo, o que exige compressão e tokenização eficientes
  • Usa técnicas modernas de codec de áudio neural, como Residual Vector Quantization (RVQ), para converter áudio em tokens discretos amigáveis a LLM para processamento
  • A aplicação de codecs neurais avançados, como o Mimi da Kyutai, vem impulsionando melhorias na expressividade e na qualidade de LLMs de áudio

Contexto de adoção de Neural Audio Codec e LLMs de áudio

  • A maioria dos modelos de voz baseados em LLMs, em vez de entender áudio real, segue o fluxo de transcrição de áudio para texto resposta síntese
  • Em uma compreensão real de voz, é essencial captar emoção, entonação, sarcasmo e nuances não verbais
  • Alguns modelos (Gemini, ChatGPT Advanced Voice Mode, Qwen, Moshi) aceitam entrada de voz, mas, na prática, ainda carecem de capacidade profunda de compreensão de fala
  • LLMs de texto alcançaram alto desempenho rapidamente com investimento em dados, algoritmos e poder computacional, mas processar áudio é muito mais complexo

Diferença no tokenizar texto e áudio

  • Em texto, mesmo com tokenizadores fixos relativamente simples, como byte-pair encoding, ainda se obtém bons resultados
  • Mesmo LSTM ou RNN iniciais conseguiam resultados razoáveis apenas com predição de caractere por amostra
  • Em áudio, 1 segundo contém dezenas de milhares de amostras, e 10 segundos exigem centenas de milhares de previsões temporais
  • Quando a geração ocorre amostra por amostra, como no WaveNet, a qualidade sonora é boa, mas há dificuldade em transmitir significado

Gargalos da modelagem de áudio e limitações da predição amostra a amostra

  • A geração por amostra é, na prática, muito lenta e não garante coerência entre unidades de significado
  • Em experimento de referência (151M de parâmetros, 1000 horas de dados), a usabilidade cai por causa de fala com ruído e falta de consistência
  • A alta taxa de amostragem do áudio (base de 16 kHz, contexto de 2048 = 128 ms) gera limitação de janela de contexto em LLMs
  • Para processamento de áudio em tempo real, compressão eficiente é indispensável

Neural Audio Codec: autoencoders e RVQ

Princípios básicos de autoencoders e quantização vetorial (VQ-VAE)

  • Estrutura de rede neural que comprime a entrada (áudio, imagem etc.) para um espaço latente (latent space) menor e depois a reconstrói
  • Em vez de saída contínua, o embedding é tokenizado de forma discreta por quantização vetorial (ex.: k-means) para que possa ser enviado a um LLM
  • Usa a técnica Straight-through estimator para contornar a não diferenciabilidade
  • Adiciona commitment loss para reduzir a distância entre embedding e centros de cluster
  • A arquitetura do VQ-VAE é uma evolução de autoencoder orientada para ser mais compatível com quantização

Conceito de Residual Vector Quantization (RVQ)

  • Quando muitos níveis de quantização são necessários, introduz-se níveis de token residual para resolver limitações de gerenciar uma única enorme tabela de clusters
  • Primeiro quantiza-se o embedding inicial e depois quantiza-se adicionalmente o residual para maximizar eficiência de compressão
  • Se necessário, é possível usar quantização de múltiplos níveis (2 níveis ou mais), com expansão de arquitetura simples, via estrutura de loop (for level in range(levels))
  • RVQ é aplicado de forma central em codecs de áudio neural recentes, como o SoundStream (2021)

Tokenização de áudio e aplicação em LLMs

  • Com autoencoder CNN, o áudio é downsampled (ex.: redução de 128x em vetores de 32 dimensões), depois aplica-se RVQ independente em cada embedding
  • A saída do código RVQ (ex.: RVQ de 8 níveis) é achatada em sequência de tokens 1D e usada diretamente como entrada de LLM
  • Com flattening, pode ocorrer perda parcial na compressão temporal (ex.: expansão de 128x para baixo de 8x)
  • Nível de codebook, quantidade de níveis e ordem do flatten impactam diretamente qualidade e taxa de compressão

Treinamento real de codecs de áudio neural e melhoria de qualidade

  • Em testes, o aumento de níveis RVQ reduz a perda de reconstrução e melhora a qualidade sonora
  • No entanto, mesmo com um codec próprio simples, ainda pode haver um pouco de ruído e distorção de timbre
  • Codificadores neurais de ponta, como o Mimi da Kyutai, maximizam qualidade com inovações como perdas baseadas em GAN e RVQ dropout
    • Discriminação entre áudio real e fake com GAN discriminator durante o treinamento
    • Em vários níveis RVQ, usa-se aleatoriamente apenas parte dos níveis (dropout), mantendo qualidade em qualquer nível de compressão

Mudanças reais de desempenho em LLM com Mimi

  • Mimi permite downsampling mais agressivo e compressão eficiente, com taxa de amostragem de 24 kHz e 12,5 fps
  • Ao tokenizar os mesmos 10k horas da Libri-Light com Mimi, a capacidade de armazenamento cai cerca de 1/2, com ganho de eficiência de treinamento e qualidade
  • Em geração de áudio com base em semântica, como música e poesia, há consistência textual mais alta

Introdução de tokens semânticos

  • O nível superior do Mimi são tokens semânticos extraídos de BERTs de fala como o WavLM
  • Tokens semânticos cobrem o conteúdo da fala, enquanto tokens RVQ inferiores tratam de informações acústicas como timbre e voz
  • Ao fixar os tokens semânticos e regenerar apenas os demais com LLM, torna-se possível produzir o mesmo enunciado com outra voz

Trade-off entre semântica e qualidade acústica

  • Ao reduzir o número de níveis RVQ, aumenta-se o peso dos tokens semânticos, elevando a taxa de correspondência semântica e melhorando a geração de frases por LLM
  • Na prática, chega-se a um ponto em que parte de dados de treino como as instruções do Librivox é praticamente memorizada
  • Dependendo do peso entre função de perda de semântica e de qualidade sonora, há múltiplas aplicações possíveis (Moshi dá 100x de peso para perda semântica)

Modelos recentes de LLM de áudio e tendências de pesquisa

  • Com anos de avanço, Kyutai Moshi, Sesame CSM e Alibaba Qwen3-Omni lideram pesquisas em LLMs nativos de voz
  • A maioria ainda depende da abordagem de fluxo de texto em paralelo, com raciocínio de contexto ocorrendo principalmente no texto
  • Também avançam pesquisas com alternativas como mistura/cruzamento de tokens de texto e áudio ou geração em espaço latente contínuo (modelos de difusão e consistency)

Conclusão e perspectiva

  • Neural Audio Codec é infraestrutura central para LLMs de áudio, melhorando bastante a qualidade de geração ao tokenizar de forma balanceada informação semântica e acústica
  • Ainda existe um modality gap em comparação a LLMs de texto, especialmente em raciocínio e compreensão de voz
  • Kyutai Moshi e outros seguem com inovações, como as primeiras tentativas de Voice AI ponta a ponta, e a evolução de ML de áudio segue com expectativa de crescimento

Artigos de referência e leituras adicionais

  • WaveNet (2016), SampleRNN (2016), MelGAN (2019), HiFi-GAN (2020) e marcos principais de modelos de geração de áudio e conceitos correlatos
  • Introdução a pesquisas de aplicação de codecs/modelos como Neural Discrete Representation Learning, SoundStream, EnCodec, WavLM, MiMo-Audio
  • Apresentação de possibilidades com geração de áudio contínuo e aplicação de modelos de Diffusion/Consistency

Exemplos de LLMs recentes baseados em áudio (até 2025)

  • Moshi (Kyutai)
  • CSM (Sesame)
  • Qwen3-Omni (Alibaba)
  • MiMo-Audio (Xiaomi)
  • LFM2-Audio (Liquid AI)

1 comentários

 
GN⁺ 2025-10-22
Discussão no Hacker News
  • Comentou que, ao perguntar ao LLM se está falando com tom de voz grave ou agudo, ele não consegue distinguir corretamente; ficou na dúvida se isso é uma limitação do próprio LLM ou um efeito de sobreajuste de segurança. Mencionou que o modo Voice do ChatGPT já inclui várias proteções, como bloqueio de geração musical e de certas inflexões (por exemplo, não reproduzir sotaque indiano), além de evitar suposições sobre raça ou vieses, e considerou que essas restrições talvez tenham sido completamente removidas do modelo.

    • Como autor, explicou que esse comportamento parece mais uma limitação de capacidade do que um problema de segurança. O aprendizado em áudio ainda é mais difícil do que em texto e, por isso, a generalização ainda é fraca. Para contornar isso, modelos de áudio costumam combinar texto e áudio no mesmo fluxo (por exemplo, com um único modelo recebendo e gerando tokens de texto e áudio), e os tokens de áudio acabam virando uma espécie de transdutor fonético-textual unificado. Ele comentou que colegas dele no Moshi tiveram a mesma experiência e que outros modelos mostram comportamento parecido. Também destacou o impacto de dados sintéticos: ao fazer ajuste fino com dados gerados por TTS, a informação de tom vai embora, então o modelo aprende a ignorá-la.

    • Sobre “combinar acento” (fazer com que o LLM não fale com sotaque indiano quando o interlocutor usa esse sotaque), ele se perguntou por que isso não acontece. Observou que casar a entonação melhora bastante a compreensão mútua; em muitos casos, é vantajoso adaptar a fala de quem não consegue mudar seu próprio sotaque. Se ele próprio conseguisse usar inglês com sotaque indiano, isso teria sido muito útil nas conversas com centros de suporte terceirizados.

    • Perguntou se houve casos de o LLM responder de forma diferente conforme a raça; achou inesperado alguém pensar nisso, já que os dados de treino são majoritariamente diálogos textuais e, portanto, teriam menos base para aprender esse tipo de viés.

    • Compartilhou que o Qwen3 omni transcriber descreve voz e emoção de forma excelente.

    • Também acha que não é apenas pelas proteções: parece que o próprio modelo não entende o pitch. Quando pediu ao modo de voz avançado do ChatGPT para identificar um assobio, ele insistiu em responder “Beethoven 5” o tempo todo. Ele suspeita que o áudio tenha sido tokenizado como algo parecido com “tum-tum-tum-tum~”.

  • No áudio, o contexto de longo alcance talvez não seja tão importante, então talvez façam mais sentido modelos de espaço linear e tempo constante (RWKV, S4 etc.). Ele imagina o Transformer rodando em paralelo em baixa frequência, enquanto um modelo linear enviaria um token de resumo por segundo (incluindo texto, emoção etc.) para receber feedback. Se treinados em paralelo, o significado desses tokens de resumo não é pré-definido: ele é aprendido no treinamento. Acabaria sendo uma abordagem end-to-end puramente fonética, sem tradução para texto. Informações menos úteis ou de baixa entropia poderiam ser comprimidas em tokens menores. Admitiu que em lógica e código ele não consegue acompanhar um LLM de texto, mas que humanos também têm dificuldade em explicar algoritmos com detalhes em linguagem natural.

    • Não conhece bem modelos lineares, mas explicou que esse tipo de modelagem hierárquica é uma ideia comum em pesquisa de fala. Por exemplo, o Jukebox da OpenAI (2020) usa um codec de áudio em 3 estágios, em que o modelo de linguagem prevê primeiro o nível mais grosseiro e depois reconstrói os níveis mais finos. O MiMo-audio, mais recentemente, prevê quatro time steps de cada vez como um patch. Compartilhou como referência o artigo do OpenAI Jukebox e o relatório técnico do MiMo-Audio.

    • A Cartesia informou que está desenvolvendo um modelo de tempo constante para áudio em seu site.

    • Também deixou um incentivo: “escreva isso como paper!”

  • Sobre por que não usar codecs de áudio “comuns” (JPEG, MP3), ele explicou que o MP3 consegue reconstruir totalmente dezenas de milissegundos de áudio por frame de forma independente. Em 128 kbps, fica em 418 bytes por 26 ms, uma redução de 10–11x em relação ao original, e remove informação redundante. Imaginou se, com um codificador, não poderíamos usar cada frame como token.

    • Compartilhou um resumo de estudo que usa JPEG diretamente como entrada de deep learning: treinando CNNs com coeficientes DCT, é possível pular a etapa de reconstrução para pixels e reaplicar a transformação. Testado no ResNet-50, a velocidade de treino aumentou até 1,77x e a acurácia também melhorou. Ele trouxe o link do artigo e disse que MP3 parece uma ideia promissora.

    • Como autor, disse que o principal motivo para não usar isso é a taxa de compressão. O codec neural SoundStream, um dos primeiros, já entrega qualidade boa em 3 kbps, enquanto MP3 fica em torno de 128 kbps. O SoundStream foi originalmente criado para compressão de áudio do Google Meet, e os codecs neurais de hoje são mais eficientes. O Opus, sucessor moderno do MP3, já chega a 12 kbps, mas ainda não é tão eficiente quanto um codec neural. A vantagem dos codecs tradicionais é menor carga na CPU.

    • Dá para treinar um adaptador para converter um frame MP3 de 400 bytes em embedding para LLM, mas a informação precisa ter uma estrutura “digerível” para a rede neural. Redes neurais gostam de dados redundantes (como texto tokenizado), enquanto dados altamente comprimidos como GZIP costumam ser ruins para elas. É algo fácil de testar, mas sem garantia de sucesso; há casos em que abordagens estranhas funcionam.

    • A abordagem TFA codifica em espaço de 32 dimensões, superando com folga a compressão baseada em percepção psicoacústica. Além disso, remover informação quase inalcançável pelo ouvido não importa muito se o objetivo é geração de fala nova.

    • Humanos reconhecem som por componentes de frequência. O ouvido interno tem um banco de filtros com frequências de ressonância variadas, e a percepção da fala se baseia em formantes para inferir os movimentos articulatórios. Se tokenizamos frames de MP3, por causa da quantização de frequência, codificação Huffman e estrutura de frame, isso vira caixa-preta para o modelo. A predição de texto pode funcionar, mas quanto mais a entrada esconder informação importante, mais difícil fica; sem acesso direto aos formantes, generalizar também é difícil, e fica a dúvida de até onde um modelo treinado em poucos locutores reconheceria crianças ou voz sintética.

  • Elogiou essa como a explicação visualmente mais bonita e disse que também já tentou tokenizar texto renderizado com VQ-VAE. Com fonte de 10 pt e fonte de PDF, tentou gerar imagem de texto completo via diffusion model, aprendendo uma representação latente que inclui tipo de documento e idioma. Disse que aprendeu bastante e que este artigo é uma ótima explicação.

  • “Por que não construir LLMs tokenizando a própria fala, em vez de depender sempre da transcrição de texto?”, observou, reforçando que há muito dado de áudio disponível.

    • O post em si trata justamente desse problema: como transformar o sinal de fala contínuo em tokens discretos. Uma janela de áudio tem 10–100 ms, o que é difícil de resumir em um único token. A residual vector quantization passa por múltiplos dicionários para quantizar a mesma fatia temporal repetidamente. Em uma parte mais adiante, há até exemplos de treino com LLM no codec Mimi.

    • Há muitos mais dados de texto limpos e padronizados do que de fala. A fala precisa contemplar idioma, dialeto, entonação, expressividade e gestualidade, então é mais complexa. Ao converter fala em texto, descartamos essas informações “desordenadas” e ficamos com um conjunto de tokens mais limpo focado no significado linguístico, eficiente e forte para mapeamento multilingue.

    • Treinar com tokens de áudio custa mais caro, mas ele acredita que esse caminho vai prevalecer no futuro. Treinar com transcrições de aulas do YouTube versus treinar com áudio bruto terá diferença clara tanto em eficiência quanto em resultado.

    • Tokenizar áudio exige pelo menos 4x mais tokens do que texto, então o problema começa pela eficiência. E ainda sobra a questão de haver dados suficientes para treinar um LLM usando apenas áudio.

    • Ele acha que ainda não houve uma revolução de arquitetura para Transformers de áudio, mas teoricamente um modelo “audio-first” é muito promissor.

  • Não conhecia a Kyutai, mas disse que cai perfeitamente no projeto que está desenvolvendo agora.

  • Considerou o trabalho extremamente interessante: embora a fala seja mais difícil de tratar do que texto, o ponto central para casar LLM com voz parece ser encontrar o codec de voz mais eficiente. Imaginou que um codec campeão para LLM talvez não venha de Fourier, mas de parâmetros físicos reais como pregas vocais, língua, traqueia/laringe e boca. Como a anatomia humana é relativamente estável, pode ser que esse tipo de abordagem vire padrão estatístico e normativo no futuro. Ele chama isso de codificação por formantes, algo que originalmente estudou em síntese de fala.

    • Como autor, agradeceu o estímulo e explicou que codecs físicos baseados em parâmetros (pregas vocais, língua etc.) não combinam com a direção atual de ML, que tende a inserir o mínimo possível de conhecimento de domínio e deixar que o transformer aprenda o máximo. Quanto mais restrições o modelo recebe, menor fica o espaço de sons representáveis e mais cedo aparecem limitações de qualidade. Ainda assim, impor restrições pode gerar pesquisa eficiente e interessante; por exemplo, o paper DDSP controla sintetizadores por ML para gerar instrumentos e isso pode ser aplicado à fala. A qualidade cai, mas o número de parâmetros é muito menor. O KokoroTTS, que sintetiza fala diretamente de consoantes + vogais, também segue essa linha e por isso usa pouquíssimos parâmetros.

    • Tentativas de gerar fala por parâmetros físicos existem há muito tempo — tentativas de recriar boca, trato vocal e fluxo de ar para fazer a fala soar real —, mas esse tipo de abordagem parte de um mal-entendido ao tratar fala escrita como derivação de fala falada.

    • Em codificação e síntese de voz, o modelo source-filter (fonte-filtro, com parametrização de fonte de excitação e filtro do trato vocal) é o formato original, anterior até às redescobertas com FFT.

  • Questionou se 100k horas de treino bastam; no padrão LLM, não é tanto, lembrando a “Bitter Lesson” (a lição de que dados e computação pesam mais).

    • Ele treinou 1M steps (batch size 64, block size 2048) e considera que isso já converge. Com 150M de parâmetros, é pequeno para padrão LLM; o objetivo não era atingir estado da arte, mas mostrar quanto a troca de tokenizer pode mudar o desempenho.
  • Disse que o artigo ficou ótimo e útil para compartilhar com o time. Como sua empresa começou a incorporar áudio e voz em produtos de IA recentemente, virou material muito prático.