Libreofficeのreadtextextensionをインストールしました。発話速度を遅くしたい。 ->tools->add ons->read selection
を開いて、次のポップアップメニューを見つけました
#read with an external program
/usr/bin/python2.7
#command line options
"(ESPEAK_READ_TEXT_PY)" --language=(SELECTION_LANGUAGE_COUNTRY_CODE) --output "(HOME)(NOW).wav" "(TMP)"
上記の次のコマンドは、トーテムビデオを開き、選択したテキストの一時的な録音済みオーディオファイルを再生します。トーテムビデオでオーディオ再生速度を下げるオプションが見つかりません。デフォルトのプログラムをVLCに変更しましたが、上記のコードには影響しませんでした。 --output
の横にvlc
という行を追加しましたが、vlcは開きませんでした。
LibreofficeのReadText Extensionの発話速度をどのように下げるのですか?
読み取りテキスト拡張機能espeak_read_text_file.py
によってインストールされたファイルを変更する必要があります。
まず、システムでこのファイルを見つけます。
$ Sudo updatedb
$ locate espeak_read_text_file.py
/home/sylvain/.config/libreoffice/4/user/extensions/tmp/extensions/lukglria.tmp_/read_text.0.8.20.oxt/python/espeak_read_text_file.py
/home/sylvain/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lukglrib.tmp_/read_text.0.8.20.oxt/python/espeak_read_text_file.py
~/.config/libreoffice/4/user/uno_packages
にあるものを開きます。
155行目では、次のようなコマンドが表示されます。
s1='"'+sCommand+'" -v '+sVoice+' -w "'+sTMP1+'" '+sTXT
代わりにこれに変更してください:
s1='"'+sCommand+'" -s 120 -v '+sVoice+' -w "'+sTMP1+'" '+sTXT
これは、espeak
の-s <integer>
オプションを使用します(1分あたりの単語数での速度、デフォルトは160)
コードはスペースに依存します。
if "windows" in platform.system().lower():
sCommand=readtexttools.getWinFullPath("eSpeak/command_line/espeak.exe")
# s1='"'+sCommand+'" -v '+sVoice+' -w "'+sTMP1+'" '+sTXT
s1='"'+sCommand+'" -s 140 -v '+sVoice+' -w "'+sTMP1+'" '+sTXT
readtexttools.myossystem(s1)
readtexttools.ProcessWaveMedia(sB,sTMP1,sIMG1,sOUT1,sAUDIBLE,sVISIBLE)
s1
で始まる行が、上記のコードで示されたreadtexttools
とインラインになっていることを確認してください。それらがスペースのずれである場合、コードは正しく実行されません。
上記を読んで正しいファイルを調べたところ、[テキストを読む]ダイアログボックスでレートとピッチを変更できることがわかりました。ファイル自体は変更しませんでした。ダイアログボックスのコードに_--rate=35% --pitch=65%
_を追加しました。
"(PICO_READ_TEXT_PY)" --language=(SELECTION_LANGUAGE_COUNTRY_CODE) --visible=false --rate=35% --pitch=65% "(TMP)"
ここにコードが追加された[テキストの読み取り]ダイアログボックスのスクリーンキャプチャを参照してください。