如何一次性为所有文本添加语音指南?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何一次性为所有文本添加语音指南?相关的知识,希望对你有一定的参考价值。

我有一篇大约1000个中文单词的文章。我想在每个中文单词的顶部添加拼音指南(拼音)。

因此,在MS Words中,我使用了Phonetic Guide。但是,Phonetic Guide只允许我每次创建20到30个字的拼音。我试图寻找一个允许我一次为所有单词添加语音指南的功能,但我无法在线找到答案。

我也希望使拼音指南字体更大,并在中文文字和拼音之间创造更多空间。

任何专家都可以给我一些灯吗?

答案

不熟悉这个区域,但起点是你可以调用Phonetic Guide对话框并让它为选择创建拼音。例如

Sub testInsertPhoneticGuide()
Call insertPhoneticGuide(Selection.Range)
End Sub
Sub insertPhoneticGuide(r As Word.Range)
Dim d As Word.Dialog
Dim lng As Long
Dim lngChars As Long
Dim r1 As Word.Range
Dim r2 As Word.Range
On Error Resume Next
Set d = Word.Dialogs(wdDialogPhoneticGuide)
Set r1 = r.Duplicate
r1.TextRetrievalMode.IncludeFieldCodes = False
For lng = Len(r1.Text) To 1 Step -1
  Set r2 = r1.Characters(lng)
  ' Do not insert pinyin for any range that
  ' contains a field (this will prevent the code from re-inserting
  ' pinyin, but you can change the way this works if you like)
  If r2.Fields.Count = 0 Then
    r2.Select
    d.Show 1
    ' Error 6031 says there's no text to pinyin
    If Err.Number = 6031 Then
      Err.Clear
    Else
      On Error GoTo 0
    End If
  End If
Next
Set r2 = Nothing
Set r1 = Nothing
Set d = Nothing
End Sub

据我所知,没有办法在对话框中指定字体和大小/位置参数。它们不是“粘性的”。但是Phonetic指南用{EQ}字段替换每个合适的字符,该字段包含拼音和原始字符。 EQ看起来像这样:

{ EQ * jc2 * "Font:SimSun" * hps11 oad(sup 10(fā),发) }

所以只要你想要相同的字体,大小和位置,你应该能够显示所有的字段代码,并使用Word查找/替换来修改每个EQ字段中的那些值(或者你可以添加代码来修改每个字段的值你拼音的角色。

注意,Word的Range对象中还有一个PhoneticGuide()成员,可以指定拼音文本和定位参数。但是,要使用它你必须以某种方式获得拼音文本 - 我在Word中知道的唯一方法实际上是使用语音指南对话框来插入它,但我想在网上可以获得每个字符的必要信息。

另一答案

有一个inexpensive commercial app与Word集成并执行此操作。试用版将一次转换300个字符,并允许自动字体大小/颜色调整Word文档中的范围。

另一答案

如果有人再次提出这个问题,在寻找解决方案一段时间后,我设法通过使用以下两个工具将拼音添加到我的整个中文文档中:

1)Open Office

2)OO Pinyin Guide扩展办公室。

希望这可以帮助 : )

以上是关于如何一次性为所有文本添加语音指南?的主要内容,如果未能解决你的问题,请参考以下文章

统计参数语音合成的初学者指南

1000页文件文本到语音

python将文本转换成语音的代码

使用 SAPI 将语音转换为文本

Watson语音到文本 - 无法构造'WebSocket':URL包含片段标识符

如何使用Microsoft speech将文本到语音和语音到文本功能添加到SIP软件