08-18-1311, chapter 3.1.1
This commit is contained in:
@@ -41,110 +41,375 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"%pip install edge-tts\n",
|
||||
"%pip install pygame"
|
||||
"%pip install edge-tts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2df59a42",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# English Voices\n",
|
||||
"\n",
|
||||
"* voice = \"en-US-GuyNeural\" (Male)\n",
|
||||
"* voice = \"en-US-AnaNeural\" (Female)\n",
|
||||
"* voice = \"en-US-AndrewNeural\" (Male)\n",
|
||||
"* voice = \"en-US-AriaNeural\" (Female)\n",
|
||||
"* voice = \"en-US-AvaNeural\" (Female)\n",
|
||||
"* voice = \"en-US-BrianNeural\" (Male)\n",
|
||||
"* voice = \"en-US-ChristopherNeural\" (Male)\n",
|
||||
"* voice = \"en-US-EmmaNeural\" (Female)\n",
|
||||
"* voice = \"en-US-EricNeural\" (Male)\n",
|
||||
"* voice = \"en-US-GuyNeural\" (Male)\n",
|
||||
"* voice = \"en-US-JennyNeural\" (Female)\n",
|
||||
"* voice = \"en-US-MichelleNeural\" (Female)\n",
|
||||
"* voice = \"en-US-RogerNeural\" (Male)\n",
|
||||
"* voice = \"en-US-SteffanNeural\" (Male)\n",
|
||||
"* voice = \"en-GB-LibbyNeural\" (Female)\n",
|
||||
"* voice = \"en-GB-MaisieNeural\" (Female)\n",
|
||||
"* voice = \"en-GB-RyanNeural\" (Male)\n",
|
||||
"* voice = \"en-GB-SoniaNeural\" (Female)\n",
|
||||
"* voice = \"en-GB-ThomasNeural\" (Male)\n",
|
||||
"* voice = \"en-AU-NatashaNeural\" (Female)\n",
|
||||
"* voice = \"en-AU-WilliamNeural\" (Male)\n",
|
||||
"* voice = \"en-CA-ClaraNeural\" (Female)\n",
|
||||
"* voice = \"en-CA-LiamNeural\" (Male)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "9aad6634-e833-4ec4-b285-84e051329712",
|
||||
"id": "71d35cd9",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"pygame 2.5.2 (SDL 2.28.3, Python 3.12.1)\n",
|
||||
"Hello from the pygame community. https://www.pygame.org/contribute.html\n",
|
||||
"Files created!\n"
|
||||
"['en-US-GuyNeural', 'en-US-AriaNeural']\n",
|
||||
"card\n",
|
||||
"../audios/card_us_male.mp3 exists, overwriting...\n",
|
||||
"../audios/card_us_male.mp3 created\n",
|
||||
"../audios/card_us_female.mp3 exists, overwriting...\n",
|
||||
"../audios/card_us_female.mp3 created\n",
|
||||
" mark\n",
|
||||
"../audios/mark_us_male.mp3 created\n",
|
||||
"../audios/mark_us_female.mp3 created\n",
|
||||
" door\n",
|
||||
"../audios/door_us_male.mp3 created\n",
|
||||
"../audios/door_us_female.mp3 created\n",
|
||||
"short\n",
|
||||
"../audios/short_us_male.mp3 created\n",
|
||||
"../audios/short_us_female.mp3 created\n",
|
||||
"poor\n",
|
||||
"../audios/poor_us_male.mp3 exists, overwriting...\n",
|
||||
"../audios/poor_us_male.mp3 created\n",
|
||||
"../audios/poor_us_female.mp3 exists, overwriting...\n",
|
||||
"../audios/poor_us_female.mp3 created\n",
|
||||
"your\n",
|
||||
"../audios/your_us_male.mp3 created\n",
|
||||
"../audios/your_us_female.mp3 created\n",
|
||||
"focus\n",
|
||||
"../audios/focus_us_male.mp3 created\n",
|
||||
"../audios/focus_us_female.mp3 created\n",
|
||||
"individual\n",
|
||||
"../audios/individual_us_male.mp3 created\n",
|
||||
"../audios/individual_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"about\n",
|
||||
"../audios/about_us_male.mp3 exists, overwriting...\n",
|
||||
"../audios/about_us_male.mp3 created\n",
|
||||
"../audios/about_us_female.mp3 exists, overwriting...\n",
|
||||
"../audios/about_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"banana\n",
|
||||
"../audios/banana_us_male.mp3 created\n",
|
||||
"../audios/banana_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"sofa\n",
|
||||
"../audios/sofa_us_male.mp3 created\n",
|
||||
"../audios/sofa_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"open\n",
|
||||
"../audios/open_us_male.mp3 created\n",
|
||||
"../audios/open_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"problem\n",
|
||||
"../audios/problem_us_male.mp3 created\n",
|
||||
"../audios/problem_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"synthesis\n",
|
||||
"../audios/synthesis_us_male.mp3 created\n",
|
||||
"../audios/synthesis_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"animal\n",
|
||||
"../audios/animal_us_male.mp3 created\n",
|
||||
"../audios/animal_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"president\n",
|
||||
"../audios/president_us_male.mp3 created\n",
|
||||
"../audios/president_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"pupil\n",
|
||||
"../audios/pupil_us_male.mp3 created\n",
|
||||
"../audios/pupil_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"bacon\n",
|
||||
"../audios/bacon_us_male.mp3 created\n",
|
||||
"../audios/bacon_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"lesson\n",
|
||||
"../audios/lesson_us_male.mp3 created\n",
|
||||
"../audios/lesson_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"pilot\n",
|
||||
"../audios/pilot_us_male.mp3 created\n",
|
||||
"../audios/pilot_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"circus\n",
|
||||
"../audios/circus_us_male.mp3 created\n",
|
||||
"../audios/circus_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"medium\n",
|
||||
"../audios/medium_us_male.mp3 created\n",
|
||||
"../audios/medium_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"support\n",
|
||||
"../audios/support_us_male.mp3 created\n",
|
||||
"../audios/support_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"courageous\n",
|
||||
"../audios/courageous_us_male.mp3 created\n",
|
||||
"../audios/courageous_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"famous\n",
|
||||
"../audios/famous_us_male.mp3 created\n",
|
||||
"../audios/famous_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"humorous\n",
|
||||
"../audios/humorous_us_male.mp3 created\n",
|
||||
"../audios/humorous_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"better\n",
|
||||
"../audios/better_us_male.mp3 created\n",
|
||||
"../audios/better_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"butter\n",
|
||||
"../audios/butter_us_male.mp3 created\n",
|
||||
"../audios/butter_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"teacher\n",
|
||||
"../audios/teacher_us_male.mp3 created\n",
|
||||
"../audios/teacher_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"actor\n",
|
||||
"../audios/actor_us_male.mp3 created\n",
|
||||
"../audios/actor_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"doctor\n",
|
||||
"../audios/doctor_us_male.mp3 created\n",
|
||||
"../audios/doctor_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"editor\n",
|
||||
"../audios/editor_us_male.mp3 created\n",
|
||||
"../audios/editor_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"beggar\n",
|
||||
"../audios/beggar_us_male.mp3 created\n",
|
||||
"../audios/beggar_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"burglar\n",
|
||||
"../audios/burglar_us_male.mp3 created\n",
|
||||
"../audios/burglar_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"collar\n",
|
||||
"../audios/collar_us_male.mp3 created\n",
|
||||
"../audios/collar_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"culture\n",
|
||||
"../audios/culture_us_male.mp3 created\n",
|
||||
"../audios/culture_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"figure\n",
|
||||
"../audios/figure_us_male.mp3 created\n",
|
||||
"../audios/figure_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"pressure\n",
|
||||
"../audios/pressure_us_male.mp3 created\n",
|
||||
"../audios/pressure_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"her\n",
|
||||
"../audios/her_us_male.mp3 created\n",
|
||||
"../audios/her_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"term\n",
|
||||
"../audios/term_us_male.mp3 created\n",
|
||||
"../audios/term_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"clerk\n",
|
||||
"../audios/clerk_us_male.mp3 created\n",
|
||||
"../audios/clerk_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"earn\n",
|
||||
"../audios/earn_us_male.mp3 created\n",
|
||||
"../audios/earn_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"earth\n",
|
||||
"../audios/earth_us_male.mp3 created\n",
|
||||
"../audios/earth_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"heard\n",
|
||||
"../audios/heard_us_male.mp3 created\n",
|
||||
"../audios/heard_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"bird\n",
|
||||
"../audios/bird_us_male.mp3 created\n",
|
||||
"../audios/bird_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"first\n",
|
||||
"../audios/first_us_male.mp3 created\n",
|
||||
"../audios/first_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"stir\n",
|
||||
"../audios/stir_us_male.mp3 created\n",
|
||||
"../audios/stir_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"burn\n",
|
||||
"../audios/burn_us_male.mp3 created\n",
|
||||
"../audios/burn_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"nurse\n",
|
||||
"../audios/nurse_us_male.mp3 created\n",
|
||||
"../audios/nurse_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"turn\n",
|
||||
"../audios/turn_us_male.mp3 created\n",
|
||||
"../audios/turn_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"word\n",
|
||||
"../audios/word_us_male.mp3 created\n",
|
||||
"../audios/word_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"world\n",
|
||||
"../audios/world_us_male.mp3 exists, overwriting...\n",
|
||||
"../audios/world_us_male.mp3 created\n",
|
||||
"../audios/world_us_female.mp3 exists, overwriting...\n",
|
||||
"../audios/world_us_female.mp3 created\n",
|
||||
"\n",
|
||||
"worse\n",
|
||||
"../audios/worse_us_male.mp3 created\n",
|
||||
"../audios/worse_us_female.mp3 created\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ename": "error",
|
||||
"evalue": "music_mpg123: corrupt mp3 file (bad tags.)",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31merror\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[2], line 92\u001b[0m\n\u001b[1;32m 90\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, voice \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(voices):\n\u001b[1;32m 91\u001b[0m filename \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m../audios/\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mword\u001b[38;5;241m.\u001b[39mstrip()\u001b[38;5;241m.\u001b[39mlower()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m_\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mregions[i]\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m_\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mgenders[i]\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.mp3\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m---> 92\u001b[0m \u001b[38;5;28;01mawait\u001b[39;00m generate_edge_tts_audio(word\u001b[38;5;241m.\u001b[39mstrip()\u001b[38;5;241m.\u001b[39mlower(), filename, voice\u001b[38;5;241m=\u001b[39mvoice, verbose\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, overwrite\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, play\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n",
|
||||
"Cell \u001b[0;32mIn[2], line 21\u001b[0m, in \u001b[0;36mgenerate_edge_tts_audio\u001b[0;34m(text, file_name, voice, style, verbose, play, overwrite)\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m play:\n\u001b[1;32m 20\u001b[0m pygame\u001b[38;5;241m.\u001b[39mmixer\u001b[38;5;241m.\u001b[39minit()\n\u001b[0;32m---> 21\u001b[0m \u001b[43mpygame\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmixer\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmusic\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile_name\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 22\u001b[0m pygame\u001b[38;5;241m.\u001b[39mmixer\u001b[38;5;241m.\u001b[39mmusic\u001b[38;5;241m.\u001b[39mplay()\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m verbose:\n",
|
||||
"\u001b[0;31merror\u001b[0m: music_mpg123: corrupt mp3 file (bad tags.)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import asyncio\n",
|
||||
"import edge_tts\n",
|
||||
"import os\n",
|
||||
"import pygame\n",
|
||||
"import time\n",
|
||||
"\n",
|
||||
"TEXT = \"\"\"\n",
|
||||
"cup, father, head, hat, above, mother, bird, sheep, ship, horse, blue, foot, day, eye, boy, nose, mouth, ear, hair, pure, fire, hour\n",
|
||||
"async def generate_edge_tts_audio(text, file_name, voice='en-US-GuyNeural', style='newscast-formal', verbose=False, play=False, overwrite=False):\n",
|
||||
" communicate = edge_tts.Communicate(text, voice)\n",
|
||||
" # whether file exists?\n",
|
||||
" if os.path.exists(file_name):\n",
|
||||
" if overwrite:\n",
|
||||
" if verbose:\n",
|
||||
" print(f'{file_name} exists, overwriting...')\n",
|
||||
" else:\n",
|
||||
" if verbose:\n",
|
||||
" print(f'{file_name} exists, skipping...')\n",
|
||||
" return\n",
|
||||
" \n",
|
||||
" await communicate.save(file_name)\n",
|
||||
" if play:\n",
|
||||
" pygame.mixer.init()\n",
|
||||
" pygame.mixer.music.load(file_name)\n",
|
||||
" pygame.mixer.music.play()\n",
|
||||
" if verbose:\n",
|
||||
" print(f'{file_name} created')\n",
|
||||
" \n",
|
||||
" time.sleep(1.5)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"voices = [\"en-US-GuyNeural\", \"en-US-AriaNeural\", \"en-GB-RyanNeural\", \"en-GB-LibbyNeural\"]\n",
|
||||
"regions = ['us', 'us', 'uk', 'uk']\n",
|
||||
"genders = ['male', 'female', 'male', 'female']\n",
|
||||
"\n",
|
||||
"only_us = True\n",
|
||||
"if only_us:\n",
|
||||
" voices = voices[:2]\n",
|
||||
" print(voices)\n",
|
||||
"\n",
|
||||
"words = \"\"\"\n",
|
||||
"card, mark, door,short,poor,your,focus,individual,\n",
|
||||
"about,\n",
|
||||
"banana,\n",
|
||||
"sofa,\n",
|
||||
"open,\n",
|
||||
"problem,\n",
|
||||
"synthesis,\n",
|
||||
"animal,\n",
|
||||
"president,\n",
|
||||
"pupil,\n",
|
||||
"bacon,\n",
|
||||
"lesson,\n",
|
||||
"pilot,\n",
|
||||
"circus,\n",
|
||||
"medium,\n",
|
||||
"support,\n",
|
||||
"courageous,\n",
|
||||
"famous,\n",
|
||||
"humorous,\n",
|
||||
"better,\n",
|
||||
"butter,\n",
|
||||
"teacher,\n",
|
||||
"actor,\n",
|
||||
"doctor,\n",
|
||||
"editor,\n",
|
||||
"beggar,\n",
|
||||
"burglar,\n",
|
||||
"collar,\n",
|
||||
"culture,\n",
|
||||
"figure,\n",
|
||||
"pressure,\n",
|
||||
"her,\n",
|
||||
"term,\n",
|
||||
"clerk,\n",
|
||||
"earn,\n",
|
||||
"earth,\n",
|
||||
"heard,\n",
|
||||
"bird,\n",
|
||||
"first,\n",
|
||||
"stir,\n",
|
||||
"burn,\n",
|
||||
"nurse,\n",
|
||||
"turn,\n",
|
||||
"word,\n",
|
||||
"world,\n",
|
||||
"worse,\n",
|
||||
"\"\"\"\n",
|
||||
"\n",
|
||||
"Wordlist = TEXT.split(\",\")\n",
|
||||
"\n",
|
||||
"for w in Wordlist:\n",
|
||||
" for VOICE in ['en-US-GuyNeural', 'en-GB-RyanNeural']:\n",
|
||||
" # for VOICE in ['en-US-GuyNeural']:\n",
|
||||
" w = w.strip()\n",
|
||||
" OUTPUT_FILE = f\"{w.replace(' ', '-').replace('?', '')}-{VOICE[3:5].replace('GB', 'UK').lower()}.mp3\"\n",
|
||||
" communicate = edge_tts.Communicate(w, VOICE)\n",
|
||||
" await communicate.save(OUTPUT_FILE) \n",
|
||||
"\n",
|
||||
"print(\"Files created!\") "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"id": "1e54069c-db63-45ba-86e8-726730b19255",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Files created!\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import asyncio\n",
|
||||
"import edge_tts\n",
|
||||
"import pygame\n",
|
||||
"\n",
|
||||
"TEXT = \"happy\"\n",
|
||||
"Wordlist = TEXT.split(\",\")\n",
|
||||
"\n",
|
||||
"for w in Wordlist:\n",
|
||||
" for VOICE in ['zh-CN-YunxiNeural', 'zh-CN-XiaoxiaoNeural']:\n",
|
||||
" w = w.strip()\n",
|
||||
" OUTPUT_FILE = f\"{w}-{VOICE.replace('YunxiNeural', 'male').replace('XiaoxiaoNeural', 'female').lower()}.mp3\"\n",
|
||||
" communicate = edge_tts.Communicate(w, VOICE)\n",
|
||||
" await communicate.save(OUTPUT_FILE) \n",
|
||||
"\n",
|
||||
"print(\"Files created!\") "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "09d5ab47-5807-4ded-a8b9-45277831d425",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# VOICE = \"en-US-GuyNeural\" # Male\n",
|
||||
"# VOICE = \"en-US-AnaNeural\" # Female\n",
|
||||
"# VOICE = \"en-US-AndrewNeural\" # Male\n",
|
||||
"# VOICE = \"en-US-AriaNeural\" # Female\n",
|
||||
"# VOICE = \"en-US-AvaNeural\" # Female\n",
|
||||
"# VOICE = \"en-US-BrianNeural\" # Male\n",
|
||||
"# VOICE = \"en-US-ChristopherNeural\" # Male\n",
|
||||
"# VOICE = \"en-US-EmmaNeural\" # Female\n",
|
||||
"# VOICE = \"en-US-EricNeural\" # Male\n",
|
||||
"# VOICE = \"en-US-GuyNeural\" # Male\n",
|
||||
"# VOICE = \"en-US-JennyNeural\" # Female\n",
|
||||
"# VOICE = \"en-US-MichelleNeural\" # Female\n",
|
||||
"# VOICE = \"en-US-RogerNeural\" # Male\n",
|
||||
"# VOICE = \"en-US-SteffanNeural\" # Male\n",
|
||||
"# VOICE = \"en-GB-LibbyNeural\" # Female\n",
|
||||
"# VOICE = \"en-GB-MaisieNeural\" # Female\n",
|
||||
"# VOICE = \"en-GB-RyanNeural\" # Male\n",
|
||||
"# VOICE = \"en-GB-SoniaNeural\" # Female\n",
|
||||
"# VOICE = \"en-GB-ThomasNeural\" # Male\n",
|
||||
"# VOICE = \"en-AU-NatashaNeural\" # Female\n",
|
||||
"# VOICE = \"en-AU-WilliamNeural\" # Male\n",
|
||||
"# VOICE = \"en-CA-ClaraNeural\" # Female\n",
|
||||
"# VOICE = \"en-CA-LiamNeural\" # Male\n"
|
||||
"for word in words.strip().split(','):\n",
|
||||
" print(word)\n",
|
||||
" for i, voice in enumerate(voices):\n",
|
||||
" w = word.strip().lower()\n",
|
||||
" if len(w) > 0:\n",
|
||||
" filename = f'../audios/{w}-{regions[i]}-{genders[i]}.mp3'\n",
|
||||
" await generate_edge_tts_audio(w, filename, voice=voice, verbose=True, overwrite=True, play=True)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -375,7 +640,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.12.1"
|
||||
"version": "3.12.2"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
|
||||
Reference in New Issue
Block a user