OpenAI Whisper and ChatGPT 语音助手

这篇具有很好参考价值的文章主要介绍了OpenAI Whisper and ChatGPT 语音助手。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


麦克风输入,展示三种结果
  • 输入ASR结果
  • 输出文本
  • 输出TTS结果

OpenAI Whisper and ChatGPT 语音助手

一 环境准备

1.1 python

gradio==3.19.1
gTTS==2.3.1
openai==0.27.0
openai-whisper==20230124

1.2 windows

使用以下命令安装 ffmpeg

choco install ffmpeg

需要科学上网,否则连接超时

二 导入所需要的包

import whisper
import gradio as gr 
import time
import warnings
import json
import openai
import os
from gtts import gTTS

三 加载模型

openai.api_key='输入你自己的openai-key'
model = whisper.load_model("base")

四 定义openai和whisper接口

def chatgpt_api(input_text):
    messages = [
    {"role": "system", "content": "you are great!"}]
    
    if input_text:
        messages.append(
            {"role": "user", "content": input_text},
        )
        chat_completion = openai.ChatCompletion.create(
            model="gpt-3.5-turbo", messages=messages
        )
    
    reply = chat_completion.choices[0].message.content
    return reply

def transcribe(audio):
    language = "zh-CN"
    audio = whisper.load_audio(audio)
    audio = whisper.pad_or_trim(audio)
    mel = whisper.log_mel_spectrogram(audio).to(model.device)

    _, probs = model.detect_language(mel)

    options = whisper.DecodingOptions(fp16 = False)
    result = whisper.decode(model, mel, options)
    result_text = result.text
    
    out_result = chatgpt_api(result_text)
    
    audioobj = gTTS(text = out_result, 
                    lang = language, 
                    slow = False)
    
    audioobj.save("Aria.mp3")

    return [result_text, out_result, "Aria.mp3"]

五 生成Gradio Web UI

output_1 = gr.Textbox(label="Speech to Text")
output_2 = gr.Textbox(label="ChatGPT Output")
output_3 = gr.Audio("Aria.mp3")

gr.Interface(
    title = 'OpenAI Whisper and ChatGPT ASR Gradio Web UI', 
    fn=transcribe, 
    inputs=[
        gr.inputs.Audio(source="microphone", type="filepath")
    ],

    outputs=[
        output_1,  output_2, output_3
    ],
    live=True).launch()

参考:https://github.com/bhattbhavesh91/voice-assistant-whisper-chatgpt文章来源地址https://www.toymoban.com/news/detail-437171.html

到了这里,关于OpenAI Whisper and ChatGPT 语音助手的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入

    成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入 目录 1.解决问题 2.解决方法 电脑无法录制声音,经过查看发现问题,麦克风Realtek(R) Audio未插入 搜索框输入Realtek Audio Console→麦克风阵列→点击取消静音,即可! 哈哈,大功告成! 完工了!!

    2024年02月11日
    浏览(63)
  • mac 麦克风权限添加应用

    系统偏好设置 - 安全性与隐私 - 麦克风  右侧无 \\\"+\\\" 图标 没办法添加应用的麦克风权限 准备工作: 获取 游戏/程序 包名 找到安装应用的目录(下文是网易的 荒野行动 游戏),可以访达里搜 荒野行动 ,找到对应目录,找到目录下的一个Info.plist 文件,右键用 文本编辑.app或者其

    2024年02月06日
    浏览(67)
  • 麦克风阵列波束基本概念理解

    本质上是设计合适的滤波器,对于一类固定滤波器系数的阵列来说,无论输入信号或者噪声信号的统计特征如何,其滤波器系数固定不变,此类波束形成叫Fixed Beamforming,固定波束形成好比传统数字信号处理里面的经典滤波器;与此相对的一类就是自适应滤波器,阵列里就有

    2024年02月05日
    浏览(42)
  • ARM DIY(七)麦克风调试

    上篇文章介绍了扬声器调试,今天介绍下麦克风调试。 焊接:咪头、电阻、电容 音频调试时已完成,参考上篇文章 使能 mic1 录音 10s -f 是设置录音质量, -f cd 表示录音质量为 cd 级别。-d 是指定录音时间,单位是 s,这条指令就是录制一段 cd 级别 10s 的 wav 音频,音频名字为

    2024年02月10日
    浏览(38)
  • 电脑麦克风输入没声音,如何解决

    麦克风没声音,麦克风设置问题或硬件损坏问题。 若麦克风正常工作,电脑左下角会显示图标。

    2024年02月11日
    浏览(80)
  • 麦克风的分类和性能参数

    1. 前言 我们生活中处处可以见到麦克风的身影,耳机、话筒、手机、智能音箱……但有小伙伴就问了,不同的应用那该咋选麦克风呢,该关注哪些性能参数呢?那今天我们就来聊聊麦克风的那些事儿吧 2. 麦克风简介 麦克风是将声音转换为电信号的设备,广泛应用于电话、语

    2023年04月20日
    浏览(45)
  • ZK+麦克风:反AI音频认证

    当前,已越来越难以区分AI生成的音频与人类的声音。可能带来欺诈、身份盗用以及其它滥用问题。 在AI生成的音频可以完美模仿人声的当前环境中,需要一个可靠的信任链——从最初的音频捕获到最终的播放。这种信任链可以使用加密技术建立:经过认证的麦克风用于捕获

    2024年02月09日
    浏览(46)
  • 音频基础之麦克风、功放、扬声器

    一、功放(电信号放大)技术指标 1、输出功率 单位为W,各厂家测量方法不一,以致不同名目叫法。如额定输出功率,最大输出功率,音乐输出功率,峰值音乐输出功率。 音乐功率:是指输出失真度不超过规定值的条件下,功放对音乐信号的瞬间最大输出功率。 峰值功率:不

    2024年02月02日
    浏览(52)
  • k210实现麦克风阵列声源定位

    import sensor import image import lcd import time import KPU as kpu from fpioa_manager import * from Maix import GPIO # 设置麦克风阵列 fm.register(board_info.MIC_ARRAY_DATA, fm.fpioa.I2S0_IN_D0, force=True) fm.register(board_info.MIC_ARRAY_WS, fm.fpioa.I2S0_WS, force=True) fm.register(board_info.MIC_ARRAY_BCK, fm.fpioa.I2S0_SCLK, force=True) # 初始化

    2024年02月14日
    浏览(38)
  • Unity 使用 Microphone 采集麦克风声音

    1、获取麦克风,Microphone.devices 2、开始录音,Microphone.Start 3、结束录音,Microphone.End 1、MicrophoneWrapper 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

    2024年02月04日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包