我是R的初学者,我试图在没有找到任何内容的情况下找到有关以下内容的信息.
图中的绿色图由红色和黄色图组成.但是,假设我只有绿色图形的数据点.如何使用低通/高通滤波器提取低/高频率(即大约红/黄图)?
更新:图表是使用生成的
number_of_cycles = 2
max_y = 40
x = 1:500
a = number_of_cycles * 2*pi/length(x)
y = max_y * sin(x*a)
noise1 = max_y * 1/10 * sin(x*a*10)
plot(x, y, type="l", col="red", ylim=range(-1.5*max_y,1.5*max_y,5))
points(x, y + noise1, col="green", pch=20)
points(x, noise1, col="yellow", pch=20)
Run Code Online (Sandbox Code Playgroud)
更新2:使用signal
包中的Butterworth过滤器建议我得到以下内容:
library(signal)
bf <- butter(2, 1/50, type="low")
b <- filter(bf, y+noise1)
points(x, b, col="black", pch=20)
bf <- butter(2, 1/25, type="high")
b <- filter(bf, y+noise1)
points(x, b, col="black", pch=20) …
Run Code Online (Sandbox Code Playgroud) 我想写一个简单的程序(最好是在C#中),我用麦克风唱一个音高,程序识别音高对应的音符.
非常感谢您的及时回复.我澄清一下:
我想要一个(最好是.NET)库来识别我唱的音符.我想要这样一个图书馆:
我打算用这样一个库一次唱一个音符.
我想开发应用来计算Android中的声音频率.Android设备将从麦克风(即外侧声音)获取声音,我在应用程序中有一个彩色背景屏幕.在声音频率变化我必须改变屏幕的背景颜色.
所以我的问题是"我怎样才能获得声音频率"?
有没有可用的Android API?
请帮我解决这个问题.
我正在开发一个需要实现一组数据摆动的软件.这是我将收到的输入样本,与每个垂直像素带的亮度图合并:
很容易看出左边距确实很晃动(即有一吨最小/最大值),我想生成一组图像的关键点.我已经对数据应用了高斯平滑函数~10次,但它开始时看起来很晃动.
有任何想法吗?
这是我的原始代码,但它不会产生非常好的结果(为了摆动):
def local_maximum(list, center, delta):
maximum = [0, 0]
for i in range(delta):
if list[center + i] > maximum[1]: maximum = [center + i, list[center + i]]
if list[center - i] > maximum[1]: maximum = [center - i, list[center - i]]
return maximum
def count_maxima(list, start, end, delta, threshold = 10):
count = 0
for i in range(start + delta, end - delta):
if abs(list[i] - local_maximum(list, i, delta)[1]) < threshold: count += 1
return …
Run Code Online (Sandbox Code Playgroud) python statistics list frequency-distribution frequency-analysis
我已经从麦克风输入实时计算FFT和音调+绝对频率.现在我想计算音色.
我看到梅尔频率倒谱系数 - MFCC,但我不太了解它.有人可以给我一些关于这个的提示..
我一直在iphone上进行简单的频率检测设置.在存在谐波的情况下,使用FFT结果在频域中进行分析有些不可靠.我希望使用倒谱结果来帮助确定正在播放的基本频率.
我正在使用AudioToolbox框架中的AudioQueues,并使用Accelerate框架进行傅立叶变换.
我的过程正是维基百科的Cepstrum文章中列出的Real Power Cepstrum,具体为:信号→FT→abs()→square→log→FT→abs()→square→power倒谱.
我遇到的问题是倒谱结果非常嘈杂.我必须删除第一个和最后20个值,因为它们与其他值相比是天文数字.即使在"清理"数据之后,仍然存在大量的变化 - 远远超过我对第一张图的预期.有关频域和quefrency域的可视化,请参见下面的图片.
FFT
倒谱
当我在频域中看到如此明显的赢家时,我希望在quefrency域中看到类似的清晰结果.我玩了A440,并希望bin 82左右的音量最高.图表上的第三个峰值代表bin 79,它足够接近.正如我所说,前20个左右垃圾桶在幅度如此天文数字的是unusuable,我不得不从数据集中删除他们为了看到什么.倒谱数据的另一个奇怪的质量是偶数箱似乎远远高于奇数箱.以下是77-86的频率分档:
77: 151150.0313
78: 22385.92773
79: 298753.1875
80: 56532.72656
81: 114177.4766
82: 31222.88281
83: 4620.785156
84: 13382.5332
85: 83.668259
86: 1205.023193
Run Code Online (Sandbox Code Playgroud)
我的问题是如何清理频域,以便我的Cepstrum域结果不那么疯狂.或者,帮助我更好地理解如何解释这些结果,如果它们正如人们在倒谱分析中所期望的那样.我可以发布我正在使用的代码的示例,但它主要使用vDSP调用,我不知道它会有多大帮助.
我正在考虑编写一个程序来收集大量文本中最常用的短语.如果问题被简化为仅仅找到单词而不是将每个新单词存储在散列映射中然后在每次出现时增加计数那么简单.但是对于短语,将句子的每个排列存储为关键似乎是不可行的.
基本上,问题被缩小到找出如何从足够大的文本中提取每个可能的短语.计算短语然后按出现次数排序变得微不足道.
algorithm frequency frequency-analysis data-structures word-frequency
【这不是重复的.类似的问题涉及人们可以控制源数据的情况.我不.】
在日本有一种叫做"紧急警告广播系统"的东西.激活时看起来像这样:http://www.youtube.com/watch?v = 9hjlYvp9Pxs
在上面的视频中,在2:37左右,发送FSK调制信号.我想解析这个信号; 即,给定一个包含信号的WAV文件,我想最终得到一个包含0和1的StringBuilder,以便稍后处理它们.我有二进制数据的规范和所有,但问题是我对音频编程一无所知.:(
这只是一个爱好项目,但我迷上了.电视和广播制造商可以接收到这个信号并让他们的设备做出反应,所以它不会那么难,对吧?:(
有关信号的事实:
到目前为止我做了什么:
我遇到的问题:
我的问题:
读取样本的代码是(简化的):
StringBuilder ews_bits = new StringBuilder();
double[] samples = new double[(int)(samplesPerMs * 16.625D)];
int index = 0, readTo = /* current offset + RIFF subChunk2Size */;
BinaryReader br = /* at start of PCM data */;
while (br.BaseStream.Position < readTo)
{
switch (bitsPerSample / 8)
{
case …
Run Code Online (Sandbox Code Playgroud) 我有网站,我需要显示Live Mic Audio的频率.我有一个这个代码,但它很难理解(它使用傅里叶变换和所有).在一些研究中,我知道getByteFrequencyData()
哪个返回音频的频率.有没有人之前使用过Live Mic Audio,最好是在Web Audio API中?