use*_*690 21 vb.net mp3 google-translate
我从互联网上找到了这个代码,它使用了Google翻译的文本到语音功能.这是代码:
http://translate.google.com/translate_tts?tl=en&q="hello world"
Run Code Online (Sandbox Code Playgroud)
我知道如何在我的vb.net中调用它,但我不知道如何从谷歌翻译中保存MP3文件.我使用vb.net中的system.speech来获得此功能,但我特别需要从谷歌翻译获得演讲.那么,有没有人知道如何使用该URL保存谷歌翻译的声音文件?谢谢.
Bob*_*ble 21
自2015-12-21起,此代码在进一步更改Google TTS API后不再有效.如@ncpierson所示,需要一个新的附加参数tk
,我很难在shell脚本中计算它.我会尽可能地用新的编辑修改这个答案.
我不确定Windows,但在Linux中,这很容易从命令行.我使用命令行脚本下载文本字符串的英文音频:
#!/bin/bash
# write an English text string as an audio file using Google Translate
# usage: en2audio.sh <text>
wget -q -U Mozilla -O "$*.mp3" "http://translate.google.com/translate_tts?ie=UTF-8&client=t&tl=en&q=$*"
Run Code Online (Sandbox Code Playgroud)
我用中文做同样的事情(脚本有点简单,因为在单词之间没有空格来解析):
#!/bin/bash
# write a Chinese text string as an audio file using Google Translate
# usage: zh2audio.sh <text>
wget -q -U Mozilla -O $1.mp3 "http://translate.google.com/translate_tts?ie=UTF-8&client=t&tl=zh&q=$1"
Run Code Online (Sandbox Code Playgroud)
大多数Linux发行版都包含wget作为标准,但可以轻松下载(参见,例如,此链接).
(感谢@ncpierson client=t
参数).
小智 7
当我使用您的示例时,谷歌翻译页面运行的脚本生成了一个名为"translate_tts"的文件,没有文件扩展名.
使用此文件的一种简单方法是告诉您的浏览器,例如Mozilla [在"TOOLS"/"OPTIONS"/ APPLICATIONS]下保存音频文件 - 在这种情况下我相信它是一个MP3,即使没有扩展名.在任何情况下,选择audio/wave或audio/Mpg旁边的"ACTION"下的选项为"SAVE FILE".
当浏览器加载您的URL时,无论数据是什么,它都会下载名为"translate_tts"的文件.因此,在您的情况下,我会将文件名更改为"Hello-World.mp3".这样你就可以在硬盘上找到包含所需音频的文件,任何音频播放器都可以播放,最好是VLC媒体播放器,因为它几乎可以播放任何格式.
当然,如果您想要一个不同的音频,例如"Goodbye-World",您只需将您的URL更改为
http://translate.google.com/translate_tts?tl=en&q="Goodbye-World"
并重复上述步骤将文件另存为"Goodbye-World.mp3".