请问如何从声音曲线中分离出频率数据?一个频谱分析的问题(高手请进)

TBBT 2004-01-26 12:25:49
我现在得到了声卡的波形数据,现在要从中分离出各频段的信号分量,请问怎么玩啊

就是类似WINAMP的波形与频谱显示
...全文
348 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangyds 2004-01-30
  • 打赏
  • 举报
回复
声音的话可以用以下的函数:
' Set the global music/sample/stream volume levels.
' musvol : MOD music global volume level (0-100, -1=leave current)
' samvol : Sample global volume level (0-100, -1=leave current)
' strvol : Stream global volume level (0-100, -1=leave current)
Declare Sub BASS_SetGlobalVolumes Lib "bass.dll" (ByVal musvol As Long, ByVal samvol As Long, ByVal strvol As Long)

' Retrive the global music/sample/stream volume levels.
' musvol : MOD music global volume level (NULL=don't retrieve it)
' samvol : Sample global volume level (NULL=don't retrieve it)
' strvol : Stream global volume level (NULL=don't retrieve it)
Declare Sub BASS_GetGlobalVolumes Lib "bass.dll" (ByRef musvol As Long, ByRef samvol As Long, ByRef strvol As Long)



' Set the digital output master volume.
' volume : Desired volume level (0-100)
Declare Function BASS_SetVolume Lib "bass.dll" (ByVal volume As Long) As Integer

' Get the digital output master volume.
' RETURN : The volume level (0-100, -1=error)
Declare Function BASS_GetVolume Lib "bass.dll" () As Long

当然也可以用:
waveOutGetVolume、waveOutSetVolume这两个API函数,具体的例子搜索一下一大堆。
Bosee 2004-01-29
  • 打赏
  • 举报
回复
MSDN的PlatformSDK的Audio Mixer部分,有一个叫Meter Controls的东东可以获得实时波形电平.不过好像在XP下无效,你可以试试
TBBT 2004-01-27
  • 打赏
  • 举报
回复
谢谢,那个BASS还真不错

还差一步,我如何获得音量,分一定给
TBBT 2004-01-26
  • 打赏
  • 举报
回复
大侠们,我看过了,还是不对

我现在已能得到波形数据,现在要通过FFT快速傅里叶变换得到频谱分量

高手快帮忙啊!
rainstormmaster 2004-01-26
  • 打赏
  • 举报
回复
up
cso 2004-01-26
  • 打赏
  • 举报
回复
http://www.vbaspnew.com/ziyuan/y/dmt/
cso 2004-01-26
  • 打赏
  • 举报
回复
播放.WAV文件,并显示其波形
http://www.vbaspnew.com/ziyuan/y/dmt/m013.ZIP
fangyds 2004-01-26
  • 打赏
  • 举报
回复
http://www.un4seen.com/files/bass20.zip

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧