- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我一直在为声音文件制作一个小可视化工具,只是为了好玩。我基本上想模仿 Windows Media Player 中的“Scope”和“Ocean Mist”可视化工具。 Scope 很容易,但我在使用 Ocean Mist 时遇到了问题。我很确定它是某种频谱,但是当我对波形数据进行 FFT 时,我没有得到与 Ocean Mist 显示的数据相对应的数据。频谱实际上看起来是正确的,所以我知道 FFT 没有任何问题。我假设可视化器通过某种过滤器运行光谱,但我不知道它可能是什么。有任何想法吗?
编辑2:
我在这里发布了我的代码的编辑版本(编者注:链接不再有效)。通过编辑,我的意思是我删除了所有地方的所有实验注释,只留下事件代码。我还添加了一些描述性评论。可视化工具现在看起来像 this .
编辑:
这里是图像。第一个是我的可视化工具,第二个是 Ocean Mist。
最佳答案
这是一些 Octave 代码,显示了我认为应该发生的事情。我希望语法是不言自明的:
%# First generate some test data
%# make a time domain waveform of sin + low level noise
N = 1024;
x = sin(2*pi*200.5*((0:1:(N-1))')/N) + 0.01*randn(N,1);
%# Now do the processing the way the visualizer should
%# first apply Hann window = 0.5*(1+cos)
xw = x.*hann(N, 'periodic');
%# Calculate FFT. Octave returns double sided spectrum
Sw = fft(xw);
%# Calculate the magnitude of the first half of the spectrum
Sw = abs(Sw(1:(1+N/2))); %# abs is sqrt(real^2 + imag^2)
%# For comparison, also calculate the unwindowed spectrum
Sx = fft(x)
Sx = abs(Sx(1:(1+N/2)));
subplot(2,1,1);
plot([Sx Sw]); %# linear axes, blue is unwindowed version
subplot(2,1,2);
loglog([Sx Sw]); %# both axes logarithmic
关于audio - 归一化 FFT 幅度以模仿 WMP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2466196/
我可以在商业应用程序中使用对 wmpLib.ddl/wmp.dll (\windows\system32\wmp.dll) 的引用吗? 我正在使用 Visual Studio 2008 Express
我可以在商业应用程序中使用对 wmpLib.ddl/wmp.dll (\windows\system32\wmp.dll) 的引用吗? 我正在使用 Visual Studio 2008 Express
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
我的项目是构建一个简单的游戏,现在我只制作了主菜单 Form1有 5 个按钮。按钮有 MouseClick和 MouseEnter在他们身上,我有一个使用 WMP 方法(使用 WMPLib 和 axW
我想要做的是设置 Windows Media Player 的音量级别。默认情况下,音量增加/减少 10%。单击向下或向上菜单项(播放 -> 音量 -> 向上),但在我看来,这还不够好(尤其是在例如边
我想在我的应用程序中使用系统可用的 Windows Media Player 可视化工具。显然,可视化工具公开了一个 IWMPEffects与世界的接口(interface)。我的问题是如何枚举和创建
所以,我一直在为声音文件制作一个小可视化工具,只是为了好玩。我基本上想模仿 Windows Media Player 中的“Scope”和“Ocean Mist”可视化工具。 Scope 很容易,但我
我有一个 WMP 播放器对象,我正在尝试添加一个事件监听器来拦截发送到播放器的 ScriptCommand。我的回调不是附加到 WMP 对象,而是立即被调用,然后 ScriptCommand 就不会被
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我正在编写一个视频 DMO 解码器并尝试将位图返回到 WMP 渲染器以供显示......但是 WMP 将其显示颠倒! 这是代码: HBITMAP* hBmp = new HBITMAP(); int
尝试将 0.02 fps 的 1 小时视频转换为 10 fps 的非常短的视频(加速 100 倍)以包含在 powerpoint 演示文稿中。 我这样做了: ffmpeg - input.mp4 -f
安装 Visual Studio 2017 RC 后,我有一些无法构建的代码。我已将范围缩小到 WMP 和 .NET Framework 2(它在 Framework 4 下工作) 最基本的测试设置是
我正在使用 C# 尝试检索当前正在播放的歌曲的名称并将其显示在列表框中,因此播放的每首歌曲都会显示在列表框中。 Using System; Using WMPLib; public IWMPMedia
我有一个 WCF 服务,它对媒体文件进行故事化,并以 Stream 对象的形式将它们返回给使用应用程序。当消费应用程序想要使用 MediaElement 流式传输媒体时,就会出现问题。众所周知,Med
我有以下代码:http://pastebin.com/EgjbzqA2这基本上只是 http://www.dreamincode.net/forums/topic/57357-mymusic-play
我正在尝试在我的 Win32 应用程序中嵌入一个 WMP 控件。我在这里遵循了示例代码:Hosting the Windows Media Player Control in a Windows Ap
我使用 axWindowsMediaPlayer 控件播放视频,我使用以下方法通过移动搜索来显示当前视频帧。 axWindowsMediaPlayer1.settings.setMode("showF
我是一名优秀的程序员,十分优秀!