自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Be busy living or busy dying

Keep Reading , Keep Writing , Keep Coding.

  • 博客(156)
  • 资源 (4)
  • 收藏
  • 关注

原创 Voxcel2音频数据从m4a格式转为wav

【代码】Voxcel2音频数据从m4a格式转为wav。

2023-10-10 11:47:23 167

转载 MATLAB符号计算相关函数

1.建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。(1) sym函数sym函数用来建立单个符号量,一般调用格式为:符号量名=sym(‘符号字符串’)该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。应用sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代数运算时的差别。(2) syms函数函数sym一次只能定义一个符号变量,使用不方便。MATLAB提

2022-05-13 11:13:50 3668

原创 hilbert希尔伯特变换

文章目录数学上什么是hilbert变换?hilbert变换的数学公式hilbert变换的基本性质hilbert变换在信号系统中有什么应用参考来源链接数学上什么是hilbert变换?首先要明确的:fft变换、拉普拉斯变换和z变换都是域的转换,将信号从时域转换到频域,而hilbert是从时域到时域。hilbert变换只针对于实信号。hilbert变换的数学公式由于是卷积,可以用频域相乘来计算:hilbert变换的基本性质两次hilbert变换相当于取负值。两个信号互相正交,那么

2021-12-16 11:24:27 7331

原创 C++编译与链接(2)--‘g++‘ 不是内部或外部命令,也不是可运行的程序或批处理文件

文章目录在windows上直接在cmd中运行使用g++,会报错,‘g++’ 不是内部或外部命令,也不是可运行的程序或批处理文件,这是因为C语言的编译器本来是用Linux写的,而windows本来就没有C的编译器。后来由于windows广泛使用,需要在windows上使用C/C++语言,所以minGW(或者写作mingw)。minGW的全拼是Minimalist GNU for Windows.GCC本来是GNU的编译器套件,由于很好用就被不断扩展,现已被大多数类Unix操作系统(如Linux、BSD、

2021-11-27 21:09:35 2488 1

原创 GNU操作系统和操作系统内核和MinGW

一、什么是 MinGW ?MinGW 的全称是:Minimalist GNU on Windows 。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API 和 MSYS,因此可以将源代码编译生成 Windows 下的可执行程序,又能如同在 Linux 平台下时,使用一些 Windows 不具备的开发工具。一句话来概括:MinGW 就是 GCC 的 Windows 版本 。为什么使用 MinGW ?MinGW 是开源软件,可以免费使用。...

2021-11-27 20:55:01 1647

转载 THD+N

Total Harmonic Distortion +Noise文章目录总谐波失真总谐波失真加噪声参考来源链接总谐波失真总谐波失真对音频产生主要影响的非线性失真,是相对于输入信号产生了新的频率成分导致的。通常测量非线性失真中的谐波失真, 当用单一正弦波信号进行激励时(图1), 在频域上的表现除了有基频成分本身之外,还有基频的谐波成分的能量出现,这种失真是非线性失真,称为谐波失真。疑问:正弦波遇到非线性失真只会产生谐波吗?不可能产生谐波频率之外的频率?答:推测应该会产生2种频率,一种是激励

2021-08-20 15:44:07 3210

原创 windows中ini配置文件的读取

文章目录GetPrivateProfileIntGetPrivateProfileString参考来源链接GetPrivateProfileIntConfig.ini[Student]nAge=12int Result = GetPrivateProfileInt("Student", "nAge", 0, "Config.ini");为什么下面的语句读取不出来,每次都是Result = 0.也就是默认值?因为"Config.ini"是错误的路径,应该写成"./Config.ini"in

2021-08-05 16:41:04 1205

原创 python中pickle和json的用途和用法

今天来把pickle搞明白。不搞明白不回家(还是回家了,每一个小问题都可以扯出来一大堆问题)。以下是我在网上搜索的内容加上自己的理解写的博文,如有不正确不准确的地方,希望评论指正。文章目录序列化、反序列化参考文献来源能百度到的答案都是pickle用于序列化和反序列化。自己想想,不就是将数据保存成文件和读取文件嘛?这个不是很简单吗?也很常见,一个函数就能实现,不同的函数或者类实现不同的文件读取和写入。比如matlab里的audioread和audiowrite函数,比如C里面的fread和fwrite函数

2021-08-02 13:54:26 317

转载 解决Anaconda删除虚拟环境时报错:PackagesNotFoundError: The following packages are missing from the target enviro

参考链接:解决Anaconda删除虚拟环境时报错:PackagesNotFoundError: The following packages are missing from the target enviro一句话:先手动删除虚拟环境的文件夹,再删除环境。

2021-07-16 11:19:17 1332

转载 java快速学习<三.java语言的特性>(掌握C的情况下)

文章目录参考来源链接参考来源链接【Java】小甲鱼带你入门java IntelliJ IDEA+jdk-15.0.2–小甲鱼oVo出品

2021-07-10 14:15:44 73

转载 java快速学习<二.java简介和版本对比>(掌握C的情况下)

文章目录java简介java版本参考来源链接学习java的基础课程还是小甲鱼的,不是小甲鱼本人讲,但是讲得也是非常清晰易懂。Java】小甲鱼带你入门java IntelliJ IDEA+jdk-15.0.2–小甲鱼oVo出品java简介java版本参考来源链接Java】小甲鱼带你入门java IntelliJ IDEA+jdk-15.0.2–小甲鱼oVo出品...

2021-07-10 14:06:09 108

原创 java快速学习<一.下载安装>(掌握C的情况下)

最近需要用几个java才发现不会java很麻烦。于是周末迅速学习一下。文章目录安装jdk的安装IDE安装参考来源链接安装安装的主体思路参考b站的视频链接如下:JAVA的jdk版本推荐和IDE使用jdk的安装  jdk有两个版本,OpenJDK 和 OracleJDK,两个的对比我查看了几种,各有优劣,参考这里,OpenJDK 和 OracleJDK 哪个jdk更好更稳定,正式项目用哪个呢?。我直接选择了OracleJDK,毕竟是初学,自己还没有到对比两者差异的时候,先学习其他的以后再说。  

2021-07-10 13:50:24 86

转载 pip或者conda安装库的时候报错ValueError: check_hostname requires server_hostname

pip或者conda安装库的时候,不管安装多么简单常见的库都会报错,原因是电脑网络开了代理。如下图。关掉代理即可。

2021-07-09 11:42:16 1929 2

转载 Cmake makefile CMakeLists.txt都是干什么的?怎么用?

  一直以来在github上找的linux的C代码,我用windows,都要用vs创建个工程给添加进去,会出现两个问题。  一个问题是包含很多头文件和文件夹的一堆C函数,如何组织起来,include得半天才能搞定,因为在linux中,这些C文件都是通过makefile等我不认识的语法组织起来的,这种情况下虽然能最后改为vs工程,但是耗时很多;另一个问题是linux的C和windows的有些C语法是不同的,有些函数也是不同的,linux写的C中经常有很多函数windows中没有或者反之,这种情况我从来就没改

2021-07-05 10:02:04 2158 2

原创 AttributeError: ‘LSTM‘ object has no attribute ‘proj_size‘原因和解决办法

之前训练好的pytrorch模型现在重新打开就报错。报错为:AttributeError: 'LSTM' object has no attribute 'proj_size'开始我还以为是程序哪里错了,不科学啊,搜中文网站搜不到任何信息,用谷歌搜到了,链接如下:https://github.com/flairNLP/flair/issues/2137原因就是pytorch1.8版本的RNN系列函数都有问题,不能和之前的版本训练的模型兼容。到底有什么错,不清楚,1.8版本训练的模型能和1.7兼容吗

2021-07-01 14:19:17 2748

原创 pyroomacoustics库的功能

文章目录Pyroomacoustics介绍使用方法参考来源链接Pyroomacoustics介绍Pyroomacoustics是一个python软件包,旨在快速开发和测试音频阵列处理算法。Pyroomacoustics软件包的包含三个主要部分:直观的Python面向对象界面,可在2D和3D房间中快速构建涉及多个声源和麦克风的模拟场景;通用多面房间的图像模型的快速实现,可有效生成房间脉冲响应并模拟声源和接收者之间的传播;可用于STFT,波束形成,到达方向,自适应滤波,盲源分离和单通道降噪的流行算

2021-06-28 20:58:28 1917

原创 pyroomacoustics安装遇到的问题

一波三折。文章目录错误1错误2错误3错误4参考来源链接安装pyroomacoustics的时候,只有一句话:pip install pyroomacoustics错误1我的anaconda导航界面运行不了了,一直报错,重新下载了个anaconda还是不行,后来直接放弃最新版的anaconda,直接用旧版本的,清华镜像链接: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/我下载了2020.11的就可以了。之前下载的2021.05的

2021-06-28 17:47:20 913 1

原创 matlab图形界面fig文件打开不能编辑

今天写个弱智教程。每次要用都忘了。查了后面用又忘了。手动一遍,长久记忆。在matlab命令行输入 guide, 弹出下面对话框:如果是已有的fig,就选择打开已有GUI。然后就进入可编辑页面了。...

2021-06-22 11:08:30 2308 1

转载 vs的PDB文件

无知使人焦虑恐慌。每天进步一点点,每天自信一点点。文章目录包含内容参考来源链接之前看到过别人用PDB调试,也不知道在干啥,也不敢问,只是觉得很厉害。今天晚上没事学习一下。包含内容参考来源链接感谢各位原作者的工作。PDB文件:每个开发人员都必须知道的...

2021-06-18 15:18:57 3214

转载 vs工程 vcproj和开发环境定义宏---$(IntDir)和$(OutDir)

知识往往是牵一发动全身,知识面不全会导致理解错误或者片面,会引发错误。多学习,多积累,每天进步一点点。文章目录vs 基础配置文件解析vcproj简介用户自定义开发环境宏查看全部宏的方法下面的列表是对用户宏的解释参考来源链接vs 基础配置文件解析.vcproj是工程文件,sln是解决方案文件。一个解决方案里面可以包含多个工程。你打开vcproj文件编译不了可能是因为这个工程里面用到了同一个解决方案中其它工程的东西。visual Studio.NET采用两种文件类型(.sln和.suo)来存储特定于解

2021-06-18 11:57:44 1095

原创 附加到进程调试

文章目录前言用途参考链接来源前言第一次使用“附加到进程调试”功能,在网上找了好久没有找到一个能说清楚到底是干什么的,看了一下下午最后还是请教了大哥才明白。好的指导很重要。于是决定记录下来。用途乙方给甲方提供了一个算法,用接口封装好dll后,发给甲方调用,甲方发现效果不对,但是乙方说没问题,于是甲方将自己的参考链接来源感谢博文原作者的工作。...

2021-06-17 19:57:13 3628 1

原创 python中的with open和 open创建文件(txt)的区别

文章目录起因open示例with open示例起因在python写入多行时,发现用open的方式写不完,肯定是循环到了,就是到了某一固定行就不继续写了,将文件名换成txt、xls、dat等格式结果均相同,后来改为with open 的方式创建文件名,就记录全了。原因不明。open示例wav_txt = open('list.txt', 'w')for gf in range(len(file_names)): wav_txt.write('%s\t%d\n' %(file_names[gf],

2021-06-03 17:09:24 3843 1

原创 matlab数组保存在txt中后在C中读取

每次用的时候临时百度,写好后下次又重新写,记录下来吧。matlab:fid = fopen('coef.bin', 'wb');for i =1:20 for j = 1 : 256 count = fwrite(fid, fb(i, j), 'float'); endendfclose(fid);在matlab中搜 fwrite函数,可以看到写入指定类型数据的方法,这里以float类型为例。在C中: FILE* erb_fd = fopen("coef.b

2021-04-27 19:09:00 277

原创 memset、memcpy等mem家族函数

整理一下mem家族函数。文章目录memsetmemcpymemset这是我最喜欢的函数。初始化为非零的数,或者中途使用的时候直接全部重置。memcpy我也喜欢这个函数,整段复制,终于不用for循环挨个复制了。 char *s = "GoldenGlobalView"; char d[20]; memcpy(d, s + 3, 4); //从第13个字符(V)开始复制,连续复制4个字符(View) d[4] = '\0'; //memcpy(d,s+12*sizeof(char),4*siz

2021-04-27 18:55:27 136

转载 #include “sndfile.h“读取音频文件的使用方法

在学算法时,每次用wav文件,都是直接跳过文件头,提前写好采样率和文件长度等信息,其实可以使用sndfile.h来解析。今天来谢谢使用方法。文章目录库文件的准备C测试代码参考来源文件库文件的准备注意:sndfile的dll库分32bit和64bit最简单的查找sndfile的dll库的方法是直接在自己电脑里搜sndfile.h,一般都会搜到,如果没有,就在libsndfile官方网站下载。C测试代码在配置属性–》链接器–》输入–》附加依赖项中添加libsndfile-1.lib;将libsnd

2021-04-22 16:14:44 2223

转载 exit(0)和return 0的区别

今天看一个程序int main后使用了exit(0)而没有return,来看看二者的区别吧。文章目录区别参考来源链接区别return返回函数值,是关键字; exit 是一个函数。return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。return是函数的退出(返回);exit是进程的退出。return用于结束一个函数的执行,将函数的执行信息传出给其他调用函数使用,这种情况下只能使用return;exit函数是退出应用程序,删除进程使用的内存空间,并

2021-04-21 10:13:15 6858

原创 远程服务器visdom在本地打开

这个网上有很多教程,但是我都没有尝试成功。最后由于我的服务器和windows电脑在同一个局域网内,我直接在我的windows浏览器中输入 XXX.XXX.X.XX:8097就可以直接访问visdom显示网页了,不用网上其他人的教程重定向。XXX.XXX.X.XX是服务器的ip地址。每次使用visdom前需要用下面命令来启动服务:python -m visdom.server测试代码:import visdomimport torch# 新建一个连接客户端# 指定env = 'test1',默

2021-03-29 20:00:06 918 1

原创 matlab中stft和spectrogram函数区别

写在最开头,两个几乎没有差别。先贴上程序。clear;clc;close all;[sig,fs] = audioread('1.wav');window_len = 400;nfft = 1024;windowt = hamming(window_len);[stfts,f1,t1] = stft(sig, fs, 'Window',windowt, 'OverlapLength',window_len/2, 'FFTLength',nfft);figure;y1 = abs(st

2021-03-26 16:27:41 3245 2

转载 torch.cat与torch.chunk的使用

本文转载于知乎上Anthony Eden的pytorch专栏,链接点这里。感谢作者Anthony Eden。torch.cat ( (A, B), dim=0)接受一个由两个(或多个)tensor组成的元组,按行拼接,所以两个(多个)tensor的列数要相同:torch.cat ( (A, B), dim=1)是按列拼接,所以两个tensor的行数要相同:torch.chunk(tensor, chunk_num, dim)与torch.cat()原理相反,它是将tensor按dim(行或列

2020-12-16 17:43:27 248 1

转载 torch.nn.functional.pad()函数的使用

文章目录函数测试图像示例参考来源链接函数测试import torchimport torch.nn.functional as Fimport numpy as npx = torch.from_numpy(np.arange(8).reshape((2,4)))print(x.shape)xx = torch.unsqueeze(x, 1)print('x:' + xx.shape)xxx = F.pad(xx, [2,2])print('pad(xx, [2,2]):' + xxx

2020-12-16 11:18:00 2742

原创 tf.keras.layers.TimeDistributed

函数原型:tf.keras.layers.TimeDistributed( layer, **kwargs)除了batch_size以外,第一个维度被认为是时间维度,在进行卷积或其他操作的时候,batch_size和时间维度保持不变,对后面的维度进行处理,所以至少应该为3维。比如(32, 10, 128, 128, 3),batch_size = 32, 包含10个时间步长的128*128的RGB图片。inputs = tf.keras.Input(shape=(10, 128, 128

2020-12-08 16:04:28 963

原创 tf.keras.layers.LSTM和tf.keras.layers.ConvLSTM2D

文章目录tf.keras.layers.LSTMtf.keras.layers.ConvLSTM2Dtf.keras.layers.LSTM函数原型:tf.keras.layers.LSTM( units, activation='tanh', recurrent_activation='sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal',

2020-12-08 15:04:57 1752

原创 tf.keras.layers运算

文章目录tf.keras.layers.Permutetf.keras.layers.Multiplytf.keras.layers.Reshapetf.keras.layers.Permutetf.keras.layers.Permute( dims, **kwargs)使用案例:model = Sequential()model.add(Permute((2, 1), input_shape=(10, 64)))# now: model.output_shape == (Non

2020-12-08 13:12:28 2226 1

原创 tf.keras.layers.Dense

函数原型tf.keras.layers.Dense( units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint

2020-12-08 11:29:32 431

原创 tf.keras.layers.Conv2D和tf.keras.layers.Conv2DTranspose

tf.keras.layers.Conv2D( filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1), groups=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regulariz

2020-12-08 11:08:08 4157 3

原创 tf.keras.layers.Conv1D和tf.keras.layers.Conv1DTranspose

tf.keras.layers.Conv1D( filters, kernel_size, strides=1, padding='valid', data_format='channels_last', dilation_rate=1, groups=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regulari

2020-12-08 10:21:07 2642 6

原创 求多项式的根(matlab和GSL)

文章目录MATLAB的roots函数GSL库的gsl_poly_complex_solve求解器参考来源给定多项式的系数,求多项式的复数根。MATLAB的roots函数r = roots§ 以列向量的形式返回 p 表示的多项式的根。输入 p 是一个包含 n+1 多项式系数的向量,以 x^n 系数开头。0 系数表示方程中不存在的中间幂。例如:p = [3 2 -2] 代表多项式包含带有非负指数的单一变量的多项式方程。对方程 x4−1=0 求解。创建一个向量,用它来代表多项式,然后计算多项式的

2020-11-26 16:29:16 3136 1

原创 主客观语音质量评估

在语音降噪和盲源分离、语音合成等任务中,最后都会用语音质量评估指标来说明自己的算法效果,今天来详细梳理一下都有哪些方法。音频质量评价当前主要分三种评价标准:主观评价:主要是依靠人为的听,然后按照5分或者7分制打分。比如MOS、CMOS和ABX Test。客观评价—基于指标:主要依靠仪器测试响度、频率响应、灵敏度等指标;客观评价—基于模型:依靠模型和算法,模拟人工打分。举一个例子,前面走过来一个美女,三个人就开始评价了。A:她是我们班的,是班花,经过了四十多人投票选出来的,肯定是美女。这就是

2020-11-18 18:30:09 5826

转载 pytorch求STFT

@[目录]最近在看一个开源代码,发现求信号的STFT的时候,使用的是torchaudio_contrib.audio_nn.STFT函数,而有些人用pytorch自带的stft函数,即调用torch.stft,而在librosa里也有stft函数,这几种函数输出结果相同吗?和MATLAB的XXXX函数相比较有什么差别?为什么不先在librosa里做完stft再讲结果转为tensor?为什么要用pytorch上实现STFT和ISTFT?  神经网络需要用GPU加速实现,那么网络和数据的运算都需要能在GP

2020-10-19 10:23:11 2358

转载 TypeError: __init__() got multiple values for argument ‘fft_length‘

使用一个函数时,报错如下:TypeError: __init__() got multiple values for argument 'fft_length'意思是对象初始化的时候,一个参数获得了多个赋值。原因明显的错误不会有,不明白为什么的真是原因是:对象的初始化函数__init__的参数和调用对象函数的输入参数要分开,初始化完对象后,给函数传入参数。假设有个函数A(age=1),但是我调用这个函数A(3, age=5),此时我们会同时把3和5同时赋值给函数中的age,此时就会出现age得到

2020-10-16 16:13:48 9059

GSL库32bit和64bit

GSL库32bit和64bit

2021-05-26

count_frequency.m

用Matlab编写的,统计向量或矩阵中每个元素的出现频率,结果可靠,计算量小。

2019-05-15

VB 学籍信息管理系统

用VB编写的学生学籍信息管理系统,包括学生个人基本信息,姓名、照片、学号、地址,学习成绩,是否挂科,补考,开除学籍,退学,毕业,等等。

2014-07-01

俄罗斯方块

用C++编写的俄罗斯方块代码,可以直接运行,供初学者参考。

2013-09-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除