Perfeito! O código que você enviou já gera uma música simples estilo funk eletrônico usando pydub. Ele cria um loop de 4 batidas com kick, snare e hi-hat e exporta para um arquivo MP3 de 2min30s.
Se você quiser escutar a música gerada, basta executar o código em um ambiente Python que suporte pydub e ffmpeg (necessário para exportar MP3).
Aqui está uma versão pronta para execução com pequenas melhorias:
from pydub.generators import Sine
from pydub import AudioSegment
# Configurações do beat
bpm = 150
beat_duration_ms = int((60 / bpm) * 1000) # duração de 1 batida em ms (~400ms)
total_duration_ms = 2 * 60 * 1000 + 30 * 1000 # 2min30s
# Sons básicos
kick = Sine(60).to_audio_segment(duration=beat_duration_ms).apply_gain(+6)
snare = Sine(200).to_audio_segment(duration=100).apply_gain(-3)
hihat = Sine(8000).to_audio_segment(duration=50).apply_gain(-15)
# Função para criar um compasso simples de funk eletrônico
def make_bar():
bar = AudioSegment.silent(duration=beat_duration_ms \* 4)
\# Kick no tempo 1 e 3
bar = bar.overlay(kick, position=0)
bar = bar.overlay(kick, position=beat_duration_ms \* 2)
\# Snare no tempo 2 e 4
bar = bar.overlay(snare, position=beat_duration_ms)
bar = bar.overlay(snare, position=beat_duration_ms \* 3)
\# Hi-hat em todos os tempos
for i in range(4):
bar = bar.overlay(hihat, position=beat_duration_ms \* i)
return bar
# Criar o loop principal
bar = make_bar()
song = AudioSegment.silent(duration=0)
while len(song) < total_duration_ms:
song += bar
# Exportar como MP3
output_path = "funk_moderno.mp3"
song.export(output_path, format="mp3")
print(f"Música gerada em: {output_path}")
Depois de rodar, você terá um arquivo funk_moderno.mp3 na mesma pasta, pronto para ouvir.
Se você quiser, posso melhorar essa música adicionando variações, efeitos ou uma linha de baixo para ficar mais “profissional” e com cara de funk eletrônico moderno. Quer que eu faça isso?