![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音频
baye_DOA
这个作者很懒,什么都没留下…
展开
-
keyword spotting
关键词识别原创 2022-08-19 10:55:57 · 150 阅读 · 0 评论 -
speex的回升消除算法
speex的回声消除 理论推导原创 2022-08-18 10:29:48 · 88 阅读 · 0 评论 -
简单的头传递函数Demo——DAFX第二版
clear ;% 利用简单的头传递函数,生成虚拟声源% 对生成的音频使用耳机监听;% 角度控制参数: theta[x, Fs] = audioread('song.wav');theta = 0 ;HRIRl=simpleHRIR(theta,Fs);HRIRr=simpleHRIR(-theta,Fs);outsigL= conv(HRIRl,x);outsigR= conv(HRIRr,x);y = [outsigL outsigR];audiowrite('ou...原创 2021-06-03 11:23:31 · 278 阅读 · 0 评论 -
使用卷积进行混响音响制作-python
signal.fftconvolve函数:采用fft进行卷积操作,输出信号长度大于信号,或者冲击响应长度,所以要进行裁剪。from scipy import signaldef reverb(win , Vwave): sig = Vwave filtered = signal.fftconvolve(sig , win ,mode ='full') filtered = filtered[0: len(sig)] return filtered...原创 2021-01-07 10:07:01 · 1167 阅读 · 1 评论 -
在Python中使用os模块对音频文件名字进行批量更改
在Python中使用os模块对音频文件名字进行批量更改:在一个类似 1_16_1168630199_275382270_1148_R9sk_4_s1.wav 命名的音频文件中,需要将“1_”换成“0_” .import osdef rename_func(path): filelist = os.listdir(path) for file in filelist: file_name_list = file.split('_') ...原创 2020-08-28 10:17:38 · 471 阅读 · 0 评论 -
dataset的设置
制作数据集import osimport globimport torchimport numpy as npimport scipy.io.wavfile as wavfrom scipy.io.wavfile import readfrom utils_mfcc import computer_featurefrom torch.utils.data import Datasetimport pdbclass MyDataset_train(Dataset): de.原创 2020-05-21 20:56:36 · 624 阅读 · 0 评论 -
lstm - pytorch
1 lstm做分类2 lstm做回归3 lstm的参数输入1 图像分类任务:train_loader中取出来的变量维度: torch.Size([64, 1, 28, 28])需要将其改成:torch.Size([64, 28, 28]) 代表batchsize , height, weightlstm的参数设置:input:形状的输入(seq_len,ba...原创 2020-05-01 16:33:17 · 430 阅读 · 0 评论 -
hmm python
hmm已知模型(A,B,pai)和观测序列,计算在该模型下观测序列出现的概率。import numpy as npimport csvclass HMM(object): def __init__(self,N,M): self.A = np.zeros((N,N)) # 状态转移概率矩阵 self.B = np.zer...原创 2020-04-28 12:22:16 · 289 阅读 · 0 评论 -
EM算法-python
em算法的细节可以看书#模拟两个正态分布的均值估计 from numpy import *import numpy as npimport randomimport copySIGMA = 6EPS = 0.0001#生成方差相同,均值不同的样本def generate_data(): Miu1 = 20 Miu2 = 40 N = 1000 X =...原创 2020-04-27 02:48:39 · 435 阅读 · 0 评论 -
基于hmm-gmm的1到10唤醒-python
可供参考的项目有:https://github.com/jayaram1125/Single-Word-Speech-Recognition-using-GMM-HMM-数据集得自己造:# -----------------------------------------------------------------------------------------...原创 2020-04-27 02:21:22 · 649 阅读 · 0 评论 -
深度学习在语音中的应用——pytorch
基于神经网络的深度学习在音频语音中除了ASR,TTS还有许多应用。其中有3点需要注意:1 数据读取(特征的 抽取)2 模型的选择2.1 cnn 2.2 lstm3 bathsize, 误差函数的选择2.1 在cnn网络中,每层参数的设置。import numpy as npimport torch.nn as nnimport torch...原创 2020-04-25 15:05:14 · 737 阅读 · 0 评论 -
以vad为例在C++中展示语音信号处理的算法以class形式的实现方式
语音算法中,如果你平常用C进行实现, 你会发现很累,要自己造很多轮子。现在我看看c++中算法以类的形式是怎么实现的。vad是一个特别简单么,明了的算法,比较适合入门。https://github.com/robin1001/vadmain函数#include <stdio.h>#include <stdlib.h>#include <...原创 2020-04-24 20:25:27 · 952 阅读 · 0 评论 -
以vad为例在python中展示语音信号处理 的算法实现方式
在语音信号处理中,我们习惯使用函数式编程去实现算法的某个功能。这种编程方式在使用Matlab, c的过程中得到强化。但在python/ C++中, 出现了class这种功能,这使得我们在算法实现时可以做出些改变。现在我们以语音端点检测为例子,说说可以在python中怎么实现。代码来源于:https://github.com/marsbroshok/VAD-python首先看mai...原创 2020-04-23 21:41:14 · 1851 阅读 · 1 评论 -
音频信号处理中Matlab / python/c/ c++在sample序列化访问的不同处理思路
1.MatlabMatlab中数组a的第一个元素用a[1]表示。 数组中第100个点到1000个点的子段用a(100:1000)表示。数据长度L为:L= 1000-(100-1)= 901帧移为inc,第n帧的第m个点在音频序列的位置表示为 index1 = inc* n + m2 python数组a的第一个元素用a[0]表示。其中数组中第100个点到1000个点的子段 ...原创 2020-04-09 15:04:34 · 219 阅读 · 0 评论 -
设计bandstop滤波器 -Matlab/c/c++
第一种方式:利用Matlab自带的函数。clear ;close all;filename ='25.wav';[x ,fs] = audioread(filename);parametricEQ = fdesign.parameq('N,Flow,Fhigh,Gref,G0,GBW,Gst', 2, 1700, 2300 ,0,-40,-10,-1,fs);Hd = de...原创 2020-04-08 17:38:29 · 985 阅读 · 0 评论 -
设计低通滤波器-Matlab
clear ;close all;filename ='./23.wav';[x ,fs] = audioread(filename);parametricEQ = fdesign.parameq('N,Flow,Fhigh,Gref,G0,GBW,Gst', 2, 4700, 8000 ,0,-15,-5,-1,fs);Hd = design( parametricEQ,'cheb...原创 2020-04-27 02:49:11 · 990 阅读 · 0 评论 -
读取pcm文件的主函数 C++
#include <iostream>#include <fstream>#include <vector>using namespace std ;const char* filename = "/Users/momo/Desktop/cpp/revowel/audio/24.pcm";const char* outfilename = "/Us...原创 2020-04-07 10:32:00 · 1984 阅读 · 5 评论 -
buttord数字滤波器-matlab
clear ; clc; close all;fs =16000;fs2=fs/2; % 降采样后采样频率的一半fp1= 3000; % 通带频率fs1= 4000; % 阻带频率wp1=fp1/fs2; % 归一化通带频...原创 2020-03-25 10:17:12 · 1526 阅读 · 0 评论 -
读取多个音频及其label python
def get_audio_and_transcriptch(txt_files, wav_files, n_input, n_context, word_num_map, txt_labels=None): audio = [] audio_len = [] transcript = [] transcript_len = [] if txt_file...原创 2020-05-21 19:18:13 · 328 阅读 · 0 评论 -
读取wav文件对应的label python
import numpy as npfrom python_speech_features import mfcc # 需要pip installimport scipy.io.wavfile as wavimport osdef get_wavs_lables(wav_path, label_file): # 获得训练用的wav文件路径列表 wav_files =...原创 2020-05-21 19:15:17 · 464 阅读 · 0 评论 -
音频文件:wav转pcm
c/c++代码中时常需要读取pcm格式的音频文件。pcm格式的音频文件中,一般约定16位(int)存储一个数值。clear;[X, Fs]= audioread('让子弹飞飞.wav');x = X * 32768;fileId = fopen( 'test1.pcm','w');fwrite(fileId, x,'int16') ;fclose(fileId)...原创 2019-10-08 20:55:00 · 608 阅读 · 0 评论