人工智能第一篇--语音识别和语音合成

1.什么是人工智能?

  顾名思义就是由人创造的"智慧能力",具备听说看理解等能力.

  听 ==语音识别

  说 ==语音合成

  看 ==图像视频文字识别

  理解 ==语言(文字)图像视频理解等逻辑处理

  思考 ==理解后的逻辑处理

2.目前人工智能做了什么?

  语音识别:小米的小爱同学,苹果 的siri,微软的Cortana

  语音合成:小米的小爱同学,苹果 的siri,微软的Cortana

  图像识别:交通摄像头拍违章,刷脸解锁手机等

  视频识别:抖音内容审核,视频社交APP的审核机制

  文字识别:从身份证照片提取身份证号码,扫一扫翻译

3.人工智能平台 --百度AI:ai.baidu.com

  • 创建一个应用

  >>>>>>>>>>>>>>>>>>>>>>>

  • 创建好应用后,在查看应用详情时,会有几个重要的信息

  

  •  编辑:可以重新对一些接口的选择

  • 查看文档:对各种功能如语音识别,语音合成等等的介绍,使用方法,接口等的描述,通过查看文档可以快速的掌握各种功能

4.语音合成的实例:把文本合成语音

  • SDK:就是为某软件专门封装的接口

语音合成文档>>>>>>sdk文档>>>>>>>.Python文档(仔细阅读文档)

  1.Python SDK 接口能力:将文字转换成音频文件的技术

  2.注意事项  合成文本长度必须小于1024字节,如果本文长度较长,可以采用多次请求的方式。切忌文本长度超过限制

  3.安装语音合成Python SDK 

  • 如果已安装pip,执行pip install baidu-aip即可。
  • 如果已安装setuptools,执行python setup.py install即可。

   4.新建AipSpeech   

      AipSpeech是语音合成的Python SDK客户端,为使用语音合成的开发人员提供了一系列的交互方法。

  • 参考如下代码新建一个AipSpeech:
  • 参数对应的是,查看应用详情时,里面的几个重要的信息
from aip import AipSpeech

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

  5.把一段文字合成为语音文件(实例):

result  = client.synthesis('你好百度', 'zh', 1, {
    'vol': 5, #音量大小
    "spd":5,  #语速
    "pit":5,  #语调
    "per":1, #情感发音      
})

# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
    with open('audio.mp3', 'wb') as f:
        f.write(result)

      

5. 语音识别:将一个可读的语音文件转换成计算机可识别的字符串序列

  •  语音识别文档>>>>>>sdk文档>>>>>>>.Python文档(仔细阅读文档)
  • 支持的语音格式

     原始 PCM 的录音参数必须符合 8k/16k 采样率、16bit 位深、单声道,支持的格式有:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)。

  •  注意事项:目前系统支持的语音时长上限为60s,请不要超过这个长度,否则会返回错误。

5.1.安装语音合成Python SDK 

  • 如果已安装pip,执行pip install baidu-aip即可。
  • 如果已安装setuptools,执行python setup.py install即可。

5.2.新建AipSpeech 

  • 参数对应的是,查看应用详情时,里面的几个重要的信息
from aip import AipSpeech

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
  •  接口说明:向远程服务上传整段语音进行识别后返回字符串

 5.3.要对保存有一段语音的语音文件进行识别(实例):

# 读取文件
def get_file_content(filePath):

    with open(filePath, 'rb') as fp:
        return fp.read()

# 识别本地文件
ret = client.asr(get_file_content('audio2.pcm'), 'pcm', 16000, {
    'dev_pid': 1536,
})
print(ret.get('result')[0])#得到语音文件的文本内容
  •  dev_pid 参数列表

 

5.4.自动转换文件格式,然后识别文件   使用os模块

import os
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = '16027163'
API_KEY = 'wFXvuArTz8aWFou05jjs8XIG'
SECRET_KEY = 'Ty6jGhtdR9GzCs8smn5HRGNNwtz0QkUQ'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)


# 读取文件
def get_file_content(filePath):
    os.system(f'ffmpeg -y  -i {filePath}  -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm')
    with open(f'{filePath}.pcm', 'rb') as fp:
        return fp.read()


ret = client.asr(get_file_content('2.m4a'), 'pcm', 16000, {
    'dev_pid': 1536,
})
print(ret.get('result')[0])#得到语音文件的文本内容
原文地址:https://www.cnblogs.com/l1222514/p/10718452.html