Artigos Dicas

[Python] Como criar um mesclador de Audios mono em audio Stereo DUAL channel

Criar um mesclador de áudio é um desafio empolgante para qualquer desenvolvedor interessado em trabalhar com processamento de sinais de áudio. Agora, imagine criar um mesclador de áudio que possa converter áudios mono em um áudio stereo dual channel usando a linguagem de programação Python. Isso é exatamente o que o projeto que eu estava envolvido exigia, e eu não poderia estar mais animado em compartilhar como consegui resolver esse desafio.

Neste artigo, vou compartilhar com você o processo que usei para criar um script Python capaz de transformar áudios mono em áudios stereo dual channel. Você aprenderá como o processamento de sinais de áudio funciona, as ferramentas Python necessárias para realizar essa conversão e como criar um código eficiente e fácil de usar para mesclar áudios em stereo dual channel. Então, vamos começar!

import os
from pydub import AudioSegment

# Especificando a pasta de entrada e de saída
input_folder = "temp"
output_folder = "audio"

# Verificando se a pasta de saída existe, se não existir, criá-la
if not os.path.exists(output_folder):
    os.mkdir(output_folder)

# Percorre a pasta de entrada em busca de arquivos -in e mescla com o respectivo arquivo -out
for file in os.listdir(input_folder):
    if file.endswith("-in.WAV"):
        # Carregando os arquivos de áudio como objetos AudioSegment
        audio1 = AudioSegment.from_wav(os.path.join(input_folder, file))
        audio2 = AudioSegment.from_wav(os.path.join(input_folder, file.replace("-in.WAV", "-out.WAV")))
        
        # Verificando se os dois arquivos têm o mesmo número de canais (stereo/mono)
        if audio1.channels != audio2.channels:
            raise ValueError("Os arquivos de entrada não têm o mesmo número de canais")

        # Mesclando os dois arquivos de áudio em um único arquivo stereo
        merged_audio = audio1.overlay(audio2)

        # Salvando o arquivo de áudio mesclado como um arquivo WAV na pasta de saída
        output_file = os.path.join(output_folder, file.replace("-in.WAV", ""))
        merged_audio.export(output_file, format="wav")

        # Excluindo os arquivos de entrada originais -in e -out da pasta audiofile_input
        os.remove(os.path.join(input_folder, file))
        os.remove(os.path.join(input_folder, file.replace("-in.WAV", "-out.WAV")))

        # Imprimindo mensagem de sucesso
        print("Arquivos", file, "e", file.replace("-in.WAV", "-out.WAV"), "mesclados com sucesso e salvo em", output_file)

Será necessário instalar algumas libs para que o pydub funcione, caso não tenha já instalado, mas isso o python vai avisar a vocês caso a caso quando tentar correr o codigo.

Até a proxima.

Lucas Dalcolmo

About Author

Sou desenvolvedor de software a mais de 13 anos com experiência nacioanl e internacional. Já produzi softwares para grandes empresas no Brasil e também bancos em Portugal. Possuo as certificações microsoft AZ-900, DP-900, AI-900 e AZ-204 (azure developer associate). Sou fundador da Dallm Games Studio (@dallmgamesstudio) e fui mentor em vários eventos de desenvolvimento de jogos. Também fui mentor do NASA SPACE JAM 2024 na área de desenvolvimento de software.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Receba as últimas notícias por email

    Cadastre-se, receba nossas novidades em primeira mão por email, antes de todo mundo.

    Codeinsider @2025. Todos os direitos reservados.

    Desenvolvido por House Comunicação