
speechdnn
文章平均质量分 67
小李飞刀李寻欢
视频号:小明哥直播间
展开
-
如何检查音频文件的采样率?
音频采样率表示每秒对声音信号的采样次数,直接影响音频质量和存储需求。输出直接显示采样率,例如。原创 2025-03-24 14:07:41 · 240 阅读 · 0 评论 -
ffmpeg 提取mp4文件中的音频文件并保存
要从一个 MP4 文件中提取音频并保存为单独的音频文件,可以使用ffmpeg工具。原创 2024-10-30 17:45:50 · 1140 阅读 · 0 评论 -
gradio音频的初步处理函数
音频处理基础gradio函数原创 2024-09-05 14:16:25 · 1742 阅读 · 0 评论 -
python获取音频文件采样率的方法
对于不同的音频文件格式,可以使用不同的库来处理。根据你的需求和音频文件的格式选择合适的库。如果需要处理其他格式的音频文件,可以直接使用相同的 torchaudio.load 方法。使用 torchaudio 库来获取音频文件的采样率是一个非常直接的过程。torchaudio 库提供了简洁的 API,使得音频文件的加载和处理变得非常方便。你可以使用它来读取多种格式的音频文件,并获取采样率。soundfile 库也是一个很好的音频处理库,可以处理多种音频格式,并且非常轻量级。原创 2024-09-05 11:42:43 · 1756 阅读 · 0 评论 -
写一个gradio录音的webui界面并展现波形图
gradio搭建录音系统webui原创 2024-08-06 15:52:38 · 1432 阅读 · 1 评论 -
gradio 找不到麦克风
gradio使用无法找到麦克风原创 2024-08-06 14:20:15 · 1439 阅读 · 0 评论 -
python 提取视频中的音频 采用ffmpeg-python 库
从视频中提取音频文件并输出原创 2024-08-05 16:19:48 · 1049 阅读 · 0 评论 -
<IPython.lib.display.Audio object> 如何保存这个对象
音频文件的保存原创 2024-07-25 16:33:49 · 479 阅读 · 0 评论 -
啸叫终结篇——声源分离技术
啸叫抑制方法及初步解决方案原创 2019-08-26 16:56:52 · 407 阅读 · 1 评论 -
声源分离之人声与伴奏分离(人生艰难啊)
之前做的工作,也是用的这个原理,但效果不太好,主要是场景复杂,并不是简单的人声唱歌,同时伴奏也清晰。很正常,在伴奏乐器较多的情况下,比如鼓和电声等诸多混音(现在很多,也很正常),这种情况要么有类似的训练数据,要么理论/原理上能解决这种问题。今天又重新整理了一下,感觉还是挺难了,训练了2万次左右吧,主要是训练的数据场景简单,而处理的对象复杂,所以效果不乐观,这也在意料之中。如下示例:原声立体声,441的MP3,根本看不出来啥是啥,一脸懵逼将其放大后,也看不清(至少人眼难辨别哪部分是人声)原创 2020-08-22 18:01:30 · 3064 阅读 · 0 评论 -
非识不可C3D模型详解
想了解C3D模型必然先看论文,结合tf版github代码看效果更好。【该论文很久之前的了,追新的可以不看】总体:作者提出的一个关键点就是3维卷积,每层都是3*3*3卷积核,这种结构考虑到了时空特征,因而效果较好。二维卷积核在图像上做卷积得到的自然是图像,在多帧图像上得到的还是图像(因为将他们视为了不同的通道,可以参考Two-stream,这个网络就是将每帧提取光流信息,最后做卷积,...原创 2020-04-05 17:36:14 · 3735 阅读 · 0 评论 -
百度飞浆NeXtVLAD之推断inference
上一篇是基础的数据输入,然而继续查看模型的输入数据会遇到各种数据结构,比如迭代器yield本文将继续寻根究底,看看是如何输入audio及rgb 特征,然后得到NeXtVLAD聚类后的特征。我看了下模型的输出,似乎只能输出类别,而我想得到某一层的输出结果。这个咋整呢??屁大点事结果我麻烦了百度的很多人帮我解决,真是辛苦了,从此再也不说飞浆的坏话了,哈哈。我觉得杀鸡就得用牛刀,快!自己...原创 2020-04-03 00:07:20 · 1873 阅读 · 0 评论 -
NeXtVLAD 飞酱预训练模型测试
hi,dear 大佬:找遍了全网,只有飞酱提供了预训练的模型,请使用_final版本的,下面我将用inceptionV3提取图像特征然后经过该模型得到concat之前聚类之后的特征,该特征我将用做embedding,别问我有啥意义,我哪知道,inceptionV3不也是这么玩的吗??【意义很清楚,就是将泛特征经过聚类得到新的特征,剔除了冗余的特征及微小的弱特征】另外我也会将音频vgg后...原创 2020-04-03 00:38:56 · 601 阅读 · 0 评论 -
TypeError: 'module' object is not callable
librosa中rhythm出现这个问题,不知道为啥子搜索网上说导入的模块和py文件同名了,我不知道哪里有问题。卧槽。其他函数都没有问题,比如librosa.feature.spectral_centroidlibrosa.feature.spectral_rolloff真是服了,卸载librosa重新安装也没解决,真是什么幺蛾子都有。烦死了。看了下官方文档,也没发现rhy...原创 2020-03-29 23:47:40 · 552 阅读 · 0 评论 -
音频一般特征提取embedding问题终结篇(高级泛化特征+低级明确含义特征)
音频特征提取博文:第一个,第二个,第三个,第四个,第五个,第六个。。。人生艰难啊这个问题今天必须终结了,如果不终结的话我就没有任何价值了,天天搞些乱七八糟的的东西,而没有任何实质性进展,我的坑估计都保不住了,领导都心知肚明。归根结底的问题是什么?提取整个音频的特征,而且最终维度要小,并且有一定的特征代表性,不能提取的特征最后一看都是很混乱,散点图分的很开,该是一类的没有在一个簇,这不是...原创 2020-04-03 23:57:29 · 2501 阅读 · 11 评论 -
keras的某一层输出之二
接很久之前的一篇,今天主要考虑的问题是FC dense层后面如果有dropout层该怎么办?模型如下:Layer (type) Output Shape Param # =================================================================input_1 (Inp...原创 2020-03-28 12:23:10 · 437 阅读 · 0 评论 -
声音类型分类之初步
嗨,接着回家前的工作继续做,如今还是这个问题。目前主要做声音的分类,暂时不做场景分类,DCASE上有场景的分类,比如下图,2019年的DCASE某个taskalsothere is h5 model trained by the author,but maybe not helpful for my sound classification.just get the featur...原创 2020-03-26 10:40:43 · 830 阅读 · 0 评论 -
音乐推荐初步
哈喽,你们还好吗?是否有想起我呢?假期前我面临的问题是音频特征提取的问题,也就是特征工程。业务是视频中的音频场景分类,为视频分类、视频推荐做准备,这个看似简单的问题其实做起来一点也不简单,因此,赋闲期间实在无聊透顶,终于捡起来了昨日的黄花,重新开始,阅读一些相关文献,期望有所收获。【悟已往之不谏,知来者之可追】主要方面:1.音频场景分类/分割问题;2.音乐推荐系统;本篇博文先说音频场景...原创 2020-03-23 20:37:30 · 619 阅读 · 0 评论 -
基于音频分类的视频内容推荐
哈喽大家好,上面几篇做法是提取的对数mel谱然后用VGG做embedding特征,是否靠谱不得而知,但效果很差是明显的,寡人猜测原因:1.VGG训练的数据很短,很干净,没有其他杂音;2.其他细节问题,比如参数的微调;3.其他特征??很多人骂我不分享代码,其实都是基础的东西,没有啥技术含量,这里分享下python一个版本stft【np中当然有直接的函数,这个版本也有依赖】。今天下午我有搜索下“音...原创 2020-01-23 15:42:59 · 609 阅读 · 0 评论 -
声音场景分类问题探讨(二)
接上一篇:https://blog.youkuaiyun.com/SPESEG/article/details/104006642其实有时候,不,经常是我还没有完全明白样例/demo中的流程,就开始了套用,咔咔代入一通,也有很多想当然的想法,都是错误的。如果完全如所给样例那么简单的话,整个特征可以直接取avg,特征依旧很明显,如下:x轴是128D特征,y是时间维度frame,由hop_size...原创 2020-01-22 18:06:15 · 3199 阅读 · 0 评论 -
声音场景分类问题探讨
如果按照上一篇的想法来做的话,我估计效果不好。策略:提取视频时长所有音频,特征提取后进入VGG网络,然后将VGG features avg,这样特征如果不明显的话就可能在avg后直接消失了,这种影响还是很大的。我估计最后可能会完全趋于白噪声,这不是扯淡吗?话不多说,先提取音频文件再说,挨个听真的费劲啊,卧槽,就是怕有脏数据。先拿抖音干净的数据来玩,主要是因为抖音的视频数据是我挨个下载的...原创 2020-01-20 20:53:04 · 5196 阅读 · 0 评论 -
声音高层特征提取
嗨,Dear,我是小明哥,上面几篇博文都是关于图像的【严格说是这样,但我用来近似视频,虽然有点不合理,但现在似乎没有提取视频features的经典方法】那么现在我用于声音场景分类也是可行的。1-npz格式数据是字典,可以通过key来取值,或者直接查看for k,v in para.items(): print(k,v)2-frame操作,这个我之前在其他博文中有提到过,设定hop_...原创 2020-01-14 15:51:45 · 1388 阅读 · 0 评论 -
ResNet之三——参数调整及网络构建的理解
接上一篇:https://blog.youkuaiyun.com/SPESEG/article/details/102963410当我将repetition设置为[2,2]时,这时的h5模型在8M,当增加为[2,2,2]效果并没有提高,基本上是保持不变,甚至验证集acc还下降了一个点。当我设置为[2,1]时,网络结构如下,说实话第一个[2,2]的层数都小于常用的ResNet-18,而这个是最基本的,图像里...原创 2019-11-10 22:19:57 · 4754 阅读 · 0 评论 -
ResNet之细节问题
接上一篇,其中存在的问题2其实是作者为了书写的习惯,将inputs放在了函数内的函数,这种习惯源于keras的序列化模型,可以理解,当然我可以变成常规容易的函数,这样显得接地气。【其实也并没有独立成一个layer,仍旧是各个layer】因此,也可以反推,如果想用函数里面套函数,甚至套多个函数,也可以采用这种方法,不亏是学习能力超强的小明哥。【与其羡慕别人的生活,不如自己造就美好未来。既...原创 2019-11-07 22:20:57 · 910 阅读 · 0 评论 -
二分类问题
深度学习中的基本问题就是这个,上午我还达到90%,85%的acc,现在只有76%,卧槽,我动哪里了啊???有鬼。明明没怎么改参数,却再也回不到过去,这个trick不小啊。既然回不到过去,不妨重新开始吧。我套了一下VGG,发现网络太深了,根本跑不动,效果也不好,减少网络后,acc反而有提高,之前我还以为验证集有毛病,因为我监督的验证集的acc/loss,采用改变lr的方式。所以,有...原创 2019-11-06 15:26:31 · 1207 阅读 · 0 评论 -
语音深度学习落地中存在的困难和壁垒
各位大佬好!深度学习在语音方面的应用远比图像要少很多,除了众所周知的语音识别【ASR,Speech and Speaker】与语音合成【TTS】,似乎再也没有什么深度学习方面的应用了,其实这个问题很明显,本大佬从头说起,从某大佬开源图像数据集开始,语音还在数据的封闭阶段,一般人和单位根本拿不到数据,而当图像如火如荼的时候,火得不能再火的时候,语音方面的砖家才意识到革命必将来临,再不面对将失...原创 2019-11-05 11:44:37 · 564 阅读 · 0 评论 -
TTS之初步——看看google的研究成果tacotron
哈喽,今天周日,现在公司的人数不到一把手。我的坚持,孤独而坚定。请直接看我的github地址,参考这个玩玩。NLP的东西不懂不知道能不能行?先安装必要的三方库,如图下:看到taco我突然想起来了,pb转tflite用toco。。。。。。。。。。。。其实完全没必要转pb,可以一步到位直接转tflite。我看了下预训练的demo,不过有点奇怪,怎么只有两个文件??这能用吗??R...原创 2019-10-27 17:49:25 · 662 阅读 · 0 评论 -
OLA端点问题实际应用效果
在上个博文中采用的hop_size=frame_size*3/4,这个效果如图:第一个是没有overlap第二个图是OLA后的图,看起来比较好,但是听起来还是有杂声啊。。。我去,人生艰难啊。。。而且处理时间是原来的3倍了,卧槽,这个不能忍啊。首先要确认,到底是不是分帧处理产生的,或者还是声音处理没做好?实际应用中不可能那么大的hopsize,最多一半已经够了,不然没法玩。...原创 2019-10-25 17:20:59 · 484 阅读 · 0 评论 -
实时处理中帧之间的拼接问题即端点效应咋解决啊?
实时处理中避免不了帧之间的拼接问题,为什么会出现这个问题?且听老夫慢慢道来:话说无论采用滤波器或者其他方法处理帧信号,得到的信号总是会有帧和帧之间衔接的畸变,因为不可能预知下一帧/下个样点的信号,所以帧之间的畸变是不可避免的。【当然在整体处理中这种情况就没有了,为何?因为整体处理整个wav文件的话,不必考虑这个问题了,每一帧信息都是知道的,所以不会有这种问题,如果我整体处理,就不能是实时的...原创 2019-10-23 10:37:47 · 676 阅读 · 0 评论 -
tensorflow模型继续训练??
之前训练的模型没有收敛就结束了,再次训练,增加训练次数是不是就会收敛了?有时,网上的参考答案并不能解决问题,因为每个人的细节不同,总有些关键细节问题决定成败。我的模型训练时的步骤有global_step,这个玩意是记录/标记ckpt的,表示哪一步产生的模型,我估计这个参数在模型中也保存了,因为我定义的是global_step = tf.Variable(0, dtype=tf.in...原创 2019-10-22 17:23:24 · 657 阅读 · 0 评论 -
dense问题?——tf.layers.dense & keras.layers.Dense
说实话这俩玩意其实是一个,我看了源码,发现都是Dense类创建了,但实际应用中效果却不同。因为Dense大多数是用于shape为(batch,dim)的全连接问题,但不能直接用于shape为(batch,time_stpes,dim)的全连接问题,如果直接套用,输出结果直接就是shape为(batch,units),time_steps维度就没有了,真是可怕。所以我自己实现的dense是每...原创 2019-10-22 14:45:36 · 1525 阅读 · 0 评论 -
关于tf.float32_ref与tf.float32数据类型的问题——tf这样定义的缘由是什么?
在初始化变量的过程中,毫无疑问都要有tf.Variable,然而这个玩意特别令人费解,因为他的输出的数据类型是改变不了的,就是tf.float32_ref即便你在dtype中指定dtype为tf.float32都无用,既然不让个性化定义或修改,又何必给出这个形参呢?这不是多此一举吗???__init__(self, initial_value=None, trainable=Non...原创 2019-10-21 10:42:41 · 8378 阅读 · 1 评论 -
LSTM前输入shape——模型重构问题记录
我之前改变了LSTM的shape输入,其实也就是将time_step与batch的位置交换了下,当输入为(batch,time_step,input_size)时,训练速度与位置交换后的不同,当然loss图结果也不太相同。【使用unstack的模型训练得速度较快,此时输入为(time_step,batch,input_size),loss有明显的下降趋势,而没有使用unstack的速度则训练较...原创 2019-10-20 21:28:10 · 958 阅读 · 2 评论 -
interpreter.invoke()后程序就死了?——tflite模型测试之推断
interpreter.invoke()执行这句代码后程序就死了???自动退出运行界面了,卧槽,咋回事?搜也没有搜到,真是狗了。单步执行这都不行。。。。。。。。。也不知道那根神经有问题。老子随便找个其他的tflite试试会不会出现同样的问题,卧槽。别人家的tflite都没事。。。我要哭了。服务器端也不行,我也不知道咋回事了。。。。。。。。还是模型有问题啊。。...原创 2019-10-18 11:07:10 · 1875 阅读 · 5 评论 -
keras数据输入非常大怎么办?分批次?
哈喽。模型落地过程中遇到很多问题,我都要去经历、填坑。人生何处不是坑??有坑才有坑!如果tf可以分批次读入内存数据【比如tfrecords,这个我最不推荐了,麻烦;比如自己写个next,边读边训练】,那么keras同样也可以,比如DataGenerater和fit_generator,下面我就试试我占用内存30多个G的数据。1-首先我先把模型修改好,能训练数据。采用tf.keras...原创 2019-10-16 10:07:08 · 1820 阅读 · 0 评论 -
tensorflow模型重构之终结篇
很失败,之前的tensorflow模型转换tflite的都是最终失败!!!我的目标是将RNN模型,而且采用的dynamicRNN的网络转换为tflite,而且不能用tf的Ops,这个要求很高!!!官方给的方法不可行,这一点令我很失望。真是垃圾!!为啥必须要用RNN?因为RNN针对时序信号具有不可替代的优势,这一点CNN目前是难以做到的。官方已经明确说明不能return_sequences,...原创 2019-10-14 09:52:24 · 465 阅读 · 0 评论 -
C语言版本STFT/ISTFT
接上一篇:https://blog.youkuaiyun.com/SPESEG/article/details/101672559注意:寡人的stft是有前提条件的,并不是完全与librosa.stft一一对应【我的版本参数是固定的,不可变,其他是一样的】,因为我的hop_length是固定为nfft的1/4,而nfft与波形长度完全相同,有人说,你这nfft长度和波形长度一样还有短时谱?SB,你先看看l...原创 2019-09-29 18:08:06 · 2834 阅读 · 3 评论 -
徒手造轮子之Java版STFT
注:该stft是类似于librosa中的同名函数,与tensorflow中的有区别,当然我也用tf实现了,问题是tflite都不支持这种操作,如果用tf底层(tf造轮子)编写,其速度肯定小于Java或者CPP。接上一篇:java数组写的fft我特么又想放弃了java,从入门到放弃,搞个复数数据结构都费劲,比C难多了,繁琐。老子给你看看C版的复数是咋定义的数据结构,简直不要太简单。...原创 2019-09-26 21:13:52 · 897 阅读 · 1 评论 -
模型重构之三
接上一篇:模型重构二我失算了,我以为tf.nn.dynamic_rnn与Keras.layers.RNN用法一样(如图下),结果一套用就出错了。TypeError: 'RNN' object is not iterable真是人生艰难啊。我只好先参考下RNNoise了,但这个没有用GRUCell,照葫芦画瓢也只好先不管这些玩意了,先试试这个吧。于是有个疑问:keras中的GR...原创 2019-09-24 17:19:59 · 806 阅读 · 0 评论 -
TensorFlow模型重构之二
上次那个模型重构是简单的修改,那么这次则是针对tflite中不支持的Op来修改的,很多github上的东西都不能落地,这也是其中一个原因,当然我说的落地是放在移动端,不是服务器。很多人的项目都是直接运用tf的操作,根本没有顾虑是否tflite支持这种操作,所以,该博文就针对这种东西,重新改下。当然其中的问题我已经在TensorFlow的github官方提出了issue,可以查看。补充一:刚看到...原创 2019-09-19 19:10:38 · 977 阅读 · 0 评论