learnrocks100
码龄12年
求更新 关注
提问 私信
  • 博客:104,348
    104,348
    总访问量
  • 38
    原创
  • 101
    粉丝
  • 41
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
加入CSDN时间: 2014-10-12

个人简介:音频算法,人工智能,语音算法

博客简介:

...

查看详细资料
个人成就
  • 获得127次点赞
  • 内容获得18次评论
  • 获得414次收藏
  • 代码片获得744次分享
  • 博客总排名1,841,005名
创作历程
  • 7篇
    2024年
  • 12篇
    2023年
  • 1篇
    2022年
  • 5篇
    2021年
  • 9篇
    2020年
  • 4篇
    2018年
成就勋章
TA的专栏
  • ASR
    2篇
  • DSP
    13篇
  • HRTF滤波器设计
    2篇
  • Pytorch教程
    4篇
  • 机器学习
    5篇
  • 基础编程
    2篇

TA关注的专栏 3

TA关注的收藏夹 0

TA关注的社区 8

TA参与的活动 0

创作活动更多

【多重好礼】鸿蒙心迹 · 开发录原创征稿活动

鸿蒙开发者的实战经验,值得被记录。从踩坑排查到项目复盘,从工具脚本到学习笔记,每一段真实的开发经历,都是社区最宝贵的技术资产。「鸿蒙心迹 · 开发录」正式启航,不限主题、随时可写,只要是鸿蒙开发相关的真实经验都欢迎投稿。 本活动为 [HarmonyOS 7.0 创新内容共创季](https://builderx.csdn.net/activity-site/harmonyos/activity2026)双轨征文之一,与[「共创季 · 稿事节」](https://harmonyosdev.csdn.net/6a97f0de2b83d06f0ecadec5.html)深度征文互补——「稿事节」写深度技术长文,「开发录」写日常开发实战笔记。 「开发录」每月一期,12月截止,本季共三期,投稿即有机会获得京东卡、CSDN博客流量券、亿万Token、社区定制周边好礼!

126人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

【语音识别】声学建模中基于树的状态绑定

三因素和单因素一样都是使用三状态的HMM,只是将原来的单因素的模型扩充了。一种高效的方法是构造二叉树模型,通过问题将状态集逐步划分,叶子节点中的状态具有相似性,可以用同样的输出概率模型表示。在树的根节点,所有的状态的输出模型共享相同的参数。每一个y1属于一个三音素模型,这样Y对应于一个三因素状态集(由多个中心音素相同的三音素组成)。Y是独立的p维声学特征向量组成的序列,这些特征向量是同一个单因素的某个状态产生的,这个状态对应的输出概率分布用单个对角高斯分布表示,均值是。为每一个中心音素的每一个。
原创
博文更新于 2024.04.05 ·
879 阅读 ·
6 点赞 ·
0 评论 ·
6 收藏

语音识别:基于HMM

上面介绍的HMM训练方法是经典的训练HMM的方法(baum welch算法),该算法就是在给定一个初始的模型参数,通过不断的E-step,M-step迭代模型的参数。一种更加实际的方法是使用Viterbi训练方法:
原创
博文更新于 2024.03.30 ·
1719 阅读 ·
16 点赞 ·
0 评论 ·
20 收藏

数字信号处理中的逆滤波器(inverse filter)matlab实现

在MIT的HRTF 数据库中,为了进行扬声器均衡,作者用到了使用DFT/IDFT进行求解扬声器脉冲响应的逆滤波器的方法。是一个很长的脉冲响应(FIR滤波器的系数),对其求逆系统会得到全极点的IIR滤波器,并且阶数也非常大。由线性时不变系统的可逆性,输入经过原系统之后再经过对应的逆系统可得到原输入。更简单的方法是将上式转换到。用冲击响应来描述原系统和逆系统的关系,设原系统冲击响应为。的所有零点都位于单位圆内(最小相位系统),这样得到的。, 逆系统的冲激响应为。域来求解逆系统,上式在。似乎很简单,但是如果。
原创
博文更新于 2024.03.21 ·
2256 阅读 ·
7 点赞 ·
0 评论 ·
11 收藏

频率规整/频率弯折(Frequency Warping)原理 WFIR/WIIR滤波器设计matlab代码

频率弯折(Frequency Warping)广泛应用在HRTF滤波器设计、扬声器均衡、以及Warped线性预测编码等音频领域中。在HRTF滤波器设计过程中,我们最直接的方式是使用FIR模型。也可以将HRTF 的FIR模型转换为IIR模型,这里面有Prony方法(对应matlab的prony函数)、Yule-walker方法(对应matlab的yulewalker函数),还有一些方法如BMT(Balanced Model Truncation)。这些方法都是针对线性频率的。
原创
博文更新于 2024.03.15 ·
1453 阅读 ·
5 点赞 ·
0 评论 ·
13 收藏

自适应宽带波束形成:GSC(generalized sidelobe canceller)广义旁瓣消除器原理介绍和实现代码

GSC(generalized sidelobe canceller, 广义旁瓣消除器)可以将有约束的LCMV算法转换为无约束的实现结构。网上关于GSC的介绍对细节方面介绍得不详细,并且主要是应用在窄带。宽带的GSC应用范围也比较广泛,例如在智能音箱等产品的麦克风阵列信号处理中,GSC作为核心算法。本文介绍了GSC的结构以及相关的公式推导,主要关注时域宽带GSC的实现,并给出了python的实现代码示例。关于波束形成基础知识,请参考。
原创
博文更新于 2024.03.15 ·
3085 阅读 ·
5 点赞 ·
0 评论 ·
18 收藏

宽带波束形成

介绍了宽带波束形成器的时域滤波结构,以及波束响应的计算公式,宽带波束形成器的波束响应可表示为权重向量和方向向量的积
原创
博文更新于 2024.03.13 ·
2471 阅读 ·
17 点赞 ·
0 评论 ·
34 收藏

窄带波束形成

介绍了窄带波束形成器的公式推导和实例设计应用,其中包括波束响应,波束形成器输出,波束图,以及等间距线阵的beamformer的FIR等效设计
原创
博文更新于 2024.03.09 ·
1074 阅读 ·
6 点赞 ·
0 评论 ·
21 收藏

webrtc AEC 线性滤波 PBFDAF(均匀分块频域自适应滤波)介绍

计算一个脉冲响应和输入信号的卷积,除了使用原始的时域卷积以外,还有如下方法:FFT卷积的方法:对输入信号(长度M)和脉冲响应(长度N)分别补零到K(K>M+N-1),然后分别计算FFT,然后相乘,最后反FFT,取前M+N-1个元素作为最终的卷积结果输入信号很长时,将输入信号分成一帧一帧,使用overlap-add或者overlap-save的方法当脉冲信号和输入信号都很长时,可使用均匀分块卷积。均匀分块卷积与频域自适应滤波(FDAF)结合,就是WebRTC AEC中线性滤波处理中的算法核心。
原创
博文更新于 2024.03.09 ·
3043 阅读 ·
8 点赞 ·
0 评论 ·
16 收藏

Android加载pytorch模型异常完美解决:The model version must be between 3 and 5But the model version is 7 ()

有时候需要在android app中加载使用pytorch训练的模型文件,选择这样的部署方式的优点:1、使用pytorch提供的mobile库,避免了自己实现模型的推理;2、模型的加载和推理都是在java层,pytorch已经提供了native的实现,我们只需要使用Java的接口进行模型加载和使用,所有细节被封装。github上的pytorch官方的仓:pytorch/android-demo-app里面有相关的示例app,下载下来首先从hello world开始。
原创
博文更新于 2023.06.25 ·
1395 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

机器学习的学习准则(期望风险最小化、经验风险最小化、结构风险最小化)

要评价模型f(x, θ)的好坏,可通过期望风险R(θ)来衡量:求期望损失R(θ)不仅需要知道损失函数还需要知道真实分布,损失函数可以通过一定的准则计算得到,但是样本空间的真实分布是未知的。所以不能直接求R(θ)。期望风险R(θ)无法计算,给定一个训练集D =,我们可以计算经验风险,经验风险就是在训练集上的平均损失:为了解决过拟合问题,引入了参数正则化来限制模型的能力。使其不要过度的最小化经验风险。这种准则就是结构风险最小化准则
原创
博文更新于 2023.06.18 ·
2203 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

循环神经网络RNN用于分类任务

介绍使用RNN进行分类(图像分类)的方法。RNN用于分类任务的结构是多对一结构。假设图像的尺寸是28x28的黑白图片,将每一个张图片作为RNN的输入,每一行作为一个输入特征,所有的行构成一个序列。RNN的输出只选择最后一行的输出(使用out[:, -1, :]),这就是多对一的精髓。最后再套一个全连接层,使用交叉熵作为判断准则。
原创
博文更新于 2023.06.16 ·
2738 阅读 ·
2 点赞 ·
0 评论 ·
16 收藏

Pytorch教程:Autograd基础

PyTorch的Autograd特征可以让PyTorch灵活快速的构建机器学习项目。autograd可以实现快速和容易的多重偏微分(梯度)计算。偏微分计算时反向传播神经网络学习的核心。autograd的可以在运行时动态追踪计算,这意味着如果模型有决策分支、或者有在运行时之前长度未知的循环,仍然可以正确的追踪计算,得到正确的梯度进而驱动学习。并且,当模型是通过python构建的,在计算梯度时,PyTorch的autograd比那些依赖于对更加严格结构的模型进行静态分析的框架提供了更多的灵活性。
原创
博文更新于 2023.06.13 ·
2138 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

PyTorch教程:Tensor的使用介绍

Tensor是PyTorch中心的数据抽象,本文深度详细介绍PyTorch的torch.Tensor类。包括创建Tensor的方法,Tensor的shape属性,tensor的数据类型和数学运算,tensor的广播机制,克隆tensor,改变tensor的维数,将tensor转换维Numpy的ndarray以及将ndarray转为为tensor。
原创
博文更新于 2023.06.09 ·
1796 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

卷积神经网络(CNN)模型训练代码

使用pytorch框架搭建一个浅层的CNN网络,并训练该网络。训练的时候在每一个epoch,将训练集的准确率、召回率和精度以及测试集的准确率、召回率和精度写到log中。本文是一个cnn的starter,cnn训练代码是通用的,只需要重新设计网络和准备数据就可以适配到其他项目中。下面直接上代码。
原创
博文更新于 2023.06.08 ·
2847 阅读 ·
9 点赞 ·
3 评论 ·
60 收藏

fftw3库在Android Studio中的编译和使用

fftw3库是快速傅里叶变换FFT/IFFT的开源实现,可以在多个平台编译。在Android app开发项目中需要做FFT信号分析,优先使用JNI的方式,使用原生语言C/C++实现复杂的科学计算任务。fftw3可以在多个平台编译优化,也可以在Android NDK开发时进行编译调用。本文详细介绍了fftw3在Android studio中的编译和使用方法
原创
博文更新于 2023.06.06 ·
2248 阅读 ·
1 点赞 ·
2 评论 ·
4 收藏

快速傅里叶变换FFT/IFFT开源库fftw3

发布资源 2023.06.05 ·
7z

支持向量机SVM推理(预测)代码实现

使用sklearn训练的SVM模型要怎样移植到C语言中进行嵌入式开发呢?本文提供了将训练的支持向量机模型从sklearn抽取出来的方法。
原创
博文更新于 2023.06.05 ·
1163 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

生成模型之高斯判别分析(GDA)和贝叶斯

判别模型的学习算法学习给定x下的条件分布p(y|x;θ),例如,Logistic Regression(对数几率回归)将p(y|x;θ)建模为,g是sigmoid函数。考虑一个分类问题,基于动物的某些特征想要区分大象(y=1)和狗狗(y=0)。给定一个数据集,类似LR或者感知机算法尝试找到一条直线(超平面,也就是决策边界,将大象和狗狗分开。然后,当新样本要将其划分类为大象类和狗狗类时,只需要检查新样本落在决策边界的哪一边,然后再对新样本进行预测。
原创
博文更新于 2023.06.04 ·
781 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

支持向量机

对于线性可分数据集,支持向量机就是找到距离正负样本最远的超平面,相对于感知机,这个超平面是唯一的,泛化性能更好。支持向量机的超平面位于两类样本的正中间,距离最近的正负样本的距离相同,能够容忍训练样本的局部扰动,感知机可以得到无穷多个划分超平面,但这些感知机的这些解有的距离正样本太近,未知的正样本很容易跨过超平面从而被误分类为负类;或者说这些解距离负样本太近,未知的负样本很容易垮过超平面从而被误分类正类。当数据集线性可分时,使用硬间隔线性可分支持向量机;当数据集近似线性可分时,使用软间隔线性支持向量机;
原创
博文更新于 2023.06.03 ·
404 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Cookbook formulae for audio EQ biquad filter coefficients

look like:or(Eq 2):cos(w0)sin(w0)b1 = 0b1 = 0b0 = 1b2 = 1sin(w0)
原创
博文更新于 2023.04.27 ·
973 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多