Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions Carreira
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
from gtts import gTTS
from pydub import AudioSegment, effects
from pydub.generators import WhiteNoise, Sine
import os

# Texto dividido em frases com pausas
frases = [
"Alô, alô família!",
"Quem tá na pista levanta a mão!",
"Hoje é vibe total com ele…",
"O brabo, o único, o insano…",
"DJ CARREIRA!",
"DJ Carreira, te amo, te amo!",
"Let's goooo!!!"
]

# Criar cada parte em separado com gTTS
partes = []
for i, frase in enumerate(frases):
tts = gTTS(text=frase, lang='pt', slow=False)
filename = f"parte_{i}.mp3"
tts.save(filename)
audio = AudioSegment.from_mp3(filename)

# Ajustar pitch (mais grave, simulando voz masculina)
audio = audio._spawn(audio.raw_data, overrides={"frame_rate": int(audio.frame_rate * 0.85)})
audio = audio.set_frame_rate(44100)
audio = effects.normalize(audio)

partes.append(audio)
os.remove(filename)

# Criar pausas dramáticas entre frases
pausa_curta = AudioSegment.silent(duration=700) # 0,7s
pausa_longa = AudioSegment.silent(duration=1500) # 1,5s

intro = AudioSegment.silent(duration=500)
for i, parte in enumerate(partes):
intro += parte
if i in [0, 1, 2, 3]: # primeiras frases: pausas mais curtas
intro += pausa_curta
else: # no final, pausas longas
intro += pausa_longa

# Adicionar eco/reverb
eco = intro - 15
eco = eco.overlay(intro, position=250)

# Adicionar som de plateia (ruído leve)
plateia = WhiteNoise().to_audio_segment(duration=len(intro), volume=-35)
mix = eco.overlay(plateia)

# Criar um beat eletrônico simples (kick repetitivo)
kick = Sine(60).to_audio_segment(duration=150).fade_out(50).apply_gain(+6)
beat = AudioSegment.silent(duration=0)
for i in range(0, len(mix), 500): # a cada 0,5s coloca um kick
beat = beat.append(kick, crossfade=0)
if len(beat) >= len(mix):
break
beat = beat[:len(mix)]

# Misturar voz + plateia + beat
final_mix = mix.overlay(beat - 5) # beat um pouco mais baixo que a voz

# Exportar resultado
final_mix.export("dj_intro.mp3", format="mp3")

print("✅ Arquivo gerado: dj_intro.mp3 (~25 segundos com voz, efeitos e beat)")