zoukankan      html  css  js  c++  java
  • 人工智能第一篇--语音识别和语音合成

    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])#得到语音文件的文本内容
  • 相关阅读:
    array_values — 返回数组中所有的值
    array_unshift — 在数组开头插入一个或多个单元
    array_unique — 移除数组中重复的值
    array_uintersect — 计算数组的交集,用回调函数比较数据
    array_uintersect_uassoc — 带索引检查计算数组的交集,用单独的回调函数比较数据和索引
    职场中的起跑线上,从赢在一个办公邮箱开始
    可终身使用的会员邮箱靓号,到底有多酷?
    商务业务人员,用什么邮箱更能获得认可?
    电子邮箱有哪些类型,2020什么邮箱最火爆?
    外贸邮箱用哪个比较好?企业域名邮箱注册哪个好?
  • 原文地址:https://www.cnblogs.com/l1222514/p/10718452.html
Copyright © 2011-2022 走看看