# -*- coding: UTF-8 -*-
'''参考
https://blog.csdn.net/qq_43280079/article/details/99684389
https://www.cnblogs.com/nightcatcher/p/11195068.html
https://blog.csdn.net/qq_40550296/article/details/84639380
https://ai.baidu.com/docs#/ASR-API-PRO/top
https://console.bce.baidu.com/ai/?fromai=1#/ai/speech/app/detail~appId=1311671
130xx-----456
pip install baidu-aip
pip install wave
pip install pyaudio
pip install numpy
http://ai.baidu.com/
'''
#从百度AI开放平台创建应用处获取
APP_ID = '17xxx03'
API_KEY = 'UNxxxxxxxxxxxxxxMc'
SECRET_KEY = '9snWxxxxxxxxxxxxxxTvrbusBLU60s'
#--

from aip import AipSpeech
import datetime
import wave
import pyaudio
import numpy
import os
import time

def wave_data1(wf):
    p = pyaudio.PyAudio()
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    nframes = wf.getnframes()
    framerate = wf.getframerate()
    # 读取完整的帧数据到str_data中,这是一个string类型的数据
    str_data = wf.readframes(nframes)
    wf.close()
    # 将波形数据转换为数组
    # A new 1-D array initialized from raw binary or text data in a string.
    wave_data = numpy.fromstring(str_data, dtype=numpy.short)
    # 将wave_data数组改为2列,行数自动匹配。在修改shape的属性时,需使得数组的总长度不变。
    wave_data.shape = -1, 2
    # 将数组转置
    wave_data = wave_data.T
    # time 也是一个数组,与wave_data[0]或wave_data[1]配对形成系列点坐标
    # time = numpy.arange(0,nframes)*(1.0/framerate)
    # 采样点数,修改采样点数和起始位置进行不同位置和长度的音频波形分析
    N = 44100
    start = 0  # 开始采样位置
    df = framerate / (N - 1)  # 分辨率
    freq = [df * n for n in range(0, N)]  # N个元素
    wave_data2 = wave_data[0][start:start + N]
    return wave_data2
def record(time):    #录音程序
    CHUNK = 1024
    FORMAT = pyaudio.paInt16
    CHANNELS = 1
    RATE = 16000 #百度语音接口只提供16000和8000两种采样率在此采样16000采样,如果要8000把下面shibie()第7行16000改成8000
    RECORD_SECONDS =time
    WAVE_OUTPUT_FILENAME = "output.wav"
    p = pyaudio.PyAudio()
    stream = p.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    input=True,
                    frames_per_buffer=CHUNK)
    print("* Recording...")
    print('开始说话或者播放声音文件(一分钟),录音为同一个文件夹output.wav')

frames = []
    for i in range(0,int(RATE / CHUNK * RECORD_SECONDS)):
        data = stream.read(CHUNK)
        frames.append(data)
    print("* done recording")

stream.stop_stream()
    stream.close()
    p.terminate()
    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
    wf.setnchannels(CHANNELS)
    wf.setsampwidth(p.get_sample_size(FORMAT))
    wf.setframerate(RATE)
    wf.writeframes(b''.join(frames))
    wf.close()

def shibie1():

APP_ID = '1xxx3'
    API_KEY = 'UNAxxxxxxrFnMc'
    SECRET_KEY = '9snWxxxxxxxusBLU60s'
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    file_handle = open('output.wav', 'rb')
    file_content = file_handle.read()
    result=client.asr(file_content, 'wav', 16000, {'dev_pid': '1936',})
    if result['err_no'] == 0:
        print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + " >> " + result['result'][0])
    else:
        print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + " >> " + "err_no:" + str(result['err_no']))
    answerlog = str(result['result'][0])
    with open("wenzilog.txt", "wt") as rbfile:
        rbfile.write(answerlog)
    time.sleep(2)
    os.startfile('wenzilog.txt')
record(60)#定义录音时间,单位/s
print('录音结束,30秒后为你录音变成文字,文字输出wenzilog.txt,你也可以此时马上覆盖其他现有音频,名字用output.wav')
time.sleep(30)
shibie1()

#

'''

————办公学习——

robin-office2022-322b链接:https://pan.baidu.com/s/1bOFJkeZJQLG6W2TIg2b-qg 码:0322

内容:(Rogabet-note)老罗云笔记旗舰(md支持)+思源字+libreoffice+ ofd+wps+mso修复及pdf-abbyy+特快找文件,办公格式转化,文件管理,作文搜索+大学各种科目题目 vpw向日葵等

Rogabet-note老罗笔记高级2022322链接:https://pan.baidu.com/s/1wFnI-T6g-NB5ZcC6Vxkmrg 码:0322

功能: 微信对话和收发zip文件,文字转二维码,可存md\txt\log\xlsx\html\note加密,定时保存防丢失,云保存,插入机器硬件信息,提取csv docx pdf pptx excel里文字插入,朗读,加密,收发邮件且可查记录,pdf双向转化多格式,导出xlsx,下网页或zip等,计时和批量录音转文字 切割wav 不定长录音,批量word\ppt转pdf,并割txt、批量发微信,多表合并 拆分 ,表格数据对比,找文件(关键词\像素),批量提取图中文字,中日英翻译,思维图,数据图表,日历行程,各种解方程, 股票k线数据,网址收藏管理 地图,csv/xlsx转图-数据可视化 网页长图截取  批量表求和,抽取制定行,傻瓜出图表,批量ppt2jpg 批量改多个表格单元格等.

————开发学习——

psy-py-jdk.tools2022-324链接:https://pan.baidu.com/s/1cyAF6OMwlDrHzTIY7FnWew 码:0324

内容:python模块库和工具文档代码,mysql redis vscode-文本加工py-人脸识别 爬虫笔记 django3-drf-md笔记代码样本 postman navicat jdk8 高中各种科目笔记 xmind w11-7style等

————维修系统——

yolan-pack207链接:https://pan.baidu.com/s/1UNTTbzUT9nsET0j3naYkTA 取码:8888

内容:装机ji活 运行库 必备插件 win11tools,火绒安全,pe, 垃圾屏蔽+优启通37py版,加强数据恢复,装机源txt,mac+装win10指南等

————媒体处理——

Bofey-media209链接:https://pan.baidu.com/s/1kGubk5ciT17LVyE7s7Zr6A 码:0209

内容:VLC,pot播放 驱动精灵 键盘钢琴录音,媒体加工+格式转化,多网络远程vpw系统办公 邮箱,mac-tools 电影歌曲下载工具 python书+维基 路线查询和度盘神器等

————综合———

网址rogabet.xyz点黑图获所有链接,

阿里址www.aliyundrive.com/s/HGft9JyRuDA

以后网站 rogabet.xyz左下角点击src有阿里云装机资源.

综合以上所有的百度链接:https://pan.baidu.com/s/1a_-_M9j7V_lgTI4ZSQBp2Q 码:8888

'''

语音识别转文字python相关推荐

  1. python 实现语音转文字_python3实现语音转文字(语音识别)和文字转语音(语音合成)...

    话不多说,直接上代码运行截图 1.语音合成 -------> 执行: 结果: 输入要转换的内容,程序直接帮你把转换好的mp3文件输出(因为下一步–语音识别–需要.pcm格式的文件,程序自动执行格 ...

  2. python离线录音转文字_python3实现语音转文字(语音识别)和文字转语音(语音合成)...

    话不多说,直接上代码运行截图 1.语音合成 -------> 执行: 结果: 输入要转换的内容,程序直接帮你把转换好的mp3文件输出(因为下一步–语音识别–需要.pcm格式的文件,程序自动执行格 ...

  3. 语音识别实战(python代码)(一)

    语音识别实战 (python :pyttsx.SAPI.SpeechLib实例代码)(一) 本文目录: 一.语音识别的基本原理 (1).语音识别的起源与发展 (2).语音识别的基本原理 (3).语音识 ...

  4. java自制语音识别,老司机搞定java使用语音识别将文字转换成语音

    电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到java使用语音识别将文字转换成语音的问题,如果我们遇到了java使用语音识别将文字转换成语音的情况,该怎么处理怎么才能 ...

  5. 免费语音识别成文字_免费在线语音识别成文字_语音识别文字免费软件 - 云+社区 - 腾讯云...

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 腾讯云语音识别(asr) 为开发者提供语音转文字服务的最佳体验. 语音识 ...

  6. 微信小程序录音 第一篇 (基于微信小程序及百度AI的 人员语音识别转文字显示小程序)

    基于微信小程序及百度AI的 人员语音识别转文字显示小程序 基于微信小程序及百度AI的 人员语音识别转文字显示小程序主要分3篇 1.微信小程序录音篇(小程序基于wx.startRecord()微信语音录 ...

  7. python 语音识别_带有Python的AI –语音识别

    python 语音识别 带有Python的AI –语音识别 (AI with Python – Speech Recognition) In this chapter, we will learn a ...

  8. python提取微信聊天语音_GitHub - dennischancs/wechat-asr: 微信语音批量转文字 python编写 用百度智能云短语音识别API实现 windows下的使用...

    WeChat-ASR 微信语音批量转文字 调用百度智能云短语音识别API 目前仅支持安卓手机+Windows 简介 最近线上办公,很多小会议或者讲座等也在微信群里,有时需要记录保存会议讲话内容,也可能 ...

  9. 开源python语音识别_5 款不错的开源语音识别/语音文字转换系统

    语音文字转换(speech-to-text)(STT)系统就像它名字所蕴含的意思那样,是一种将说出的单词转换为文本文件以供后续用途的方式. 语音文字转换技术非常有用.它可以用到许多应用中,例如自动转录 ...

最新文章

  1. 一行代码:你的纯文本秒变Markdown
  2. 三菱fb功能块手册中文_技成周报33期 | 三菱、西门子全系列这34个问题值得一看!...
  3. 这款多线程中间件,吊打 Redis!
  4. KVM(Keyboard、Video、Mouse)
  5. WPF DatePicker 默认显示当前时间
  6. 福州java培训哪里好_广州java学习哪里好?需要学多长时间
  7. CodeForces 1096D(线性dp)
  8. c语言入门中冒泡排序的例题,选择排序和冒泡排序例题解析(c语言)
  9. 第三次学JAVA再学不好就吃翔(part9)--基础语法之键盘录入
  10. CF924D. Contact ATC
  11. Fabric 报错:java.lang.IllegalArgumentException: UserContext user‘s name missing.
  12. 5.4shell编程3
  13. python爬取网页文字和图片_简单的爬虫:爬取网站内容正文与图片
  14. 如何在页面显示json数据
  15. Python基础--01
  16. 【nginx流程分析之初始化cycle】
  17. 画象棋棋盘c语言程序设计教程课后答案,绘制中国象棋棋盘(c语言)
  18. python自动化框架搭建过程我们同在_python webdriver 从无到有搭建混合驱动自动化测试框架的过程和总结...
  19. 常山浙西计算机学校,常山这所最早的学校你上过吗?历经三个世纪,他依然在最初的地方等你……...
  20. 技术领导力 程序员如何才能带团队 文摘 (一)

热门文章

  1. ITIL V3 Foundation考试通过心得
  2. Memblaze明年进军全闪存阵列市场
  3. Flink安装及运行说明
  4. idea找不到依赖库
  5. 百度网页搜索要改版了(z)
  6. html页面左侧广告悬浮窗
  7. Mybatis中XML的文件SQL语句与动态sql标签(trim|where|set|foreach|if|choose|when|otherwise|bind)
  8. 集成AD域,前端实现免登录
  9. 承德石油高等专科学校计算机20019年,承德石油高等专科学校2019年高职扩招录取人数...
  10. 银行数字化转型导师坚鹏:商业银行对公业务数字化风控