当前位置: 首页 > wzjs >正文

邢台做网站的价格究竟多少钱?网站推广基本预算

邢台做网站的价格究竟多少钱?,网站推广基本预算,网络服务费税率是多少,哪个平台做网站比较好一、整体结构与思路 这份程序的核心目的是: 用麦克风录音 ➜ 识别说话人是谁 ➜ 图形化展示 ➜ 语音播报反馈 它主要由 4 个部分组成: 全局配置和依赖加载 语音采集和声纹提取逻辑 图形界面与交互(PyQt5) 语音播报反馈系统 …

一、整体结构与思路

这份程序的核心目的是:

用麦克风录音 ➜ 识别说话人是谁 ➜ 图形化展示 ➜ 语音播报反馈

它主要由 4 个部分组成:

  1. 全局配置和依赖加载

  2. 语音采集和声纹提取逻辑

  3. 图形界面与交互(PyQt5)

  4. 语音播报反馈系统

二、各部分代码作用详解

 1. 导入库与初始化配置

import os, threading
import numpy as np
import pyttsx3
from sounddevice import rec, wait
from scipy.io.wavfile import write
from resemblyzer import VoiceEncoder, preprocess_wav
from PyQt5.QtWidgets import ...

用于导入:

  • 文件操作(os

  • 多线程(threading,防止语音播报卡界面)

  • 录音与保存(sounddevice, scipy

  • 声纹识别核心(resemblyzer

  • 图形界面构建(PyQt5

VOICE_DIR = "voices"
os.makedirs(VOICE_DIR, exist_ok=True)
encoder = VoiceEncoder()
  • 设置语音文件夹

  • 初始化声纹编码器(Resemblyzer)

2. 语音播报功能

def speak(text):def run():engine = pyttsx3.init()engine.say(text)engine.runAndWait()threading.Thread(target=run, daemon=True).start()
  • 使用 pyttsx3 实现 TTS 语音播报

  • 放在线程中执行,防止 engine.runAndWait() 阻塞程序

3. 录音窗口与功能

(1)录音窗口提示类

class RecordingDialog(QDialog):
  • 弹出一个小对话框,提示用户“正在录音”

  • 录音完自动关闭,提升交互体验

(2)录音函数

def record_voice(filepath, duration=5, fs=16000, parent=None):
  • 调用 sounddevice.rec() 录音,采样率16000Hz(Resemblyzer推荐)

  • 保存为 wav 文件

  • 弹出提示窗口进行录音反馈

4. 用户管理函数

def list_users():return [f[:-4] for f in os.listdir(VOICE_DIR) if f.endswith(".wav") and f != "test.wav"]

扫描文件夹,返回除 test.wav 外的所有用户(注册过的)

5. 主界面类 VoiceApp

(1)初始化界面与样式

        screen = QDesktopWidget().screenGeometry()win_width = screen.width() // 3self.resize(win_width, ...)
  • 界面自动适配屏幕,设置合适大小

  • 设置按钮字体大小统一风格

(2)注册用户

    def register_user(self):name, ok = QInputDialog.getText(...)if ok and name:filepath = ...if os.path.exists(filepath): ...record_voice(filepath, parent=self)
  • 弹出输入框让用户输入用户名

  • 检查是否重复

  • 录音并保存为 {name}.wav

(3)用户管理(删除)

    def manage_users(self):users = list_users()if not users: ......selected_items = list_widget.selectedItems()for item in selected_items:os.remove(filepath)
  • 弹出用户列表

  • 选择后点击 OK 即可删除对应语音文件

(4)识别用户

    def identify_user(self):...test_path = os.path.join(VOICE_DIR, "test.wav")record_voice(test_path, ...)
  • 录制测试语音

  • 提取特征向量(encoder.embed_utterance()

  • 依次读取所有已注册用户的语音文件,提取向量,计算相似度:

sim = np.dot(embed, embed_test)
  • 找到相似度最大的用户

  • 如果相似度 > 0.8,就提示识别成功(播报+弹窗),否则视为非法

三、开发过程解析(思路演进)

阶段功能技术
1️⃣ 初始化项目建立语音识别系统结构,准备声音文件夹os
2️⃣ 实现录音功能录音并保存语音为 .wav 文件sounddevice, scipy.io.wavfile
3️⃣ 声纹识别模型加载利用 Resemblyzer 提取说话人特征向量resemblyzer
4️⃣ GUI 界面搭建主界面+按钮布局+按钮功能绑定PyQt5
5️⃣ 用户注册功能输入用户名 ➜ 录音 ➜ 存储QInputDialog
6️⃣ 用户管理功能显示用户列表 ➜ 可删除QListWidget, QDialog
7️⃣ 识别流程测试录音 ➜ 与已有用户匹配 ➜ 相似度判断向量点积识别逻辑
8️⃣ 播报反馈加入语音播报,提示识别结果pyttsx3 + 多线程避免阻塞
http://www.dtcms.com/wzjs/580196.html

相关文章:

  • 周口市建设职工培训中心网站大型网站权限设计
  • 钢材网站建设服务网站建设的公司排名
  • php网站建设课程作业建设商务网站的目的
  • 万户网站协作管理系统做名片用哪个网站
  • 做外链一般都用网站首页吗诸城网站建设公司
  • 万网网站制作网上网页设计
  • 新乡商城网站建设自己做网站需要购买服务器吗
  • eclipse视频网站开发微信邀请函制作软件
  • WordPress社区论坛佛山网络优化推广公司
  • 企业网站优化与推广长沙广告设计公司排名
  • 网页制作模板的网站代码豪爵摩托车官网
  • 小程序做网站登录网站affiliate怎么做
  • 邦利博客网站怎么做的品质好货
  • 天津建设工程竣工备案公示网站南京制作网页培训机构
  • 所以免费爱做网站济南网站建设力推搜点网络ok
  • 如何制作网站机器人宁波app开发公司
  • 盛泽做网站的昆明网架公司
  • 音乐外链生成网站怎么做wordpress搬家500
  • 企业网站建设专业网站建设行业解决方案
  • php做听歌网站搜索引擎排名2020
  • 车子网站wordpress的静态数据
  • 嘉兴网站seo公司做有网被视频网站
  • 做网站时如何确定网站主题做贸易网站
  • 长春网站优化方式贵州建设工程招投标协会网站
  • 建设和管理环保网站wordpress 网站打开速度慢
  • 商城类网站功能列表吉安哪家网站建设公司好
  • 网站定制技术定制衣服的软件app
  • 网站制作郑州网站制作自己做的网站放在服务器哪里
  • app设计网站微信网站建设报价单
  • 瑞安网站wordpress 任意下载