用Python写一个简单的脸部识别项目(2)|谷歌语音api

上一篇[用Python写一个简单的脸部识别项目(1)|opencv 截取脸部图片]介绍了怎么用opencv 截取图片,我想实现的功能是识别出人脸后,按人名对其问好。
这就需要能够将文字转化声音的API,查到python的库里面有谷歌的API

基本思路

  • 写一个函数接收文字信息,调用谷歌API就能说话
  • 谷歌API能生成MP3文件,用pygame的包就能播放

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# -*- coding: utf-8 -*-
from gtts import gTTS
import pygame

class jatts():
def __init__(self,words='こんにちわ',filename='temp.mp3'):

self.filename = filename
self.words=words

def speak(self):
  #调用谷歌api将文字转成MP3
       #https://cloud.google.com/speech/docs/languages?hl=ja 查语言的代码
       #默认英文, 日文ja, 中文cmn-Hans-CN ,台湾腔 cmn-Hant-TW,粤语yue-Hant-HK
       tts = gTTS(text=self.words, lang='ja')
tts.save(self.filename)
       # mixer初始化
       pygame.mixer.init()
       # 读取MP3文件并播放
       with open(self.filename, 'rb') as file_object:
pygame.mixer.music.load(file_object)
           # 播放1次,-1是循环播放
           pygame.mixer.music.play(1)
           # 等待播放结束
           while pygame.mixer.music.get_busy():
pygame.time.Clock().tick(10)
pygame.mixer.music.stop()
pygame.mixer.quit()

#生成实例
speaker = jatts("aaaa")
speaker.speak()