googletrans
库本身并不直接支持获取翻译文本的发音功能。不过,你可以结合其他库来实现这一功能。一个常见的选择是使用 gTTS
(Google Text-to-Speech)库来将文本转换为语音。
安装 gTTS
首先,你需要安装 gTTS
库:
pip install gtts
结合 googletrans
和 gTTS
下面是一个示例代码,展示如何使用 googletrans
进行翻译,然后使用 gTTS
获取翻译文本的发音并保存为 MP3 文件:
from googletrans import Translator, LANGUAGES
from gtts import gTTS
import os
def translate_and_get_pronunciation(text, dest_language):
# 创建一个 Translator 实例
translator = Translator()
# 检查目标语言是否有效
if dest_language not in LANGUAGES:
print(f"Unsupported language: {dest_language}")
return
# 翻译文本
translation = translator.translate(text, dest=dest_language)
# 输出原始文本和翻译后的文本
print(f"Original ({LANGUAGES[translation.src]}): {text}")
print(f"Translated ({LANGUAGES[dest_language]}): {translation.text}")
# 使用 gTTS 获取翻译文本的发音
tts = gTTS(text=translation.text, lang=dest_language)
# 保存为 MP3 文件
filename = f"pronunciation_{dest_language}.mp3"
tts.save(filename)
print(f"Pronunciation saved as {filename}")
# 示例调用
text_to_translate = "Hello, how are you?"
destination_language = 'zh-cn' # 翻译成中文(简体)
translate_and_get_pronunciation(text_to_translate, destination_language)
说明
- 翻译文本:使用
googletrans
库将输入文本翻译为目标语言。 - 获取发音:使用
gTTS
库将翻译后的文本转换为语音,并保存为 MP3 文件。 - 输出信息:打印原始文本、翻译后的文本以及保存的 MP3 文件名。
运行结果
运行上述代码后,你将会看到如下输出:
Original (English): Hello, how are you?
Translated (Chinese (Simplified)): 你好,你好吗?
Pronunciation saved as pronunciation_zh-cn.mp3
同时,你会在当前目录下找到一个名为 pronunciation_zh-cn.mp3
的文件,里面包含了翻译文本的发音。
注意事项
gTTS
库同样需要网络连接来获取语音数据。- 如果你需要在离线环境中获取发音,可以考虑使用本地的 TTS 引擎,如
espeak
或festival
,但这需要额外的配置和安装。
希望这对你有帮助!如果有任何问题或需要进一步的帮助,请告诉我。