音読さん

 従来から、単語帳データベースのための音声ファイルの作成は、グーグル翻訳の読み上げ機能を使用していました。しかし、稀にグーグルの発音では都合が悪い場合も有り、苦労していました。

 そんな折、興味深いサイト( https://ondoku3.com/ja/ )を発見しました。

 

 グーグル翻訳と違って翻訳機能は有りませんし、APIも使えないようで音声ファイルを手動でダウンロードする必要はありそうです。しかし設定できるバリエーションが豊富そうなので、いずれかの設定で所望の読み上げを期待することはできそうです。

 以下は、「音読さん」からダウンロードしたmp3ファイルをデータベースに登録する為のスクリプトです。base64により可読性を持たせ、指定した ID のレコードのvoiceカラムをupdateします。その後、concat 関数によりjaカラムの末尾に音読さんのクレジットを追記しています。

 

#!/bin/bash
sdoc=\
"ed_voice               \n"\
" 中国語教室復習データベースの\n"\
" 音声データを編集します。\n\n"\
" [require]\n"\
"  id: データベースのID \n\n"\
" [input]\n"\
" 音読くんからのmp3音声ファイル\n"\
" ed_voice id=??? < *****.mp3\n"\
"\n\n\n"
export sdoc
id=`getparstr $# "$*" "id"`

if [ -z ${id} ]
then
  usage;exit
fi

# データベース名とIPアドレスは秘匿しています
DB=XXXXX
host=nnn.nnn.nnn.nn voice=`\ cat /dev/stdin |\ base64 -w0` # BASE64エンコードした音声をデータベース更新する # 「音読さん」のクレジットを追加します mysql -N -h ${host} ${DB} << _SQL_ update vocabulary set voice="${voice}" where id=${id}; update vocabulary set ja=concat(ja,"【音声は「©音読さん」使用】") where id=${id}; _SQL_