init: scripts diversos (crawlers, conversores, scrapers)
This commit is contained in:
72
tts-generator/edge_tts_ptpt.py
Executable file
72
tts-generator/edge_tts_ptpt.py
Executable file
@@ -0,0 +1,72 @@
|
||||
"""
|
||||
edge_tts_ptpt.py
|
||||
|
||||
Author: Descomplicar® Crescimento Digital
|
||||
Link: https://descomplicar.pt
|
||||
Copyright: 2025 Descomplicar®
|
||||
"""
|
||||
|
||||
# Edge TTS - Gratuito e com excelente PT-PT
|
||||
# pip install edge-tts
|
||||
|
||||
import asyncio
|
||||
import edge_tts
|
||||
|
||||
async def generate_audio_edge():
|
||||
"""
|
||||
Gera áudio com Edge TTS (gratuito e PT-PT nativo)
|
||||
"""
|
||||
# Texto da Descomplicar
|
||||
texto = """Bem-vindos à Descomplicar, a agência de aceleração digital que transforma a vossa presença online numa máquina de crescimento.
|
||||
|
||||
Somos especialistas em Marketing Digital, criação de websites profissionais e estratégias que geram resultados reais para o vosso negócio.
|
||||
|
||||
Na Descomplicar, a nossa filosofia é simples: tornar o complexo mais simples. Descomplicamos o marketing digital para que vós vos possais focar no que fazeis melhor - gerir o vosso negócio."""
|
||||
|
||||
# Voz portuguesa feminina
|
||||
voz = "pt-PT-RaquelNeural" # Voz feminina PT-PT (corrigida)
|
||||
|
||||
print(f"🇵🇹 Gerando áudio com Edge TTS...")
|
||||
print(f"🎤 Voz: {voz}")
|
||||
|
||||
try:
|
||||
# Gerar áudio
|
||||
communicate = edge_tts.Communicate(texto, voz)
|
||||
await communicate.save("descomplicar_edge_ptpt.mp3")
|
||||
|
||||
print("✅ Áudio gerado: descomplicar_edge_ptpt.mp3")
|
||||
print("🎯 100% gratuito, sotaque PT-PT autêntico!")
|
||||
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Erro: {e}")
|
||||
return False
|
||||
|
||||
async def list_portuguese_voices():
|
||||
"""
|
||||
Lista todas as vozes portuguesas disponíveis
|
||||
"""
|
||||
print("🎤 Vozes portuguesas disponíveis no Edge TTS:")
|
||||
print("=" * 50)
|
||||
|
||||
voices = await edge_tts.list_voices()
|
||||
|
||||
for voice in voices:
|
||||
if voice["Locale"].startswith("pt-"):
|
||||
print(f"Nome: {voice['ShortName']}")
|
||||
print(f"Região: {voice['Locale']}")
|
||||
print(f"Género: {voice['Gender']}")
|
||||
print(f"Descrição: {voice['FriendlyName']}")
|
||||
print("-" * 30)
|
||||
|
||||
async def main():
|
||||
escolha = input("Escolha: (g)erar áudio ou (l)istar vozes? [g/l]: ").lower()
|
||||
|
||||
if escolha == 'l':
|
||||
await list_portuguese_voices()
|
||||
else:
|
||||
await generate_audio_edge()
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user