vb中怎么样对声音文件进行变调,变高或变低?? 就像输入一个wav文件,是一个钢琴音符do,这时候把他变成re,fa,mi,sol就像midi中的那128个音色一样,可以升高音降低音,所以我想自己添加一种音色,或者就是存成wav文件或其他格式声音文件然后变调,不知道怎么弄啊求指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果不了解喇叭是如何发声的理论,理解起来就麻烦点。其实,喇叭就是一个电磁铁上粘根金属线扯动纸盆中心部位上下移动发出声音的。这种上下移动有几个关键参数决定声音的音色。1、上下移动的变换速度,这个称之为频率,这个频率决定了声音的高中低音的变换2、上下移动的力度,这个是数模(D/A)转换时主要控制的功率,通常用来控制音量因为喇叭是以一种模拟信号工作的,所以每一次向上和向下移动的力度会根据不同的电压而不同。但在数字领域里,就通过一种模数(A/D)转换的技术来记录这种电压功率的波形变换。在 WAV 文件里,由基本的文件头+音频数据所组成。在文件头中,有这么几个概念,就是声道、采样频率、数据位。声道: 这个应该好理解,通常是指单声道和双声道,就是说每个声道有一个独立数据,如果是双声道就有两个喇叭(左右)的数据。采样频率: 这个可以理解是每一个捕获音频变化时的间隔时间,如果时间越短,细节就越多,当然采样的效果就越好,而这种采样频率是以秒为单位、采样次数来说明的,如 8000kHz/秒,就是说:1秒*1000=1000毫秒1000毫秒*1000=1000000微秒1000000微秒/8000次 = 125微秒/次这 125 微秒 就是每次 A/D 转换采集过程的间隔时间那么每一次模数转换的二进制数量是多少呢?这就是数据位数据位: 是以二进制为单位来说明的,比如8位,则表示8个二进制位的数据,也就是一个字节的内容。所以我们可以这么理解这样一个WAV文件数据:采样频率:8000 kHz 数据位:8 声道:单就是每 125微秒采集一次模拟信号,并将模拟信号转换为 8 个二进制位(1个字节)的过程也就是说, 读 8000 个字节的数据就得到一秒内的音频数据如果想对声音进行改变,主要就是控制好这些频率的变化情况,比如要加高声调,只要最简单的就是提高速度,怎么提高速度?比如原来是8000个字节一秒,你减一点不就好了吗,比如提高一倍速度,就是用新的4000个字节表示完原来的8000个字节数据,算法有很多,用一种简单的方法就是每两个字节相加除以2,然后以这个数作为合并数取代原来的两个字节数据,这样就少了一半数据,然后改一下 WAV 的文件头,把数据大小改一下就OK了同理,降低音调也差不多,比如每个字节都重复原来位置出现一次,速度变慢了,音调也就降下来了,当然这种音频计算方法还有很多,还有不用改变时长的降掉或升调算法,当你理解这些是什么回事后再自己了解吧,我也就不多说了。 vb的Winsock TCP连接的问题 VB的winsock实现仿HTTP文件上传 面试题目,请求解答! 大虾帮忙!!!vb很简单的一个软件!! 关于commondialog选取多个文件 请问如何 datareport得如此报表: 如何安装EVB开发环境 SQL 高手請進!!!!(數據同步更新問題) 如何HOOK vbs里调用的函数? 摸拟XP关机效果 求助!关于文件的MD5值,可用哪些API函数? 请问告诉如何自动抓取网页数据,然后读写到access数据库
其实,喇叭就是一个电磁铁上粘根金属线扯动纸盆中心部位上下移动发出声音的。
这种上下移动有几个关键参数决定声音的音色。
1、上下移动的变换速度,这个称之为频率,这个频率决定了声音的高中低音的变换
2、上下移动的力度,这个是数模(D/A)转换时主要控制的功率,通常用来控制音量因为喇叭是以一种模拟信号工作的,所以每一次向上和向下移动的力度会根据不同的电压而不同。
但在数字领域里,就通过一种模数(A/D)转换的技术来记录这种电压功率的波形变换。
在 WAV 文件里,由基本的文件头+音频数据所组成。在文件头中,有这么几个概念,就是声道、
采样频率、数据位。
声道:
这个应该好理解,通常是指单声道和双声道,就是说每个声道有一个独立数据,如果是双
声道就有两个喇叭(左右)的数据。采样频率:
这个可以理解是每一个捕获音频变化时的间隔时间,如果时间越短,细节就越多,当然采样
的效果就越好,而这种采样频率是以秒为单位、采样次数来说明的,如 8000kHz/秒,就是说:
1秒*1000=1000毫秒
1000毫秒*1000=1000000微秒
1000000微秒/8000次 = 125微秒/次
这 125 微秒 就是每次 A/D 转换采集过程的间隔时间
那么每一次模数转换的二进制数量是多少呢?这就是数据位数据位:
是以二进制为单位来说明的,比如8位,则表示8个二进制位的数据,也就是一个字节的内容。所以我们可以这么理解这样一个WAV文件数据:
采样频率:8000 kHz 数据位:8 声道:单就是每 125微秒采集一次模拟信号,并将模拟信号转换为 8 个二进制位(1个字节)的过程也就是说, 读 8000 个字节的数据就得到一秒内的音频数据如果想对声音进行改变,主要就是控制好这些频率的变化情况,比如要加高声调,只要最简单的就是提高速度,怎么提高速度?比如原来是8000个字节一秒,你减一点不就好了吗,比如提高一倍速度,就是用新的4000个字节表示完原来的8000个字节数据,算法有很多,用一种简单的方法就是每两个字节相加除以2,然后以这个数作为合并数取代原来的两个字节数据,这样就少了一半数据,然后改一下 WAV 的文件头,把数据大小改一下就OK了同理,降低音调也差不多,比如每个字节都重复原来位置出现一次,速度变慢了,音调也就降下来了,当然这种音频计算方法还有很多,还有不用改变时长的降掉或升调算法,当你理解这些是什么回事后再自己了解吧,我也就不多说了。