【python】tkinter界面化+百度API—语音翻译(二)

本博客通过Python的tkinter库设计界面,并结合百度API实现语音识别和翻译功能。首先在百度AI开放平台创建应用获取API key和Secre Key,然后利用这些信息调用通用文本翻译接口。界面包括录音、识别、翻译和播放功能,详细代码见正文。
摘要由CSDN通过智能技术生成

目录

 百度API

 tkineter界面设计

完整代码:


实现结果如下:

 百度API

这里实现语音翻译功能是结合上一遍的语音识别(https://blog.csdn.net/weixin_47292166/article/details/121273428)和新的百度API通用文本翻译去实现的。 所以我们仍需要在百度AI开放平台-全球领先的人工智能服务平台里去进行通用文本翻译的应用创建然后获取自己的ID、API key和Secre Key。

进入百度AI平台后选择开放能力下的语音技术-->自然语言处理-->通用文本翻译

 选择【立即使用】进入,然后选择【创建应用】,根据提示创建完成即可获得自己的ID、API key和Secre Key。

 对百度API的调用和access_token的获取以及具体参数使用方法可以参考里面的【技术文档内容https://ai.baidu.com/ai-doc/MT/4kqryjku9】,这里只说在代码里具体用到的内容。(看代码部分) 

 tkineter界面设计

1.界面的初始化及布局:

    def __init__(self):
        self.api_key = '语音翻译的key'
        self.secret_key = '语音翻译的secret'
        self.token = self.get_token(self.api_key, self.secret_key)

        self.ID = '语音识别的ID'
        self.Key = '语音识别的key'
        self.Secret = '语音识别的secret'
        # 用语音类创建对象
        self.client = AipSpeech(self.ID, self.Key, self.Secret)  # 语音识别对象
        #创建窗口
        self.screen = Tk()# Toplevel() # Tk()
        self.screen.resizable(width=False, height=False)
        self.screen.title('语音翻译')  #设置标题
        self. screen. geometry('500x800') #设置窗口大小

        # 打开图像,转为tkinter兼容的对象,
        img = Image.open('3.jpg').resize([500,800])
        self.img = ImageTk.PhotoImage(img)
        #创建画布,将图像作为画布背景, 铺满整个窗口
        self.canvas = Canvas(self.screen, width=500, height=800) #设置画布的宽、高
        self.canvas.place(x=0, y=0)
        self.canvas.create_image(250,400,image = self.img) #把图像放到画布,默认放置中心点
        self.canvas.create_text(250, 100, text='语音翻译', font=('宋体', 40))
        self.canvas.create_text(110, 170, text='原文:', font=('宋体', 20),fill = 'green')
        self.canvas.create_text(110, 270, text='译文:', font=('宋体', 20),fill = 'blue')

        # 创建标题标签
        # Label(self.screen, bg='royalblue', text='语音翻译', font=('宋体', 40), fg='white').pack(pady=90)  # 上下间隔100
        # 创建原文标签
        # Label(self.screen, bg='dodgerblue', text='原文:', font=('宋体', 20), fg='white').place(x=100, y=150)
        # 创建原文文本框
        self.original = Text(self.screen, width=22,height = 2, font=('宋体', 20))
        self.original.place(x=100, y=200)
        # 创建译文标签
        # Label(self.screen, bg='dodgerblue', text='译文:', font=('宋体
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张顺财

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值