聞き流しで発音を覚えたい
(Python勉強の備忘録的なものです)
日本語ネィティブの立場で「台湾華語」の勉強をするときの「障害」は、何と言っても「発音」だと思います。「台湾華語」(繁体字中国語)は、日本の漢字の旧字体とほぼ同じですから、字を見れば大抵は意味もとれてしまう。ですが、発音をちゃんと覚えきれていないのがもどかしい。
街角で「韭菜盒子」という、焼き餃子を大きくしたような、見るからにおいしそうな食べ物を見つけた。ニラが入ったお焼きみたいなものだろうというのはすぐわかる。食べてみたいのだけど韭菜が読めない、
字形が似ている(?)ので非常の非かな?と(fēi cài hé zi)と言ったら、店員さんに「ハァ?」と変な声を出されて赤面させられました。(正解はjiǔ cài hé zi)
前回、日・英・華語の読み上げができる関数を作っています。これで発音を覚えていない単語を、繰り返して、覚えたい。
とある小吃のメニューから
とりあえず、8種類、これだけは発音覚えて注文してみたい。(全部食ってやる。)
上のメニューをmenu1.csv という名前で同じフォルダに保存します。まだカンマ無いんですけど、そのうち、発音記号(ピンイン)とか意味とかつけて拡張していきたいのでcsvとしています。pythonの「csvモジュール」と言うのがあるので
説明読んでなんとなく理解。
import csv
with open('menu1.csv',newline='') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',' )
for row in csvreader:
print(row)
これreadcsv1.pyと言うファイル名で保存して実行してみると、なんかエラー出ました。
Traceback (most recent call last):
File "d:\D_Document\MyPython\lang\readcsv1.py", line 4, in <module>
for row in csvreader:
UnicodeDecodeError: 'cp950' codec can't decode byte 0xe9 in position 0: illegal multibyte sequence
MSのCopilot先生に聞くとエンコーディングを指定しろとのこと。
import csv
with open('menu1.csv', newline='', encoding='utf-8') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',' )
for row in csvreader:
print(row)
これで
['韭菜盒子']
['高麗菜盒子']
['酸菜盒子']
['蘿蔔絲捲']
['豆腐捲']
['豬肉餡餅']
['牛肉捲餅']
['豬肉捲餅']
このように出力されました。ちなみに
import csv
with open('menu1.csv', newline='', encoding='utf-8') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',' )
for row in csvreader:
print(row[0])
こうやると・・・
韭菜盒子
高麗菜盒子
酸菜盒子
蘿蔔絲捲
豆腐捲
豬肉餡餅
牛肉捲餅
豬肉捲餅
このように出力されました。最後は、前回の読み上げのコードと組み合わせて
import csv
from myspeech_lib import myspeech
with open('menu1.csv',newline='', encoding='utf-8') as csvfile:
csvreader = csv.reader(csvfile, delimiter=',' )
for row in csvreader:
print(row[0])
myspeech("zh-TW",row[0])
これで、一品ずつ表示しながら読み上げてくれるようになりました。発音は、大変良いです。