logiblo

ロジのめもちょうです。本サイトはこちら→https://logica-physica.info/

SayKotoeri2で詰まりまくった

Ustream配信時、Twtterのソーシャルストリームを読み上げる for Mac」というPythonスクリプトを作りました。
そこでSayKotoeri2を使ったのですが、ツイートによってエラーが出まくって詰まりまくったのでメモ(SayKotoeriでも同じだと思います)。

  1. AAはとにかく危険。記号等はあらかじめSayKotoeri2に渡す前に削除してやる必要がある
  2. 発音du(ヅ|づ)、発音di(ヂ|ぢ)もエラーになる。ので、あらかじめzu(ず)、zi(じ)に変換するという力技対処……

1については、

string = re.sub(ur'[^\u0020-\u007E\u0082\u0085\u0091-\u0094\u00A5\u00AB\u00B1\u00BB\u00F7\u2018-\u201F\u203B\u2212-\u2219\u221E\u22EF\u25A0\u25A1\u3000-\u303F\u3040-\u30FF\u4E00-\u9FFF\uFF01-\uFF9F]', u' ', string)

で対処。ASCII文字、ひらがな片仮名、全角英数、CJK統合漢字、句読点、ごく一部の記号以外は削除してます。汚物は消毒だァーーーーー!!!!

2については、

string = re.sub(u'[ぢ|ヂ]', u'じ', string)
string = re.sub(u'鼻血', u'はなじ', string)
string = re.sub(u'縮', u'ちじ', string)

としてますが、まだひっかかる語句があるかもしれないので、随時追記予定。