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

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

问题背景

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