我安装了 libreoffice 的 read text 扩展。我想放慢语速。我打开后->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)"
上面的以下命令打开 totem video 并播放所选文本的临时预录音频文件。我无法在 Totem Video 中找到降低音频播放速率的选项。我将默认程序更改为 VLC,但这不会影响上述代码。我在vlc
旁边添加了一行--output
,但并未打开 vlc。
如何在 Libreoffice 的“阅读文本扩展”中降低语速?
答案1
您需要修改由阅读文本扩展安装的文件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
这将使用-s <integer>
选项espeak
(速度以每分钟字数计算,默认值为 160)
linuxfreebird 的补充说明
该代码对空间敏感。
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
。如果存在空格错位,代码将无法正确执行。
答案2
通过阅读上述内容并研究正确的文件,我发现我可以更改阅读文本对话框。我没有修改文件本身。我只是--rate=35% --pitch=65%
在对话框中添加了代码。
"(PICO_READ_TEXT_PY)" --language=(SELECTION_LANGUAGE_COUNTRY_CODE) --visible=false --rate=35% --pitch=65% "(TMP)"
请参阅此处添加了代码的“阅读文本”对话框的屏幕截图:
答案3
感谢您上述建议,这让我意识到,至少在最新版本(阅读文本 0.8.70)中,开发人员在“命令行选项”字段中提供了许多可选择的选项,例如:
“(TTS_WSCRIPT_VBS)”/语言:“(SELECTION_LANGUAGE_COUNTRY_CODE)”/评分:-2“(TMP)”。
改变阅读速度。速度从 0(显然没有变化)到 -10(慢得令人无法忍受)。你可以用正整数加快速度。它还具有法语的所有速度选项。太棒了!