有关声音频率(200分)

  • 主题发起人 主题发起人 screen
  • 开始时间 开始时间
S

screen

Unregistered / Unconfirmed
GUEST, unregistred user!
我想作一些和声音变调相关的东西,可是没有这方面的资料
主要是和声音频率相关的,比如winamp上可以调节各个频段
强弱的东西,只要提供线索者,都有分.
 
音调频率(HZ)=(15625*(2^音阶数))/(511-音调值)

音符 音调值
A 3
A# 31
B 58
C 83
C# 107
D 130
D# 151
E 172
F 191
F# 209
G 226
G# 242


音阶 范围(HZ)
0 31-61
1 61-122
2 122-244
3 244-488
4 489-977
5 978-1.95k
6 1.96-3.91k
7 3.910-7.81k
 
我想你用得到,同时你可以搜索一下关于
Delphi 发音的控件(PC喇叭的比较简单)

function waveOutSetVolume(hwo: HWAVEOUT;
dwVolume: DWORD): MMRESULT;
stdcall;
function waveOutGetErrorTextA(mmrError: MMRESULT;
lpText: PAnsiChar;
uSize: UINT): MMRESULT;
stdcall;
function midiOutSetVolume(hwo: HWAVEOUT;
dwVolume: DWORD): MMRESULT;
stdcall;
function midiOutGetErrorTextA(mmrError: MMRESULT;
lpText: PAnsiChar;
uSize: UINT): MMRESULT;
stdcall;
function auxSetVolume(hwo: HWAVEOUT;
dwVolume: DWORD): MMRESULT;
stdcall;
function auxGetErrorTextA(mmrError: MMRESULT;
lpText: PAnsiChar;
uSize: UINT): MMRESULT;
stdcall;

waveOutSetVolume(hwo: HWAVEOUT;
dwVolume:DWORD)

dwVolume --- 音量大小 HWORD---Left volume
LWORD--Right volume
 
可是,如果不是标准的音阶,比如人说话,有是什么情况呢?
 
本质上还是声音频率的问题,只不过是范围不同罢了。
 
但是有泛音在,问题复杂多了,
比如现在想让声卡发出平稳的某个音调,是很容易的,
但是如果想让声卡说一句话,就很困难了.
不知道有没有办法.当然不是先录好再放出来.呵呵.
 
附加功能 将问题提前
 
多人接受答案了。
 
后退
顶部