我是MATLAB的初学者,我应该对EEG信号进行频谱分析,绘制功率谱密度和频谱图.我的信号是10几秒长,一个采样频率160 Hz,总共1600 samples有一些关于如何在MATLAB中找到函数参数的问题,包括:
pwelch (x, window, noverlap, nfft, fs);
spectrogram (x, window, noverlap, F, fs);
Run Code Online (Sandbox Code Playgroud)
那么我的问题是在哪里找到参数的值window,noverlap我不知道它们的用途.
我想根据音频流开发一个用于检测风的应用程序.
我需要一些专家的想法,只是为了给我指导或一些链接,我知道这不是一件容易的事,但我打算在这里付出很多努力.
我的计划是检测流中的一些常见模式,如果值接近风噪声的这种常见模式,我将通知找到匹配,如果值更接近已知模式,我可以肯定检测到风,如果值与模式不匹配那么我猜没有那么多的风....
这是我的计划,但我需要了解这些事情是如何完成的.是否有一些开放项目已经这样做了?或者是否有人正在研究这个主题?
我在这个论坛上写的原因是因为我不知道如何谷歌它,我找到的东西不是我想要的.我真的不知道如何开始开发这种算法.
编辑1:
我试着录制一个风,当我为我打开保存的音频文件时,它只是一堆数字:).我甚至不知道我应该以什么格式保存这个,波浪足够好吗?我应该使用别的东西,或者如果我用mp3转换风噪音频文件怎么办?这会有助于解析吗?
好吧,我有很多问题,那是因为我不知道从哪里阅读更多关于这类话题的内容.我用guidlines标记我的问题,所以我希望有人会帮助我.
必须有可检测的东西,因为风噪声是如此常见,必须以某种方式检测到这一点,我们只需要有人给我提示,熟悉这个主题的人.
language-agnostic algorithm signal-processing audio-processing
我有一个MATLAB问题:我正在尝试计算LTI系统的输出,并且我遇到了两个不同的MATLAB函数,这些函数应该适用于该作业,filter并且conv.他们两个有什么区别?
在python中是否有任何准备好的函数将过滤器(例如Butterworth过滤器)应用于给定信号?我在'scipy.signal'中寻找这样的函数,但我没有找到任何有用的函数,而不是过滤设计函数.实际上我希望这个函数将滤波器与信号进行卷积.
我正在编写一些以不同速度播放WAV文件的代码,因此波浪要么慢,要么低音,要么更快,音高更高.我目前正在使用简单的线性插值,如下所示:
int newlength = (int)Math.Round(rawdata.Length * lengthMultiplier);
float[] output = new float[newlength];
for (int i = 0; i < newlength; i++)
{
float realPos = i / lengthMultiplier;
int iLow = (int)realPos;
int iHigh = iLow + 1;
float remainder = realPos - (float)iLow;
float lowval = 0;
float highval = 0;
if ((iLow >= 0) && (iLow < rawdata.Length))
{
lowval = rawdata[iLow];
}
if ((iHigh >= 0) && (iHigh < rawdata.Length))
{
highval = rawdata[iHigh];
}
output[i] = …Run Code Online (Sandbox Code Playgroud) 我有一组由用户上传的音频文件,并且不知道它们包含什么.
我想获取一个任意的音频文件,并将每个人正在讲话的实例提取到单独的音频文件中.我不想检测实际的单词,只是"开始说话","停止说话"点并在这些点生成新文件.
(我的目标是Linux环境,并在Mac上进行开发)
我找到了看起来很有前途的Sox,它有一个'vad'模式(Voice Activity Detection).然而,这似乎找到了第一个语音实例,并在此之前剥离音频,因此它很接近,但不是很正确.
我也看过Python的'wave'库,但后来我需要编写自己的Sox'vad'实现.
是否有任何命令行工具可以实现我想要的现成产品?如果没有,任何好的Python或Ruby方法?
故事
我没有任何传真硬件,所以我很难与通过电话接听传真噪音的人沟通.很难想象在2012年人们仍在使用吃树木和纸张进行交流的设备.所以,我想传真给他们一个宣布,互联网,电子邮件和视频会议的新时代终于到来了.

问题
由于我没有任何传真硬件,明显和最快的选择是通过在线服务发送消息.从另一方面来说,传真硬件基本上是扬声器,麦克风和一点点数字信号处理代码.唯一明显的问题是代码.传真协议是已知的 - 即使在Python中实现它也不应该是一个问题,但到目前为止我还没有看到使用扬声器+麦克风进行传真的任何示例.CPU性能是不可能的 - 现代PC具有足够的功率来计算2400比特/秒的足够噪声.因此,对此我唯一的技术解释是延迟 - (从麦克风传输到DSP代码并返回到扬声器的噪声时间)太长,以至于它会中断传输.
问题
如果以上情况属实 - 传真协议所需的延迟是多少?
有没有测量麦克风扬声器延迟的工具?
还有什么我想念的?
是否可以在Python中实现所有内容?
我有一个3D矩阵(MxNxK),并希望将其调整为(M'xN'xK')(就像在matlab中的imresize).我使用图像金字塔,但其结果不是很准确,需要更好的.有解决方案吗
matlab signal-processing image-processing multidimensional-array 3d-modelling
我一直在尝试使用SciPy进行2D矩阵的卷积,而Numpy却失败了.对于SciPy我试过,sepfir2d和scipy.signal.convolve和Convolve2D for Numpy.在Matlab for Python中是否有像conv2这样的简单函数?
这是一个例子:
A= [ 5 4 5 4;
3 2 3 2;
5 4 5 4;
3 2 3 2 ]
Run Code Online (Sandbox Code Playgroud)
我想把它卷入其中 [0.707 0.707]
而来自Matlab的conv2的结果是
3.5350 6.3630 6.3630 6.3630 2.8280
2.1210 3.5350 3.5350 3.5350 1.4140
3.5350 6.3630 6.3630 6.3630 2.8280
2.1210 3.5350 3.5350 3.5350 1.4140
Run Code Online (Sandbox Code Playgroud)
有些函数用Python来计算这个输出吗?我将感激回应.
matlab ×4
audio ×3
python ×3
convolution ×2
3d-modelling ×1
algorithm ×1
bicubic ×1
fax ×1
fft ×1
image ×1
linux ×1
logarithm ×1
protocols ×1
resampling ×1
scipy ×1
spectrogram ×1
voice ×1