Riffusion, um sistema de aprendizado de máquina que gera música

Riffusão

Riffusion é um sistema de aprendizado de máquina Stable Diffusion adaptado para síntese musical

O lançamento de um novo projeto chamado "Riffusion" desenvolvendo uma variante do sistema de aprendizado de máquina Stable Diffusion adaptado para gerar música em vez de imagens. A música pode ser sintetizada com base em um modelo sugerido ou em uma descrição de texto em linguagem natural.

Os componentes de síntese de música são escritos em Python usando a estrutura PyTorch e estão disponíveis sob a licença MIT.

O projeto É interessante porque ainda usa os modelos "texto para imagem" e "imagem para imagem". para geração de música, mas manipula os espectrogramas como se fossem imagens.

Em outras palavras, A difusão estável clássica não se baseia em fotografias e imagens, mas em imagens de espectrogramas Eles refletem a mudança na frequência e amplitude da onda sonora ao longo do tempo. Consequentemente, um espectrograma também é formado na saída, que é então convertido em uma representação de áudio.

Este é o modelo de difusão estável v1.5 sem modificações, apenas ajustado em imagens de espectrograma de pares de texto. O processamento de áudio ocorre a jusante do modelo.

Você pode gerar variações infinitas de um anúncio variando a semente. Todas as mesmas interfaces e técnicas de usuário da Web, como img2img, pintura interna, indicações negativas e interpolação funcionam imediatamente.

espectrogramas
Um espectrograma de áudio é uma forma visual de representar o conteúdo de frequência de um clipe de som. O eixo x representa o tempo e o eixo y representa a frequência. A cor de cada pixel dá a amplitude do áudio na frequência e no tempo dados por sua linha e coluna.

É mencionado que o método também pode ser usado para modificar composições de som existentes e síntese de amostra de música, semelhante à modificação de imagem em difusão estável.

Por exemplo, a geração pode definir espectrogramas de amostra para um estilo de referência, combinar estilos diferentes, fazer uma transição suave de um estilo para outro ou fazer alterações em um som existente para resolver problemas como aumentar o volume de instrumentos individuais, alterar o ritmo e substituir de instrumentos.

O STFT é invertível, então o áudio original pode ser reconstruído a partir de um espectrograma. No entanto, as imagens do espectrograma do nosso modelo contêm apenas a amplitude das ondas senoidais e não as fases, porque as fases são caóticas e difíceis de aprender. Em vez disso, usamos o algoritmo Griffin-Lim para aproximar a fase ao reconstruir o clipe de áudio.

Os padrões Eles também são usados ​​para gerar composições de longa duração, composto por uma série de passagens próximas umas das outras, que variam ligeiramente ao longo do tempo. Os fragmentos gerados separadamente são combinados em um fluxo contínuo interpolando os parâmetros internos do modelo.

As caixas de frequência em nosso espectrograma usam a escala Mel, que é uma escala perceptiva de alturas julgadas pelos ouvintes como estando à mesma distância umas das outras.

Abaixo está uma imagem desenhada à mão interpretada como um espectrograma e convertida em áudio. Jogue-o para obter uma sensação intuitiva de como eles funcionam. Observe como você pode ouvir os tons das duas curvas na metade inferior e como as quatro linhas verticais na metade superior produzem ritmos semelhantes a um som de chimbal.

Uma transformada de Fourier (uma transformação matemática usada para transformar sinais entre o domínio do tempo e o domínio da frequência) é usada para criar um espectrograma a partir do som. Ao recriar o som de um espectrograma, há um problema com a determinação da fase (somente a frequência e a amplitude estão presentes no espectrograma), para a qual a reconstrução do algoritmo de aproximação Griffin-Lim é usada.

A ligação da interface é implementada na linguagem TypeScript e também é distribuída sob a licença do MIT. Os modelos treinados são liberados sob a licença permissiva Creative ML OpenRAIL-M para uso comercial.

Se você quiser saber mais sobre isso, pode consultar o detalhes no link a seguir.