keep updated

This commit is contained in:
xiaolai
2024-08-23 19:43:40 +08:00
parent 650a245cba
commit ae61c6a8d5
25 changed files with 1033 additions and 54 deletions

View File

@@ -231,4 +231,9 @@ video, img {
width: 95%;
}
span.not-display {display: none;}
span.not-display {display: none;}
.two-column ol, .two-column ul {
column-count: 2;
column-gap: 2em;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -2,25 +2,163 @@
"cells": [
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1980\n"
]
},
{
"ename": "TypeError",
"evalue": "can only concatenate list (not \"str\") to list",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[4], line 18\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m lines:\n\u001b[1;32m 17\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maudios/\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m line:\n\u001b[0;32m---> 18\u001b[0m audios_in_md \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[43mre\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfindall\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43mr\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43maudios/(.*?).mp3\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mline\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m.mp3\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;28mlen\u001b[39m(audios_in_md))\n\u001b[1;32m 20\u001b[0m \u001b[38;5;66;03m# remove duplicates\u001b[39;00m\n",
"\u001b[0;31mTypeError\u001b[0m: can only concatenate list (not \"str\") to list"
"bear,\n",
"steer,\n",
"velour,\n",
"house,\n",
"English,\n",
"day,\n",
"reign,\n",
"English,\n",
"show,\n",
"eight,\n",
"buy,\n",
"reign,\n",
"dough,\n",
"play,\n",
"cheer,\n",
"pier,\n",
"grow,\n",
"break,\n",
"so,\n",
"June,\n",
"bear,\n",
"pair,\n",
"so,\n",
"toe,\n",
"cheer,\n",
"June,\n",
"supply,\n",
"cow,\n",
"out,\n",
"fierce,\n",
"moor,\n",
"align,\n",
"show,\n",
"join,\n",
"flower,\n",
"buy,\n",
"boat,\n",
"survey,\n",
"no,\n",
"cure,\n",
"survey,\n",
"boy,\n",
"fear,\n",
"make,\n",
"though,\n",
"brown,\n",
"velour,\n",
"moor,\n",
"grow,\n",
"near,\n",
"care,\n",
"eight,\n",
"pat,\n",
"blow,\n",
"play,\n",
"weight,\n",
"lies,\n",
"make,\n",
"fare,\n",
"spider,\n",
"pair,\n",
"pier,\n",
"though,\n",
"light,\n",
"out,\n",
"grey,\n",
"table,\n",
"supply,\n",
"steak,\n",
"fair,\n",
"vein,\n",
"fair,\n",
"paint,\n",
"cake,\n",
"blow,\n",
"they,\n",
"stay,\n",
"cure,\n",
"spider,\n",
"sew,\n",
"train,\n",
"great,\n",
"stay,\n",
"deer,\n",
"break,\n",
"guy,\n",
"Joe,\n",
"weight,\n",
"steer,\n",
"align,\n",
"dough,\n",
"boat,\n",
"toe,\n",
"kraut,\n",
"train,\n",
"great,\n",
"boy,\n",
"kraut,\n",
"deer,\n",
"ware,\n",
"rain,\n",
"grey,\n",
"tour,\n",
"toy,\n",
"near,\n",
"cow,\n",
"join,\n",
"lies,\n",
"table,\n",
"word,\n",
"toy,\n",
"rain,\n",
"clear,\n",
"ice,\n",
"ice,\n",
"fly,\n",
"fear,\n",
"fly,\n",
"serendipity,\n",
"care,\n",
"steak,\n",
"paint,\n",
"no,\n",
"vein,\n",
"tour,\n",
"clear,\n",
"soap,\n",
"pie,\n",
"cake,\n",
"brown,\n",
"sew,\n",
"fierce,\n",
"light,\n",
"fare,\n",
"pie,\n",
"pat,\n",
"Joe,\n",
"foe,\n",
"house,\n",
"tie,\n",
"word,\n",
"flower,\n",
"day,\n",
"they,\n",
"soap,\n",
"guy,\n",
"foe,\n",
"ware,\n",
"tie,\n",
"serendipity,\n"
]
}
],
@@ -32,7 +170,7 @@
"md_files = [f for f in os.listdir(md_path) if f.endswith('.md')]\n",
"# get all mp3 files in mp3_path\n",
"mp3_files = [f for f in os.listdir(mp3_path) if f.endswith('.mp3')]\n",
"print(len(mp3_files))\n",
"# print(len(mp3_files))\n",
"\n",
"# read md files, and get all sub-string between \"audios/\" and \".mp3\", using regex\n",
"import re\n",
@@ -42,15 +180,19 @@
" lines = f.readlines()\n",
" for line in lines:\n",
" if \"audios/\" in line:\n",
" audios_in_md += re.findall(r'audios/(.*?).mp3', line) + '.mp3'\n",
"print(len(audios_in_md))\n",
" audios_in_md += re.findall(r'audios/(.*?).mp3', line)\n",
"\n",
"# remove duplicates\n",
"audios_in_md = list(set(audios_in_md))\n",
"# print(len(audios_in_md))\n",
"\n",
"for audio in audios_in_md:\n",
" if not f'{audio}.mp3' in mp3_files:\n",
" print(f'{audio}.mp3')\n",
" print(f'{audio.split(\"-\")[0].strip()},')\n",
"\n",
"# for mp3 in mp3_files:\n",
"# if not mp3.replace('.mp3', '') in audios_in_md:\n",
"# print(mp3)\n",
"\n"
]
}

View File

@@ -29,7 +29,7 @@
},
{
"cell_type": "code",
"execution_count": 22,
"execution_count": 4,
"id": "71d35cd9",
"metadata": {},
"outputs": [],
@@ -64,7 +64,7 @@
},
{
"cell_type": "code",
"execution_count": 56,
"execution_count": 12,
"id": "4146f92e",
"metadata": {},
"outputs": [
@@ -73,9 +73,15 @@
"output_type": "stream",
"text": [
"['en-US-GuyNeural', 'en-US-AriaNeural']\n",
"are\n",
"../audios/are-us-male.mp3 created\n",
"../audios/are-us-female.mp3 created\n"
"facade\n",
"../audios/facade-us-male.mp3 created\n",
"../audios/facade-us-female.mp3 created\n",
"specific\n",
"../audios/specific-us-male.mp3 created\n",
"../audios/specific-us-female.mp3 created\n",
"plaid\n",
"../audios/plaid-us-male.mp3 created\n",
"../audios/plaid-us-female.mp3 created\n"
]
}
],
@@ -92,7 +98,15 @@
" print(voices)\n",
"\n",
"words = \"\"\"\n",
"are\n",
"applying,\n",
"carrying,\n",
"crying,\n",
"denying,\n",
"qulifying,\n",
"replying,\n",
"satisfying,\n",
"specifying,\n",
"spying,\n",
"\"\"\"\n",
"\n",
"for word in words.strip().split(','):\n",
@@ -151,7 +165,7 @@
},
{
"cell_type": "code",
"execution_count": 54,
"execution_count": 3,
"id": "7f219eb1",
"metadata": {},
"outputs": [],
@@ -343,6 +357,841 @@
" # get_openai_tts_audio(sentence, f'../audios/{sentence.replace(\" \", \"-\")}-alloy.mp3', performer='alloy')\n",
" # get_openai_tts_audio(sentence, f'../audios/{sentence.replace(\" \", \"-\")}-nova.mp3', performer='nova')\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "fce6bb10",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"airplane,airport,backyard,bedroom,birthday,blackboard,bookstore,brainstorm,breakfast,classroom,cupcake,daydream,dishwasher,doorbell,downtown,earthquake,everyday,eyewitness,firefighter,football,greenhouse,handwriting,headache,highway,homework,iceberg,jellyfish,laptop,lighthouse,mailbox,moonlight,notebook,nobody,pancake,postcard,rainbow,sailboat,sandbox,seashore,skateboard,snowflake,spaceship,sunflower,sunshine,superhero,tablecloth,toothbrush,toothpaste,typewriter,underwater,upstairs,volleyball,waterfall,watermelon,weekend,wheelchair,windmill,workshop,unhappy,unknown,unusual,redo,review,return,incomplete,invisible,inside,disagree,disappear,disconnect,preview,predict,preschool,misunderstand,misplace,mislead,nonstick,nonprofit,nonviolent,overeat,overwork,overheat,submarine,subtitle,subconscious,international,interact,interrupt,transport,transfer,transform,underpaid,underestimate,underground,superhuman,supermarket,supervisor,semicircle,semifinal,semiconscious,antibiotic,antifreeze,antisocial,devalue,defrost,decode,enable,enrich,encourage,empower,embrace,employ,nonexistent,nonsense,nonprofit,midnight,midterm,midfield,readable,manageable,comfortable,visible,flexible,edible,natural,musical,personal,helpful,joyful,careful,hopeless,fearless,endless,quickly,slowly,happily,development,agreement,improvement,kindness,darkness,happiness,teacher,runner,faster,actor,inventor,conductor,artist,scientist,pianist,celebration,decision,creation,education,suggestion,transportation,admission,confusion,extension,dangerous,nervous,famous,active,creative,attractive,artistic,athletic,energetic,reality,ability,simplicity,performance,importance,acceptance,difference,independence,existence,aquarium,aquatic,aqueduct,audience,audio,audition,benefit,benevolent,benefactor,century,percent,centennial,dictionary,predict,dictate,conduct,produce,reduce,fracture,fraction,infraction,project,inject,reject,judicial,prejudice,judgment,malnutrition,malicious,malfunction,maternal,maternity,matriarch,transmit,admit,submit,mortal,mortician,mortify,multiple,multiply,multinational,pendant,suspend,depend,transport,export,import,describe,manuscript,subscription,section,dissect,intersect,sensation,sensitive,consent,inspect,spectator,spectacle,construct,structure,destruct,telephone,television,telegraph,terrestrial,territory,terrain,vacant,vacuum,evacuate,video,vision,invisible,\n"
]
}
],
"source": [
"def read_lines_from_file(file_path):\n",
" with open(file_path, 'r') as file:\n",
" return file.readlines()\n",
"\n",
"import re\n",
"words = ''\n",
"# read lines from ../../sounds-of-american-english/6-vocabulary.md\n",
"lines = read_lines_from_file('../../sounds-of-american-english/6-vocabulary.md')\n",
"for line in lines:\n",
" # whether line is markdown list item start with \\d. or ' * '\n",
" # regex\n",
" if (re.match(r'^\\d+\\.', line) or re.match(r'^\\s*\\*\\s', line)) and 'span>' in line:\n",
" # remove starting ^\\d+\\.\\s* or '^\\s*\\*\\s*'\n",
" line = re.sub(r'^\\d+\\.\\s*|\\s*\\*\\s*', '', line)\n",
" # get the first word\n",
" word = line.split(' ')[0]\n",
" # append to words followed a comma\n",
" words += word + ','\n",
"print(words)\n",
"\n",
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a11bcf2e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['en-US-GuyNeural', 'en-US-AriaNeural']\n",
"airplane\n",
"../audios/airplane-us-male.mp3 created\n",
"../audios/airplane-us-female.mp3 created\n",
"airport\n",
"../audios/airport-us-male.mp3 created\n",
"../audios/airport-us-female.mp3 created\n",
"backyard\n",
"../audios/backyard-us-male.mp3 created\n",
"../audios/backyard-us-female.mp3 created\n",
"bedroom\n",
"../audios/bedroom-us-male.mp3 created\n",
"../audios/bedroom-us-female.mp3 created\n",
"birthday\n",
"../audios/birthday-us-male.mp3 created\n",
"../audios/birthday-us-female.mp3 created\n",
"blackboard\n",
"../audios/blackboard-us-male.mp3 created\n",
"../audios/blackboard-us-female.mp3 created\n",
"bookstore\n",
"../audios/bookstore-us-male.mp3 created\n",
"../audios/bookstore-us-female.mp3 created\n",
"brainstorm\n",
"../audios/brainstorm-us-male.mp3 created\n",
"../audios/brainstorm-us-female.mp3 created\n",
"breakfast\n",
"../audios/breakfast-us-male.mp3 created\n",
"../audios/breakfast-us-female.mp3 created\n",
"classroom\n",
"../audios/classroom-us-male.mp3 exists, skipping...\n",
"../audios/classroom-us-female.mp3 exists, skipping...\n",
"cupcake\n",
"../audios/cupcake-us-male.mp3 created\n",
"../audios/cupcake-us-female.mp3 created\n",
"daydream\n",
"../audios/daydream-us-male.mp3 created\n",
"../audios/daydream-us-female.mp3 created\n",
"dishwasher\n",
"../audios/dishwasher-us-male.mp3 created\n",
"../audios/dishwasher-us-female.mp3 created\n",
"doorbell\n",
"../audios/doorbell-us-male.mp3 exists, skipping...\n",
"../audios/doorbell-us-female.mp3 exists, skipping...\n",
"downtown\n",
"../audios/downtown-us-male.mp3 created\n",
"../audios/downtown-us-female.mp3 created\n",
"earthquake\n",
"../audios/earthquake-us-male.mp3 created\n",
"../audios/earthquake-us-female.mp3 created\n",
"everyday\n",
"../audios/everyday-us-male.mp3 created\n",
"../audios/everyday-us-female.mp3 created\n",
"eyewitness\n",
"../audios/eyewitness-us-male.mp3 created\n",
"../audios/eyewitness-us-female.mp3 created\n",
"firefighter\n",
"../audios/firefighter-us-male.mp3 created\n",
"../audios/firefighter-us-female.mp3 created\n",
"football\n",
"../audios/football-us-male.mp3 created\n",
"../audios/football-us-female.mp3 created\n",
"greenhouse\n",
"../audios/greenhouse-us-male.mp3 created\n",
"../audios/greenhouse-us-female.mp3 created\n",
"handwriting\n",
"../audios/handwriting-us-male.mp3 exists, skipping...\n",
"../audios/handwriting-us-female.mp3 exists, skipping...\n",
"headache\n",
"../audios/headache-us-male.mp3 created\n",
"../audios/headache-us-female.mp3 created\n",
"highway\n",
"../audios/highway-us-male.mp3 created\n",
"../audios/highway-us-female.mp3 created\n",
"homework\n",
"../audios/homework-us-male.mp3 created\n",
"../audios/homework-us-female.mp3 created\n",
"iceberg\n",
"../audios/iceberg-us-male.mp3 created\n",
"../audios/iceberg-us-female.mp3 created\n",
"jellyfish\n",
"../audios/jellyfish-us-male.mp3 created\n",
"../audios/jellyfish-us-female.mp3 created\n",
"laptop\n",
"../audios/laptop-us-male.mp3 created\n",
"../audios/laptop-us-female.mp3 created\n",
"lighthouse\n",
"../audios/lighthouse-us-male.mp3 created\n",
"../audios/lighthouse-us-female.mp3 created\n",
"mailbox\n",
"../audios/mailbox-us-male.mp3 created\n",
"../audios/mailbox-us-female.mp3 created\n",
"moonlight\n",
"../audios/moonlight-us-male.mp3 created\n",
"../audios/moonlight-us-female.mp3 created\n",
"notebook\n",
"../audios/notebook-us-male.mp3 created\n",
"../audios/notebook-us-female.mp3 created\n",
"nobody\n",
"../audios/nobody-us-male.mp3 created\n",
"../audios/nobody-us-female.mp3 created\n",
"pancake\n",
"../audios/pancake-us-male.mp3 created\n",
"../audios/pancake-us-female.mp3 created\n",
"postcard\n",
"../audios/postcard-us-male.mp3 created\n",
"../audios/postcard-us-female.mp3 created\n",
"rainbow\n",
"../audios/rainbow-us-male.mp3 created\n",
"../audios/rainbow-us-female.mp3 created\n",
"sailboat\n",
"../audios/sailboat-us-male.mp3 created\n",
"../audios/sailboat-us-female.mp3 created\n",
"sandbox\n",
"../audios/sandbox-us-male.mp3 created\n",
"../audios/sandbox-us-female.mp3 created\n",
"seashore\n",
"../audios/seashore-us-male.mp3 created\n",
"../audios/seashore-us-female.mp3 created\n",
"skateboard\n",
"../audios/skateboard-us-male.mp3 created\n",
"../audios/skateboard-us-female.mp3 created\n",
"snowflake\n",
"../audios/snowflake-us-male.mp3 created\n",
"../audios/snowflake-us-female.mp3 created\n",
"spaceship\n",
"../audios/spaceship-us-male.mp3 created\n",
"../audios/spaceship-us-female.mp3 created\n",
"sunflower\n",
"../audios/sunflower-us-male.mp3 created\n",
"../audios/sunflower-us-female.mp3 created\n",
"sunshine\n",
"../audios/sunshine-us-male.mp3 exists, skipping...\n",
"../audios/sunshine-us-female.mp3 exists, skipping...\n",
"superhero\n",
"../audios/superhero-us-male.mp3 created\n",
"../audios/superhero-us-female.mp3 created\n",
"tablecloth\n",
"../audios/tablecloth-us-male.mp3 created\n",
"../audios/tablecloth-us-female.mp3 created\n",
"toothbrush\n",
"../audios/toothbrush-us-male.mp3 created\n",
"../audios/toothbrush-us-female.mp3 created\n",
"toothpaste\n",
"../audios/toothpaste-us-male.mp3 created\n",
"../audios/toothpaste-us-female.mp3 created\n",
"typewriter\n",
"../audios/typewriter-us-male.mp3 created\n",
"../audios/typewriter-us-female.mp3 created\n",
"underwater\n",
"../audios/underwater-us-male.mp3 created\n",
"../audios/underwater-us-female.mp3 created\n",
"upstairs\n",
"../audios/upstairs-us-male.mp3 exists, skipping...\n",
"../audios/upstairs-us-female.mp3 exists, skipping...\n",
"volleyball\n",
"../audios/volleyball-us-male.mp3 created\n",
"../audios/volleyball-us-female.mp3 created\n",
"waterfall\n",
"../audios/waterfall-us-male.mp3 created\n",
"../audios/waterfall-us-female.mp3 created\n",
"watermelon\n",
"../audios/watermelon-us-male.mp3 created\n",
"../audios/watermelon-us-female.mp3 created\n",
"weekend\n",
"../audios/weekend-us-male.mp3 created\n",
"../audios/weekend-us-female.mp3 created\n",
"wheelchair\n",
"../audios/wheelchair-us-male.mp3 created\n",
"../audios/wheelchair-us-female.mp3 created\n",
"windmill\n",
"../audios/windmill-us-male.mp3 created\n",
"../audios/windmill-us-female.mp3 created\n",
"workshop\n",
"../audios/workshop-us-male.mp3 created\n",
"../audios/workshop-us-female.mp3 created\n",
"unhappy\n",
"../audios/unhappy-us-male.mp3 created\n",
"../audios/unhappy-us-female.mp3 created\n",
"unknown\n",
"../audios/unknown-us-male.mp3 created\n",
"../audios/unknown-us-female.mp3 created\n",
"unusual\n",
"../audios/unusual-us-male.mp3 created\n",
"../audios/unusual-us-female.mp3 created\n",
"redo\n",
"../audios/redo-us-male.mp3 created\n",
"../audios/redo-us-female.mp3 created\n",
"review\n",
"../audios/review-us-male.mp3 created\n",
"../audios/review-us-female.mp3 created\n",
"return\n",
"../audios/return-us-male.mp3 created\n",
"../audios/return-us-female.mp3 created\n",
"incomplete\n",
"../audios/incomplete-us-male.mp3 created\n",
"../audios/incomplete-us-female.mp3 created\n",
"invisible\n",
"../audios/invisible-us-male.mp3 created\n",
"../audios/invisible-us-female.mp3 created\n",
"inside\n",
"../audios/inside-us-male.mp3 created\n",
"../audios/inside-us-female.mp3 created\n",
"disagree\n",
"../audios/disagree-us-male.mp3 created\n",
"../audios/disagree-us-female.mp3 created\n",
"disappear\n",
"../audios/disappear-us-male.mp3 created\n",
"../audios/disappear-us-female.mp3 created\n",
"disconnect\n",
"../audios/disconnect-us-male.mp3 created\n",
"../audios/disconnect-us-female.mp3 created\n",
"preview\n",
"../audios/preview-us-male.mp3 created\n",
"../audios/preview-us-female.mp3 created\n",
"predict\n",
"../audios/predict-us-male.mp3 created\n",
"../audios/predict-us-female.mp3 created\n",
"preschool\n",
"../audios/preschool-us-male.mp3 created\n",
"../audios/preschool-us-female.mp3 created\n",
"misunderstand\n",
"../audios/misunderstand-us-male.mp3 created\n",
"../audios/misunderstand-us-female.mp3 created\n",
"misplace\n",
"../audios/misplace-us-male.mp3 created\n",
"../audios/misplace-us-female.mp3 created\n",
"mislead\n",
"../audios/mislead-us-male.mp3 created\n",
"../audios/mislead-us-female.mp3 created\n",
"nonstick\n",
"../audios/nonstick-us-male.mp3 created\n",
"../audios/nonstick-us-female.mp3 created\n",
"nonprofit\n",
"../audios/nonprofit-us-male.mp3 created\n",
"../audios/nonprofit-us-female.mp3 created\n",
"nonviolent\n",
"../audios/nonviolent-us-male.mp3 created\n",
"../audios/nonviolent-us-female.mp3 created\n",
"overeat\n",
"../audios/overeat-us-male.mp3 created\n",
"../audios/overeat-us-female.mp3 created\n",
"overwork\n",
"../audios/overwork-us-male.mp3 created\n",
"../audios/overwork-us-female.mp3 created\n",
"overheat\n",
"../audios/overheat-us-male.mp3 created\n",
"../audios/overheat-us-female.mp3 created\n",
"submarine\n",
"../audios/submarine-us-male.mp3 created\n",
"../audios/submarine-us-female.mp3 created\n",
"subtitle\n",
"../audios/subtitle-us-male.mp3 created\n",
"../audios/subtitle-us-female.mp3 created\n",
"subconscious\n",
"../audios/subconscious-us-male.mp3 created\n",
"../audios/subconscious-us-female.mp3 created\n",
"international\n",
"../audios/international-us-male.mp3 exists, skipping...\n",
"../audios/international-us-female.mp3 exists, skipping...\n",
"interact\n",
"../audios/interact-us-male.mp3 created\n",
"../audios/interact-us-female.mp3 created\n",
"interrupt\n",
"../audios/interrupt-us-male.mp3 created\n",
"../audios/interrupt-us-female.mp3 created\n",
"transport\n",
"../audios/transport-us-male.mp3 created\n",
"../audios/transport-us-female.mp3 created\n",
"transfer\n",
"../audios/transfer-us-male.mp3 created\n",
"../audios/transfer-us-female.mp3 created\n",
"transform\n",
"../audios/transform-us-male.mp3 created\n",
"../audios/transform-us-female.mp3 created\n",
"underpaid\n",
"../audios/underpaid-us-male.mp3 created\n",
"../audios/underpaid-us-female.mp3 created\n",
"underestimate\n",
"../audios/underestimate-us-male.mp3 created\n",
"../audios/underestimate-us-female.mp3 created\n",
"underground\n",
"../audios/underground-us-male.mp3 created\n",
"../audios/underground-us-female.mp3 created\n",
"superhuman\n",
"../audios/superhuman-us-male.mp3 created\n",
"../audios/superhuman-us-female.mp3 created\n",
"supermarket\n",
"../audios/supermarket-us-male.mp3 created\n",
"../audios/supermarket-us-female.mp3 created\n",
"supervisor\n",
"../audios/supervisor-us-male.mp3 created\n",
"../audios/supervisor-us-female.mp3 created\n",
"semicircle\n",
"../audios/semicircle-us-male.mp3 created\n",
"../audios/semicircle-us-female.mp3 created\n",
"semifinal\n",
"../audios/semifinal-us-male.mp3 created\n",
"../audios/semifinal-us-female.mp3 created\n",
"semiconscious\n",
"../audios/semiconscious-us-male.mp3 created\n",
"../audios/semiconscious-us-female.mp3 created\n",
"antibiotic\n",
"../audios/antibiotic-us-male.mp3 created\n",
"../audios/antibiotic-us-female.mp3 created\n",
"antifreeze\n",
"../audios/antifreeze-us-male.mp3 created\n",
"../audios/antifreeze-us-female.mp3 created\n",
"antisocial\n",
"../audios/antisocial-us-male.mp3 created\n",
"../audios/antisocial-us-female.mp3 created\n",
"devalue\n",
"../audios/devalue-us-male.mp3 created\n",
"../audios/devalue-us-female.mp3 created\n",
"defrost\n",
"../audios/defrost-us-male.mp3 created\n",
"../audios/defrost-us-female.mp3 created\n",
"decode\n",
"../audios/decode-us-male.mp3 created\n",
"../audios/decode-us-female.mp3 created\n",
"enable\n",
"../audios/enable-us-male.mp3 created\n",
"../audios/enable-us-female.mp3 created\n",
"enrich\n",
"../audios/enrich-us-male.mp3 created\n",
"../audios/enrich-us-female.mp3 created\n",
"encourage\n",
"../audios/encourage-us-male.mp3 created\n",
"../audios/encourage-us-female.mp3 created\n",
"empower\n",
"../audios/empower-us-male.mp3 created\n",
"../audios/empower-us-female.mp3 created\n",
"embrace\n",
"../audios/embrace-us-male.mp3 created\n",
"../audios/embrace-us-female.mp3 created\n",
"employ\n",
"../audios/employ-us-male.mp3 created\n",
"../audios/employ-us-female.mp3 created\n",
"nonexistent\n",
"../audios/nonexistent-us-male.mp3 created\n",
"../audios/nonexistent-us-female.mp3 created\n",
"nonsense\n",
"../audios/nonsense-us-male.mp3 created\n",
"../audios/nonsense-us-female.mp3 created\n",
"nonprofit\n",
"../audios/nonprofit-us-male.mp3 exists, skipping...\n",
"../audios/nonprofit-us-female.mp3 exists, skipping...\n",
"midnight\n",
"../audios/midnight-us-male.mp3 created\n",
"../audios/midnight-us-female.mp3 created\n",
"midterm\n",
"../audios/midterm-us-male.mp3 created\n",
"../audios/midterm-us-female.mp3 created\n",
"midfield\n",
"../audios/midfield-us-male.mp3 created\n",
"../audios/midfield-us-female.mp3 created\n",
"readable\n",
"../audios/readable-us-male.mp3 created\n",
"../audios/readable-us-female.mp3 created\n",
"manageable\n",
"../audios/manageable-us-male.mp3 created\n",
"../audios/manageable-us-female.mp3 created\n",
"comfortable\n",
"../audios/comfortable-us-male.mp3 created\n",
"../audios/comfortable-us-female.mp3 created\n",
"visible\n",
"../audios/visible-us-male.mp3 created\n",
"../audios/visible-us-female.mp3 created\n",
"flexible\n",
"../audios/flexible-us-male.mp3 created\n",
"../audios/flexible-us-female.mp3 created\n",
"edible\n",
"../audios/edible-us-male.mp3 created\n",
"../audios/edible-us-female.mp3 created\n",
"natural\n",
"../audios/natural-us-male.mp3 created\n",
"../audios/natural-us-female.mp3 created\n",
"musical\n",
"../audios/musical-us-male.mp3 created\n",
"../audios/musical-us-female.mp3 created\n",
"personal\n",
"../audios/personal-us-male.mp3 created\n",
"../audios/personal-us-female.mp3 created\n",
"helpful\n",
"../audios/helpful-us-male.mp3 created\n",
"../audios/helpful-us-female.mp3 created\n",
"joyful\n",
"../audios/joyful-us-male.mp3 created\n",
"../audios/joyful-us-female.mp3 created\n",
"careful\n",
"../audios/careful-us-male.mp3 created\n",
"../audios/careful-us-female.mp3 created\n",
"hopeless\n",
"../audios/hopeless-us-male.mp3 created\n",
"../audios/hopeless-us-female.mp3 created\n",
"fearless\n",
"../audios/fearless-us-male.mp3 created\n",
"../audios/fearless-us-female.mp3 created\n",
"endless\n",
"../audios/endless-us-male.mp3 created\n",
"../audios/endless-us-female.mp3 created\n",
"quickly\n",
"../audios/quickly-us-male.mp3 created\n",
"../audios/quickly-us-female.mp3 created\n",
"slowly\n",
"../audios/slowly-us-male.mp3 created\n",
"../audios/slowly-us-female.mp3 created\n",
"happily\n",
"../audios/happily-us-male.mp3 created\n",
"../audios/happily-us-female.mp3 created\n",
"development\n",
"../audios/development-us-male.mp3 created\n",
"../audios/development-us-female.mp3 created\n",
"agreement\n",
"../audios/agreement-us-male.mp3 created\n",
"../audios/agreement-us-female.mp3 created\n",
"improvement\n",
"../audios/improvement-us-male.mp3 created\n",
"../audios/improvement-us-female.mp3 created\n",
"kindness\n",
"../audios/kindness-us-male.mp3 created\n",
"../audios/kindness-us-female.mp3 created\n",
"darkness\n",
"../audios/darkness-us-male.mp3 created\n",
"../audios/darkness-us-female.mp3 created\n",
"happiness\n",
"../audios/happiness-us-male.mp3 created\n",
"../audios/happiness-us-female.mp3 created\n",
"teacher\n",
"../audios/teacher-us-male.mp3 exists, skipping...\n",
"../audios/teacher-us-female.mp3 exists, skipping...\n",
"runner\n",
"../audios/runner-us-male.mp3 created\n",
"../audios/runner-us-female.mp3 created\n",
"faster\n",
"../audios/faster-us-male.mp3 created\n",
"../audios/faster-us-female.mp3 created\n",
"actor\n",
"../audios/actor-us-male.mp3 exists, skipping...\n",
"../audios/actor-us-female.mp3 exists, skipping...\n",
"inventor\n",
"../audios/inventor-us-male.mp3 created\n",
"../audios/inventor-us-female.mp3 created\n",
"conductor\n",
"../audios/conductor-us-male.mp3 created\n",
"../audios/conductor-us-female.mp3 created\n",
"artist\n",
"../audios/artist-us-male.mp3 created\n",
"../audios/artist-us-female.mp3 created\n",
"scientist\n",
"../audios/scientist-us-male.mp3 created\n",
"../audios/scientist-us-female.mp3 created\n",
"pianist\n",
"../audios/pianist-us-male.mp3 created\n",
"../audios/pianist-us-female.mp3 created\n",
"celebration\n",
"../audios/celebration-us-male.mp3 exists, skipping...\n",
"../audios/celebration-us-female.mp3 exists, skipping...\n",
"decision\n",
"../audios/decision-us-male.mp3 exists, skipping...\n",
"../audios/decision-us-female.mp3 exists, skipping...\n",
"creation\n",
"../audios/creation-us-male.mp3 created\n",
"../audios/creation-us-female.mp3 created\n",
"education\n",
"../audios/education-us-male.mp3 created\n",
"../audios/education-us-female.mp3 created\n",
"suggestion\n",
"../audios/suggestion-us-male.mp3 created\n",
"../audios/suggestion-us-female.mp3 created\n",
"transportation\n",
"../audios/transportation-us-male.mp3 exists, skipping...\n",
"../audios/transportation-us-female.mp3 exists, skipping...\n",
"admission\n",
"../audios/admission-us-male.mp3 created\n",
"../audios/admission-us-female.mp3 created\n",
"confusion\n",
"../audios/confusion-us-male.mp3 created\n",
"../audios/confusion-us-female.mp3 created\n",
"extension\n",
"../audios/extension-us-male.mp3 created\n",
"../audios/extension-us-female.mp3 created\n",
"dangerous\n",
"../audios/dangerous-us-male.mp3 created\n",
"../audios/dangerous-us-female.mp3 created\n",
"nervous\n",
"../audios/nervous-us-male.mp3 created\n",
"../audios/nervous-us-female.mp3 created\n",
"famous\n",
"../audios/famous-us-male.mp3 exists, skipping...\n",
"../audios/famous-us-female.mp3 exists, skipping...\n",
"active\n",
"../audios/active-us-male.mp3 created\n",
"../audios/active-us-female.mp3 created\n",
"creative\n",
"../audios/creative-us-male.mp3 created\n",
"../audios/creative-us-female.mp3 created\n",
"attractive\n",
"../audios/attractive-us-male.mp3 created\n",
"../audios/attractive-us-female.mp3 created\n",
"artistic\n",
"../audios/artistic-us-male.mp3 created\n",
"../audios/artistic-us-female.mp3 created\n",
"athletic\n",
"../audios/athletic-us-male.mp3 created\n",
"../audios/athletic-us-female.mp3 created\n",
"energetic\n",
"../audios/energetic-us-male.mp3 created\n",
"../audios/energetic-us-female.mp3 created\n",
"reality\n",
"../audios/reality-us-male.mp3 created\n",
"../audios/reality-us-female.mp3 created\n",
"ability\n",
"../audios/ability-us-male.mp3 created\n",
"../audios/ability-us-female.mp3 created\n",
"simplicity\n",
"../audios/simplicity-us-male.mp3 created\n",
"../audios/simplicity-us-female.mp3 created\n",
"performance\n",
"../audios/performance-us-male.mp3 created\n",
"../audios/performance-us-female.mp3 created\n",
"importance\n",
"../audios/importance-us-male.mp3 created\n",
"../audios/importance-us-female.mp3 created\n",
"acceptance\n",
"../audios/acceptance-us-male.mp3 created\n",
"../audios/acceptance-us-female.mp3 created\n",
"difference\n",
"../audios/difference-us-male.mp3 created\n",
"../audios/difference-us-female.mp3 created\n",
"independence\n",
"../audios/independence-us-male.mp3 created\n",
"../audios/independence-us-female.mp3 created\n",
"existence\n",
"../audios/existence-us-male.mp3 created\n",
"../audios/existence-us-female.mp3 created\n",
"aquarium\n",
"../audios/aquarium-us-male.mp3 created\n",
"../audios/aquarium-us-female.mp3 created\n",
"aquatic\n",
"../audios/aquatic-us-male.mp3 created\n",
"../audios/aquatic-us-female.mp3 created\n",
"aqueduct\n",
"../audios/aqueduct-us-male.mp3 created\n",
"../audios/aqueduct-us-female.mp3 created\n",
"audience\n",
"../audios/audience-us-male.mp3 created\n",
"../audios/audience-us-female.mp3 created\n",
"audio\n",
"../audios/audio-us-male.mp3 created\n",
"../audios/audio-us-female.mp3 created\n",
"audition\n",
"../audios/audition-us-male.mp3 created\n",
"../audios/audition-us-female.mp3 created\n",
"benefit\n",
"../audios/benefit-us-male.mp3 created\n",
"../audios/benefit-us-female.mp3 created\n",
"benevolent\n",
"../audios/benevolent-us-male.mp3 created\n",
"../audios/benevolent-us-female.mp3 created\n",
"benefactor\n",
"../audios/benefactor-us-male.mp3 created\n",
"../audios/benefactor-us-female.mp3 created\n",
"century\n",
"../audios/century-us-male.mp3 created\n",
"../audios/century-us-female.mp3 created\n",
"percent\n",
"../audios/percent-us-male.mp3 created\n",
"../audios/percent-us-female.mp3 created\n",
"centennial\n",
"../audios/centennial-us-male.mp3 created\n",
"../audios/centennial-us-female.mp3 created\n",
"dictionary\n",
"../audios/dictionary-us-male.mp3 created\n",
"../audios/dictionary-us-female.mp3 created\n",
"predict\n",
"../audios/predict-us-male.mp3 exists, skipping...\n",
"../audios/predict-us-female.mp3 exists, skipping...\n",
"dictate\n",
"../audios/dictate-us-male.mp3 created\n",
"../audios/dictate-us-female.mp3 created\n",
"conduct\n",
"../audios/conduct-us-male.mp3 created\n",
"../audios/conduct-us-female.mp3 created\n",
"produce\n",
"../audios/produce-us-male.mp3 created\n",
"../audios/produce-us-female.mp3 created\n",
"reduce\n",
"../audios/reduce-us-male.mp3 created\n",
"../audios/reduce-us-female.mp3 created\n",
"fracture\n",
"../audios/fracture-us-male.mp3 created\n",
"../audios/fracture-us-female.mp3 created\n",
"fraction\n",
"../audios/fraction-us-male.mp3 created\n",
"../audios/fraction-us-female.mp3 created\n",
"infraction\n",
"../audios/infraction-us-male.mp3 created\n",
"../audios/infraction-us-female.mp3 created\n",
"project\n",
"../audios/project-us-male.mp3 created\n",
"../audios/project-us-female.mp3 created\n",
"inject\n",
"../audios/inject-us-male.mp3 created\n",
"../audios/inject-us-female.mp3 created\n",
"reject\n",
"../audios/reject-us-male.mp3 created\n",
"../audios/reject-us-female.mp3 created\n",
"judicial\n",
"../audios/judicial-us-male.mp3 created\n",
"../audios/judicial-us-female.mp3 created\n",
"prejudice\n",
"../audios/prejudice-us-male.mp3 created\n",
"../audios/prejudice-us-female.mp3 created\n",
"judgment\n",
"../audios/judgment-us-male.mp3 created\n",
"../audios/judgment-us-female.mp3 created\n",
"malnutrition\n",
"../audios/malnutrition-us-male.mp3 created\n",
"../audios/malnutrition-us-female.mp3 created\n",
"malicious\n",
"../audios/malicious-us-male.mp3 created\n",
"../audios/malicious-us-female.mp3 created\n",
"malfunction\n",
"../audios/malfunction-us-male.mp3 created\n",
"../audios/malfunction-us-female.mp3 created\n",
"maternal\n",
"../audios/maternal-us-male.mp3 created\n",
"../audios/maternal-us-female.mp3 created\n",
"maternity\n",
"../audios/maternity-us-male.mp3 created\n",
"../audios/maternity-us-female.mp3 created\n",
"matriarch\n",
"../audios/matriarch-us-male.mp3 created\n",
"../audios/matriarch-us-female.mp3 created\n",
"transmit\n",
"../audios/transmit-us-male.mp3 created\n",
"../audios/transmit-us-female.mp3 created\n",
"admit\n",
"../audios/admit-us-male.mp3 created\n",
"../audios/admit-us-female.mp3 created\n",
"submit\n",
"../audios/submit-us-male.mp3 created\n",
"../audios/submit-us-female.mp3 created\n",
"mortal\n",
"../audios/mortal-us-male.mp3 created\n",
"../audios/mortal-us-female.mp3 created\n",
"mortician\n",
"../audios/mortician-us-male.mp3 created\n",
"../audios/mortician-us-female.mp3 created\n",
"mortify\n",
"../audios/mortify-us-male.mp3 created\n",
"../audios/mortify-us-female.mp3 created\n",
"multiple\n",
"../audios/multiple-us-male.mp3 created\n",
"../audios/multiple-us-female.mp3 created\n",
"multiply\n",
"../audios/multiply-us-male.mp3 created\n",
"../audios/multiply-us-female.mp3 created\n",
"multinational\n",
"../audios/multinational-us-male.mp3 created\n",
"../audios/multinational-us-female.mp3 created\n",
"pendant\n",
"../audios/pendant-us-male.mp3 created\n",
"../audios/pendant-us-female.mp3 created\n",
"suspend\n",
"../audios/suspend-us-male.mp3 created\n",
"../audios/suspend-us-female.mp3 created\n",
"depend\n",
"../audios/depend-us-male.mp3 created\n",
"../audios/depend-us-female.mp3 created\n",
"transport\n",
"../audios/transport-us-male.mp3 exists, skipping...\n",
"../audios/transport-us-female.mp3 exists, skipping...\n",
"export\n",
"../audios/export-us-male.mp3 created\n",
"../audios/export-us-female.mp3 created\n",
"import\n",
"../audios/import-us-male.mp3 created\n",
"../audios/import-us-female.mp3 created\n",
"describe\n",
"../audios/describe-us-male.mp3 created\n",
"../audios/describe-us-female.mp3 created\n",
"manuscript\n",
"../audios/manuscript-us-male.mp3 created\n",
"../audios/manuscript-us-female.mp3 created\n",
"subscription\n",
"../audios/subscription-us-male.mp3 created\n",
"../audios/subscription-us-female.mp3 created\n",
"section\n",
"../audios/section-us-male.mp3 created\n",
"../audios/section-us-female.mp3 created\n",
"dissect\n",
"../audios/dissect-us-male.mp3 created\n",
"../audios/dissect-us-female.mp3 created\n",
"intersect\n",
"../audios/intersect-us-male.mp3 created\n",
"../audios/intersect-us-female.mp3 created\n",
"sensation\n",
"../audios/sensation-us-male.mp3 created\n",
"../audios/sensation-us-female.mp3 created\n",
"sensitive\n",
"../audios/sensitive-us-male.mp3 created\n",
"../audios/sensitive-us-female.mp3 created\n",
"consent\n",
"../audios/consent-us-male.mp3 created\n",
"../audios/consent-us-female.mp3 created\n",
"inspect\n",
"../audios/inspect-us-male.mp3 created\n",
"../audios/inspect-us-female.mp3 created\n",
"spectator\n",
"../audios/spectator-us-male.mp3 created\n",
"../audios/spectator-us-female.mp3 created\n",
"spectacle\n",
"../audios/spectacle-us-male.mp3 created\n",
"../audios/spectacle-us-female.mp3 created\n",
"construct\n",
"../audios/construct-us-male.mp3 created\n",
"../audios/construct-us-female.mp3 created\n",
"structure\n",
"../audios/structure-us-male.mp3 created\n",
"../audios/structure-us-female.mp3 created\n",
"destruct\n",
"../audios/destruct-us-male.mp3 created\n",
"../audios/destruct-us-female.mp3 created\n",
"telephone\n",
"../audios/telephone-us-male.mp3 created\n",
"../audios/telephone-us-female.mp3 created\n",
"television\n",
"../audios/television-us-male.mp3 created\n",
"../audios/television-us-female.mp3 created\n",
"telegraph\n",
"../audios/telegraph-us-male.mp3 created\n",
"../audios/telegraph-us-female.mp3 created\n",
"terrestrial\n",
"../audios/terrestrial-us-male.mp3 created\n",
"../audios/terrestrial-us-female.mp3 created\n",
"territory\n",
"../audios/territory-us-male.mp3 created\n",
"../audios/territory-us-female.mp3 created\n",
"terrain\n",
"../audios/terrain-us-male.mp3 created\n",
"../audios/terrain-us-female.mp3 created\n",
"vacant\n",
"../audios/vacant-us-male.mp3 created\n",
"../audios/vacant-us-female.mp3 created\n",
"vacuum\n",
"../audios/vacuum-us-male.mp3 created\n",
"../audios/vacuum-us-female.mp3 created\n",
"evacuate\n",
"../audios/evacuate-us-male.mp3 created\n",
"../audios/evacuate-us-female.mp3 created\n",
"video\n",
"../audios/video-us-male.mp3 created\n",
"../audios/video-us-female.mp3 created\n",
"vision\n",
"../audios/vision-us-male.mp3 exists, skipping...\n",
"../audios/vision-us-female.mp3 exists, skipping...\n",
"invisible\n",
"../audios/invisible-us-male.mp3 exists, skipping...\n",
"../audios/invisible-us-female.mp3 exists, skipping...\n",
"\n"
]
}
],
"source": [
"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 = False\n",
"only_us = True\n",
"if only_us:\n",
" voices = voices[:2]\n",
" print(voices)\n",
"\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.replace(\" \", \"-\")}-{regions[i]}-{genders[i]}.mp3'\n",
" await generate_edge_tts_audio(w, filename, voice=voice, verbose=True, overwrite=False, play=True)\n"
]
}
],
"metadata": {

View File

@@ -156,10 +156,3 @@
[^1]: Sound files in this list come from [CEPD online edition](https://dictionary.cambridge.org/pronunciation/).
[^2]: *literally* 在该软件里的音标标注为 <span class="pho alt">ˈlɪːəli</span> —— 虽然和《剑桥英语发声词典》略有不同,但我们依然看得懂……
<style>
.two-column ul {
column-count: 2 !important;
column-gap: 2em;
}
</style>

View File

@@ -89,7 +89,7 @@
> * *brown gate*, <span class="pho alt">braʊn geɪt</span> → <span class="pho alt">braʊŋ geɪt</span><span class="speak-word-inline" data-audio-us-male="/audios/brown-gate-us-male.mp3" data-audio-us-female="/audios/brown-gate-us-female.mp3"></span>
> [!Note]
>
>
> 请注意,**同化**都是**可能**,并非一定,并非所有英文母语使用者都如此发音。并非所有人都会使用这种**同化**的发音。比如,*Don't you?* <span class="pho alt">doʊn tʃju?</span><span class="speak-word-inline" data-audio-us-female="/audios/Dont-you-us-female.mp3"></span> *Would you?* <span class="pho alt">wʊ dʒju?</span><span class="speak-word-inline" data-audio-us-male="/audios/Would-you-us-male.mp3"></span>
## 4.4.2.4. 击穿dropping
@@ -117,15 +117,20 @@
> - *She is* - <span class="pho alt">ˈʃiː ˈɪz</span> ⭢ <span class="pho alt">ˈʃiːʲɪz</span><span class="speak-word-inline" data-audio-us-male="/audios/She-is-us-male.mp3" data-audio-us-female="/audios/She-is-us-female.mp3"></span>
> - *They are* - <span class="pho alt">ˈðeɪ ˈɑːr</span> ⭢ <span class="pho alt">ˈðeɪʲɑːr</span><span class="speak-word-inline" data-audio-us-male="/audios/They-are-us-male.mp3" data-audio-us-female="/audios/They-are-us-female.mp3"></span>
注意:一些以 <span class="pho">i</span> 结尾的动词,使用进行时态的时候,末尾会加上 *ing*,即,<span class="pho alt">ɪŋ</span>。比如,*study* <span class="pho alt">ˈstʌdi</span> 的现在分词形式是 *studying* <span class="pho alt">ˈstʌdi.ɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/studying-us-male.mp3" data-audio-us-female="/audios/studying-us-female.mp3"></span> —— 这里会出现加音 <span class="pho">ʲ</span>,即最后一个音节变成 <span class="pho alt">jɪŋ</span> —— 虽然,*studying* 在词典里标注的只能是 <span class="pho alt">ˈstʌdiɪŋ</span>。
注意:一些以 <span class="pho">i</span> 结尾的动词,使用进行时态的时候,末尾会加上 *ing*,即,<span class="pho alt">ɪŋ</span>。比如,*study* <span class="pho alt">ˈstʌdi</span> 的现在分词形式是 *studying* <span class="pho alt">ˈstʌdi.ɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/studying-us-male.mp3" data-audio-us-female="/audios/studying-us-female.mp3"></span> —— 这里会出现加音 <span class="pho">ʲ</span>,即最后一个音节变成 <span class="pho alt">jɪŋ</span>,相当于 <span class="pho alt">ˈstʌdi.ʲɪŋ</span> —— 虽然,*studying* 在词典里标注的只能是 <span class="pho alt">ˈstʌdi.ɪŋ</span>。
再比如:
> *applying* *carrying* *crying*
>
> *denying* *qulifying* *replying*
>
> *satisfying* *specifying* *spying*
> * *applying* - <span class="pho alt">əˈplaɪ.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/applying-us-male.mp3" data-audio-us-female="/audios/applying-us-female.mp3"></span>
> * *carrying* - <span class="pho alt">ˈker.i.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/carrying-us-male.mp3" data-audio-us-female="/audios/carrying-us-female.mp3"></span>
> * *crying* - <span class="pho alt">ˈkraɪ.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/crying-us-male.mp3" data-audio-us-female="/audios/crying-us-female.mp3"></span>
> * *denying* - <span class="pho alt">dɪˈnaɪ.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/denying-us-male.mp3" data-audio-us-female="/audios/denying-us-female.mp3"></span>
> * *qualifying* - <span class="pho alt">ˈkwɑː.lə.faɪ.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/qualifying-us-male.mp3" data-audio-us-female="/audios/qualifying-us-female.mp3"></span>
> * *replying* - <span class="pho alt">rɪˈplaɪ.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/replying-us-male.mp3" data-audio-us-female="/audios/replying-us-female.mp3"></span>
> * *satisfying* - <span class="pho alt">ˈsæt̬.ɪs.faɪ.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/satisfying-us-male.mp3" data-audio-us-female="/audios/satisfying-us-female.mp3"></span>
> * *specifying* - <span class="pho alt">ˈspes.ə.faɪ.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/specifying-us-male.mp3" data-audio-us-female="/audios/specifying-us-female.mp3"></span>
> * *spying* - <span class="pho alt">spaɪ.ʲɪŋ</span><span class="speak-word-inline" data-audio-us-male="/audios/spying-us-male.mp3" data-audio-us-female="/audios/spying-us-female.mp3"></span>
前一个音节以 <span class="pho">ʊ</span> 结尾,比如 <span class="pho">ʊ/uː/aʊ/oʊ</span>,会出现加音 <span class="pho">ʷ</span>

View File

@@ -207,10 +207,3 @@
[^1] 这个例子来自于 [Macquarie University](https://www.mq.edu.au/about/about-the-university/our-faculties/medicine-and-health-sciences/departments-and-centres/department-of-linguistics/our-research/phonetics-and-phonology/speech/phonetics-and-phonology/Intonation-tobi-introduction)
[^2] 这个例子来自于 *Manual of American English Pronunciation*, 4th edition, by Clifford H. Prator, Jr. BettyWallaceRobinett, 1972
<style>
.two-column ul {
column-count: 2 !important;
column-gap: 2em;
}
</style>

View File

@@ -514,11 +514,3 @@ In the previous chapters, we listed the possible spellings for each phoneme. Som
* invisible <span class="pho alt">ɪnˈvɪz.ə.bəl</span> <span class="speak-word-inline" data-audio-us-male="/audios/invisible-us-male.mp3" data-audio-us-female="/audios/invisible-us-female.mp3"></span>
</div>
<style>
.two-column ol, .two-column ul {
column-count: 2 !important;
column-gap: 2em;
}
</style>