46行代码实现免费语音识别,用过的人当场拍桌子大叫一声“好”!

这篇具有很好参考价值的文章主要介绍了46行代码实现免费语音识别,用过的人当场拍桌子大叫一声“好”!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.在做一些语音项目的时候,每次都要调用API,百度的或者是科大讯飞的,要钱贵不说,识别效果还差的要命,此事苦其久也。
语音识别代码实现,人工智能算法,语音识别,人工智能
2.使用python3.8及以上的编译器。
语音识别代码实现,人工智能算法,语音识别,人工智能
3.安装pyaudio库包,该库包是用来进行实时语音录制和保存的。使用以下命令:

pip install pyaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

语音识别代码实现,人工智能算法,语音识别,人工智能
4.安装whisper库包,该库包是用来进行语音转文字识别。使用以下命令:

pip install openai-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple

语音识别代码实现,人工智能算法,语音识别,人工智能
5.安装和配置ffmpeg软件,后面配合录音使用,安装配置好后检测如下。
语音识别代码实现,人工智能算法,语音识别,人工智能

6.新建一个.py文件,比如"语音识别.py"文件。
语音识别代码实现,人工智能算法,语音识别,人工智能
7.准备编写代码,首先导入以下四个库包。

import whisper
import zhconv
import wave  # 使用wave库可读、写wav类型的音频文件
import pyaudio  # 使用pyaudio库可以进行录音,播放,生成wav文件

语音识别代码实现,人工智能算法,语音识别,人工智能
8.定义一个录音函数,同时在录音函数中定义数据流块。

def record(time):  # 录音程序
    # 定义数据流块
    CHUNK = 1024  # 音频帧率(也就是每次读取的数据是多少,默认1024)
    FORMAT = pyaudio.paInt16  # 采样时生成wav文件正常格式
    CHANNELS = 1  # 音轨数(每条音轨定义了该条音轨的属性,如音轨的音色、音色库、通道数、输入/输出端口、音量等。可以多个音轨,不唯一)
    RATE = 16000  # 采样率(即每秒采样多少数据)
    RECORD_SECONDS = time  # 录音时间
    WAVE_OUTPUT_FILENAME = "./output.wav"  # 保存音频路径
    p = pyaudio.PyAudio()  # 创建PyAudio对象
    stream = p.open(format=FORMAT,  # 采样生成wav文件的正常格式
                    channels=CHANNELS,  # 音轨数
                    rate=RATE,  # 采样率
                    input=True,  # Ture代表这是一条输入流,False代表这不是输入流
                    frames_per_buffer=CHUNK)  # 每个缓冲多少帧
    print("* recording")  # 开始录音标志
    frames = []  # 定义frames为一个空列表

语音识别代码实现,人工智能算法,语音识别,人工智能
9.计算声音数据,准备保存实时声音数据到列表。

    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):  # 计算要读多少次,每秒的采样率/每次读多少数据*录音时间=需要读多少次
        data = stream.read(CHUNK)  # 每次读chunk个数据
        frames.append(data)  # 将读出的数据保存到列表中
    print("* done recording")  # 结束录音标志

    stream.stop_stream()  # 停止输入流
    stream.close()  # 关闭输入流
    p.terminate()  # 终止pyaudio

语音识别代码实现,人工智能算法,语音识别,人工智能
10.将保存在列表中的声音数据以二进制的形式保存在一个wav声音文件中。

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')  # 以’wb‘二进制流写的方式打开一个文件
    wf.setnchannels(CHANNELS)  # 设置音轨数
    wf.setsampwidth(p.get_sample_size(FORMAT))  # 设置采样点数据的格式,和FOMART保持一致
    wf.setframerate(RATE)  # 设置采样率与RATE要一致
    wf.writeframes(b''.join(frames))  # 将声音数据写入文件
    wf.close()  # 数据流保存完,关闭文件

语音识别代码实现,人工智能算法,语音识别,人工智能
11.继续定义一个main函数,该函数的功能是加载base语音模型(提示:该语音模型会自动下载),将实时语音以中文形式翻译成文字输出。

def main():
    model = whisper.load_model("base")
    record(5)  # 定义录音时间,单位/s
    result = model.transcribe("output.wav", language='Chinese', fp16=False)
    s = result["text"]
    s1 = zhconv.convert(s, 'zh-cn')
    print(s1)

语音识别代码实现,人工智能算法,语音识别,人工智能
12.最后,写一个运行入口,运行main函数。

if __name__ == '__main__':
    main()

语音识别代码实现,人工智能算法,语音识别,人工智能

13.运行“语音识别.py”文件,
语音识别代码实现,人工智能算法,语音识别,人工智能

14.运行后,说出“晚上睡不着怎么办”,查看效果。
语音识别代码实现,人工智能算法,语音识别,人工智能
15.完整代码展示

import whisper
import zhconv
import wave  # 使用wave库可读、写wav类型的音频文件
import pyaudio  # 使用pyaudio库可以进行录音,播放,生成wav文件

def record(time):  # 录音程序
    # 定义数据流块
    CHUNK = 1024  # 音频帧率(也就是每次读取的数据是多少,默认1024)
    FORMAT = pyaudio.paInt16  # 采样时生成wav文件正常格式
    CHANNELS = 1  # 音轨数(每条音轨定义了该条音轨的属性,如音轨的音色、音色库、通道数、输入/输出端口、音量等。可以多个音轨,不唯一)
    RATE = 16000  # 采样率(即每秒采样多少数据)
    RECORD_SECONDS = time  # 录音时间
    WAVE_OUTPUT_FILENAME = "./output.wav"  # 保存音频路径
    p = pyaudio.PyAudio()  # 创建PyAudio对象
    stream = p.open(format=FORMAT,  # 采样生成wav文件的正常格式
                    channels=CHANNELS,  # 音轨数
                    rate=RATE,  # 采样率
                    input=True,  # Ture代表这是一条输入流,False代表这不是输入流
                    frames_per_buffer=CHUNK)  # 每个缓冲多少帧
    print("* recording")  # 开始录音标志
    frames = []  # 定义frames为一个空列表
    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):  # 计算要读多少次,每秒的采样率/每次读多少数据*录音时间=需要读多少次
        data = stream.read(CHUNK)  # 每次读chunk个数据
        frames.append(data)  # 将读出的数据保存到列表中
    print("* done recording")  # 结束录音标志

    stream.stop_stream()  # 停止输入流
    stream.close()  # 关闭输入流
    p.terminate()  # 终止pyaudio

    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')  # 以’wb‘二进制流写的方式打开一个文件
    wf.setnchannels(CHANNELS)  # 设置音轨数
    wf.setsampwidth(p.get_sample_size(FORMAT))  # 设置采样点数据的格式,和FOMART保持一致
    wf.setframerate(RATE)  # 设置采样率与RATE要一致
    wf.writeframes(b''.join(frames))  # 将声音数据写入文件
    wf.close()  # 数据流保存完,关闭文件
def main():
    model = whisper.load_model("base")
    record(5)  # 定义录音时间,单位/s
    result = model.transcribe("output.wav", language='Chinese', fp16=False)
    s = result["text"]
    s1 = zhconv.convert(s, 'zh-cn')
    print(s1)

if __name__ == '__main__':
    main()

语音识别代码实现,人工智能算法,语音识别,人工智能
16.最后,运行成功的同学记得一键三连!有问题评论区见!
语音识别代码实现,人工智能算法,语音识别,人工智能文章来源地址https://www.toymoban.com/news/detail-772968.html

到了这里,关于46行代码实现免费语音识别,用过的人当场拍桌子大叫一声“好”!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 那些年我们用过的机械键盘【一把键盘,无限可能】

    ❤写在前面:看标题就知道这是一期安利的文章,是来自博主的亲身体验,键盘对于程序员的意义,就像是你的左膀右臂,文章将 从K1~K8,Q1测评 ,希望能为你排忧解难! ❤博客主页: 努力的小鳴人 ❤下面我们直接进入正题! Keychron是一个网红机械键盘,可以同时兼容多款操

    2024年01月17日
    浏览(30)
  • OpenAI开源!!Whisper语音识别实战!!【环境配置+代码实现】

    目录 环境配置 代码实现 ******  实现 .mp4转换为 .wav文件,识别后进行匹配并输出出现的次数 ******  完整代码实现请私信 安装 ffmpeg 打开网址   https://github.com/BtbN/FFmpeg-Builds/releases 下载如下图所示的文件 下载后解压  我的路径是G:ffmpeg-master-latest-win64-gpl-shared

    2024年02月13日
    浏览(42)
  • 【语音识别】基于主成分分析PCA结合最近邻KNN实现声音自动分类附matlab代码

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信       无

    2024年04月27日
    浏览(54)
  • 【语音识别】连续语音数字电话按键语音识别附Matlab代码

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信       无

    2024年02月21日
    浏览(33)
  • 本地化部署离线开源免费语音识别API,支持多模态AI能力引擎

    思通数科作为一家专注于多模态AI能力开源引擎平台,其技术产品涵盖了自然语言处理、情感分析、实体识别、图像识别与分类、OCR识别以及语音识别等多个领域。在语音识别这一细分市场,思通数科的技术产品中的音频文件转写服务有着相似的应用场景和功能特点。 思通数

    2024年04月12日
    浏览(49)
  • ChatGPT迎来史诗级iPhone时刻!IOS版ChatGPT首发体验!免费、响应快、新增语音识别

    OpenAI昨晚正式发布了ChatGPT的iOS版App, 官方版ChatGPT正式杀入移动手机端(各类山寨App恐将失业[dog])。   现在你已经可以在App Store中下载该应用了,这款App的名称为“OpenAI ChatGPT”。 我第一时间也下载体验了,让我们赶快来看看它的界面长啥样:    不过目前iOS版ChatGPT只在

    2024年02月05日
    浏览(74)
  • 语音识别实战(python代码)(一)

      (python :pyttsx、SAPI、SpeechLib实例代码)(一) 本文目录: 一、语音识别的基本原理 (1)、语音识别的起源与发展 (2)、语音识别的基本原理 (3)、语音识别过程 (4)、语音识别的近期发展 二、Python 语音识别 (1)、文本转换为语音 (2)、文本转存为语音文件wav 三、总结

    2023年04月09日
    浏览(25)
  • Matlab语音识别系统(源代码)

    目录 设计任务及要求………………………………………………1 语音识别的简单介绍 语者识别的概念……………………………………………2   特征参数的提取……………………………………………3   用矢量量化聚类法生成码本………………………………3   的说话人识别

    2024年01月19日
    浏览(36)
  • 【语音识别入门】特征提取(Python完整代码)

    1.1数字信号处理基础 在科学和工程中遇到的大多数信号都是连续模拟信号,例如电压随着时间变化,一天中温度的变化等等,而计算机智能处理离散的信号,因此必须对这些连续的模拟信号进行转化。通过 采样–量化 来转换成数字信号。 以 正弦波 为例: x ( t ) = s i n ( 2 Π

    2024年01月17日
    浏览(23)
  • 最新ai创作系统CHATGPT镜像系统源码+支持GPT4.0+支持ai绘画(MJ)+实时语音识别输入+免费更新版本

    SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统+AI绘画系统,支持OpenAI GPT全模型+国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧

    2024年02月13日
    浏览(100)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包