位置: 编程技术 - 正文

python利用不到一百行代码实现一个小siri(python不能用)

编辑:rootadmin

推荐整理分享python利用不到一百行代码实现一个小siri(python不能用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python没有用,python不能用numpy,python不能用numpy,python bunch,python bunch,python不能用,python不能用,python不能用numpy,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

如果想要容易理解核心的特征计算的话建议先去看看我之前的听歌识曲的文章,传送门: Time Warping,动态时间归整。算法解决的问题是将不同发音长短和位置进行最适合的匹配。

算法输入两组音频的特征向量: A:[fp1,fp2,fp3,......,fpM1] B:[fp1,fp2,fp3,fp4,.....fpM2]A组共有M1个特征,B组共有M2个音频。每个特征向量中的元素就是之前我们将每秒切成块之后FFT求模长的向量。计算每对fp之间的代价采用的是欧氏距离。

设D(fpa,fpb)为两个特征的距离代价。

那么我们可以画出下面这样的图

我们需要从(1,1)点走到(M1,M2)点,这会有很多种走法,而每种走法就是一种两个音频位置匹配的方式。但我们的目标是走的总过程中代价最小,这样可以保证这种对齐方式是使我们得到最接近的对齐方式。

python利用不到一百行代码实现一个小siri(python不能用)

我们这样走:首先两个坐标轴上的各个点都是可以直接计算累加代价和求出的。然后对于中间的点来说D(i,j) = Min{D(i-1,j)+D(fpi,fpj) , D(i,j-1)+D(fpi,fpj) , D(i-1,j-1) + 2 * D(fpi,fpj)}

为什么由(i-1,j-1)直接走到(i,j)这个点需要加上两倍的代价呢?因为别人走正方形的两个直角边,它走的是正方形的对角线啊

按照这个原理选择,一直算到D(M1,M2),这就是两个音频的距离。

源代码和注释

事先可以先用这里的record方法录制几段命令词,尝试用不同语气说,不同节奏说,这样可以提高准确度。然后设计好文件名,根据匹配到的最接近音频的文件名就可以知道是哪种命令,进而自定义执行不同的任务

这是一段演示视频:

python中异常捕获方法详解 在Python中处理异常使用的是try-except代码块,try-except代码块放入让python执行的操作,同时告诉python程序如果发生了异常该怎么办,try-except这个功能其实

详解python中requirements.txt的一切 简介Python项目中必须包含一个requirements.txt文件,用于记录所有依赖包及其精确的版本号。以便新环境部署。主要的写法如下所示pipfreezerequirements.txt#生

python开发简易版在线音乐播放器 在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块

标签: python不能用

本文链接地址:https://www.jiuchutong.com/biancheng/378644.html 转载请保留说明!

上一篇:Python单例模式实例详解(单例类python)

下一篇:python中异常捕获方法详解(python 异常捕获)

  • 出口货物退货需要退税吗
  • 企业所得税低于多少不用交
  • 金税盘续费怎么开票
  • 境外增值税代扣代缴
  • 固定资产进项税额
  • 应付账款的核算会计分录
  • 增值税留抵税额抵减欠税
  • 货物抵扣货款分录
  • 流动比率与速动比率之差等于现金比率
  • 支付劳务收入怎么做账
  • 非金融机构定义
  • 增值税普通发票税率
  • 收到普通发票税号错了不改会怎么样
  • 资产负债表如何调平
  • 如何理解结转资金与结余资金的区别
  • 计提个人保险会计分录
  • 企业销售费用支出怎么算
  • win 11 无法安装
  • 固定资产转在建工程提折旧吗
  • 腾讯电脑管家怎么修复dll
  • w10引导修复工具
  • 如何修改选区边缘
  • erl.exe是什么进程
  • u启动pe装机工具如何重装系统win10
  • appdata文件夹可以改名吗
  • 公司股票 收税
  • 其他综合收益的来源
  • 现金折扣的会计分录处理
  • 总分类账的登记依据和方法取决于企业所采用的
  • 小企业会计制度最新版
  • let,const,var区别
  • vue 可拖拽
  • thinkphp怎么用
  • php生成唯一id
  • split命令用法
  • 关于差额征税的账务处理
  • 资产支出加权平均数和一般借款本金加权平均数
  • python输出inf
  • 差旅费报销金额大于实际发生金额
  • 增值税普票能抵税吗
  • 企业年金是否要交个税
  • 税务查账后如何结转
  • PostgreSQL教程(五):函数和操作符详解(1)
  • 代理记账的业务规范
  • 银行承兑汇票套利案例
  • 汇算清缴期间费用社保填哪里
  • 收到预付卡的发票是否可以报销呢?
  • 销售产品的软件平台
  • 工程施工企业收到工程款,怎么做分录
  • 投资性房地产按成本法计提折旧
  • mysql二进制安装教程
  • sql server常用
  • w8远程桌面连接
  • xp电脑工作组找不到其他电脑
  • 卸载win+r
  • win2003无法启动
  • centos下虚拟机
  • upgrade.exe - upgrade进程是什么意思
  • ubuntu 18.04网络连接
  • OS X 10.12.6 beta 1如何更新 OS X 10.12.6 beta 1如何升级
  • centos怎么查看文件
  • centos用户添加到组
  • 安装centos6.10
  • linux怎么禁用命令
  • 错误代码0x8007007B
  • Win10打开淘宝https被划上红色斜杠的快速解决办法
  • win8.1无线网
  • android游戏开发框架
  • cocos2djs
  • shell编程怎么执行
  • 网页设计中的几种齐方式及其特点
  • javascript中的继承
  • DOS命令删除文件夹
  • jquery添加删除属性
  • div-d和div-i
  • javascript+
  • 运输费用抵扣税率最新规定
  • 广西税务局客服电话时间
  • 深圳天然气收费价格表
  • 个人所得税必须企业代扣代缴吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设