这是一个很有价值的事情.但是我今天比较忙, 就不细说了.快速概要纪录下.

呀呀呀.标题起的有点长. 无所谓了. 能看懂, 最重要. 我希望别人能通过标题大致理解我将要在正文说什么. 什么言简意赅,信达雅… 在绝对的有价值的内容面前, 都得乖乖退下.

问题背景

google_download

日语汉字,是有一词多音现象的. 类似于汉语中的多音字. 多音字本身, 在具体语境下, 一般是可以相对准确的区分的. 但是因为我发送给 Google 翻译的只有单个汉字, 所以所有多音字, 我得到了只有一个发音.

解决方法

想要正儿八经解决这个问题, 肯定有足够多的方法, 但是我肯定不会去投入太大精力的.

如果没有短平快的方法, 我大概率会列出所有的多音字, 制作成一个单独的卡包, 单独对比记忆.

不过,好在我找到了一个不是算太靠谱,但是勉强够用的方法: 把汉字的平假名注音, 直接发给 Google. 我简单试了下, 目前是可以满足需要的. 如 時間 的平假名 じかん 是能正确发音, 并且也能正确识别出音变的. 時間 音变后, 类似于中文 几钢 的发音.

从0开始的方法, 参考我这篇「速记」自己动手,从 0 开始制作 7731 张 JLPT 词组闪卡

我这里着重记录下生成语音时的细微修改:

const { word, pronunciation } = words[index];
let targetFile = `audio/${word}.mp3`
let encodeWord = encodeURIComponent(word)

// purePolyphonic 中存储了已经识别到的多音字.
if (purePolyphonic[word]) {
    targetFile = `audio/${word}_${pronunciation}.mp3`
    encodeWord = encodeURIComponent(pronunciation)
}

const cmd = `curl  -o ${targetFile} 'https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&tl=ja&q=${encodeWord}'`
execSync(cmd);

没啥特殊的.就是把发给 Google 翻译的信息, 从汉字改为了平假名.

支队多音字使用这种策略, 是因为日语中还存在着一音多词的情况. 如果声音本身只有升降调的差异, 此时就无法得到正确的发音了.

当然, 如果多音字的某个发音, 又刚好存在着 一音多词 , 且声音的 升降调 还有差异, 那我的这个策略, 目前也无法应对. 等遇到了再说吧. 因为现在我用的数据源里, 本身多音字也就 90个左右. 我现在词汇不熟悉, 也无法直接快速的做出进一步判断.

preview_audio

附录: 89个多音日语汉字

呀呀呀, 显而易见, 这不过我代码里的一段日志而已. 我可没兴趣去一个一个手动整理.

start: 获取多音词汇
明日: 2 あした,あす
上: 2 うえ,かみ
後: 3 あと,ご,のち
間: 2 あいだ,ま
明後日: 2 あさって,みょうごにち
一日: 2 いちにち,ついたち
降ります: 2 おります,ふります
方: 2 かた,ほう
頃: 2 ごろ,ころ
辛い: 2 からい,つらい
口: 2 くち,ぐち
角: 3 かど,つの,かく
下: 2 した,しも
空: 2 そら,から
字: 2 じ,あざ
中: 2 なか,ちゅう
日本: 2 にほん,にっぽん
他: 2 ほか,た
本: 3 ほん,ぽん,ぼん
弾く: 2 ひく,はじく
百: 2 ひゃく,びゃく
毎: 2 まい,ごと
前: 2 まえ,ぜん
夜: 2 よる,よ
六: 2 ろく,ろっ
表: 2 おもて,ひょう
音: 2 おと,おん
君: 2 きみ,くん
市: 2 し,いち
都: 2 と,みやこ
止める: 3 とめる,やめる,とどめる
日: 2 ひ,にち
不便: 2 ふべん,ふびん
汚れる: 2 よごれる,けがれる
得る: 2 える,うる
柄: 2 え,がら
描く: 2 えがく,かく
縁: 2 えん,ふち
数: 2 かず,すう
型: 2 かた,がた
組: 2 くみ,ぐみ
球: 2 きゅう,たま
故郷: 2 こきょう,ふるさと
額: 2 がく,ひたい
粉: 2 こな,こ
金: 2 きん,かね
軒: 2 けん,のき
酒: 2 しゅ,さけ
際: 2 さい,きわ
印: 2 しるし,いん
品: 2 しな,ひん
氏: 2 し,うじ
末: 2 すえ,まつ
地方: 2 ちほう,じかた
玉: 2 たま,ぎょく
度: 2 ど,たび
敵: 2 てき,かたき
種: 2 たね,しゅ
解く: 2 とく,ほどく
便: 2 びん,べん
分: 2 ぶん,ぶ
文: 2 ぶん,ふみ
頬: 2 ほほ,ほお
仏: 2 ほとけ,ふつ
節: 2 ふし,せつ
瓶: 2 びん,かめ
街: 2 まち,がい
実: 2 み,じつ
綿: 2 めん,わた
夜中: 2 よなか,やちゅう
床: 2 ゆか,とこ
例: 2 れい,ためし
輪: 2 わ,りん
擦る: 2 する,かする
上下: 2 じょうげ,うえした
酢: 2 す,ず
強気: 2 つよき,ごうき
月日: 2 つきひ,がっぴ
艶: 2 つや,えん
盛る: 2 もる,さかる
館: 2 かん,やかた
揃い: 2 ぞろい,そろい
生死: 2 せいし,しょうし
造り: 2 づくり,つくり
尊い: 2 とうとい,たっとい
溜まり: 2 だまり,たまり
露: 2 ろ,つゆ
昼飯: 2 ひるめし,ちゅうはん
発: 2 はつ,ぱつ
多音的词组数量: 89