我正在为我的项目使用GoogleTrans。实际上,我在Marathi中有一个文本是从“语音转换为文本”获得的,但是当我将该文本转换为英语时,并不能正确翻译。
但是当我从网站上使用Google翻译时,它以100%的准确度正确翻译了吗?
这是一段代码:
import speech_recognition as sr
from cltk.corpus.utils.importer import CorpusImporter
from googletrans import Translator
import goslate
import googletrans
print("Hello World")
filename = r"C:\Users\TOSHIBA\Documents\Mini Project-2 (Trimester 4)\Project 1- (Document Summary)\Dataset\Voice\Gaurav.wav"
r = sr.Recognizer()
with sr.AudioFile(filename) as source:
audio_data = r.record(source)
text = r.recognize_google(audio_data,language='mr')
print("Text\n",text)
print(type(text))
translator = Translator()
converted_text = translator.translate(text)
print("Converted text\n",converted_text)
with open("D:/output.txt",'w',encoding="utf-8") as f:
f.write(text)
f.write(str(converted_text))
请提出建议,我该怎么办?
答案 0 :(得分:1)
https://pypi.org/project/googletrans是非官方软件包(不是Google创建的)。同样在免责声明中,它具有以下内容:“ ...此API不能保证该库在任何时候都能正常工作... ”。如果需要稳定性,请使用官方的Google API https://cloud.google.com/translate/docs
无论如何,以下是一项测试,以显示翻译员的工作:
from googletrans import Translator
translator = Translator()
results =translator.translate('हॅलो वर्ल्ड')
print(results.text)
输出:
Hello World
我不确定您遇到的问题。但是,我建议将代码重构为方法,然后可以进行单独测试。
下面的代码尚未经过 测试,但应有助于调试:
import speech_recognition as sr
#from cltk.corpus.utils.importer import CorpusImporter
from googletrans import Translator
#import goslate
#import googletrans
def provideAudioToText(filename):
r = sr.Recognizer()
with sr.AudioFile(filename) as source:
audio_data = r.record(source)
return r.recognize_google(audio_data,language='mr')
def translate(text):
translator = Translator()
results = translator.translate(text)
return results.text
def Save(filename, original_text, converted_text):
with open(filename,'w',encoding="utf-8") as f:
f.write(original_text)
f.write(str(converted_text))
original_text = provideAudioToText(r"C:\Users\TOSHIBA\Documents\Mini Project-2 (Trimester 4)\Project 1- (Document Summary)\Dataset\Voice\Gaurav.wav")
print("Text\n", original_text)
print(type(original_text))
converted_text = translate(original_text)
print("Converted text\n",converted_text)
Save("D:/output.txt", original_text, converted_text)