2011-11-30 81 views
0

我希望能够制作自己的声音文件。其实发挥一定的声音几秒钟,然后继续下一部分分机...声音。它究竟如何工作?

像..例如,图像(如果你认为一个位图)有像素。每个像素都有一个由十六进制标识的特定颜色变化。

如果我想绘制图像,我会阅读图像文件,找到合适的ID,并在该位置显示该特定颜色。

声音如何工作?它的hz和流媒体就像一个视频,所以它会......通过在那个'时刻'播放特定的HZ然后移动到下一个HZ来识别它?

我可能会使用C++或Java来制作/播放它,所以任何帮助将不胜感激。

回答

1

你的问题是有点模糊,但我会解释一样的.wav格式的基本思想:

捕获声波的时间间隔:

enter image description here

赫兹用于确定间隔的大小。如果绘制在一张图上,它就会像它产生的声波一样。

+0

不好意思让我说清楚一点。 有什么方法与C或Java中的声卡进行通话并且实际播放声音? 例如...对于一个图像(不是字面意思),它将显示(pixelID:Hexa,x,y,z)并循环显示,直到所有图像都完成为止。 对于声音来说,它会是..... play(.... HZid?)... – sfxworks

+0

@sfxworks操作系统应该提供一个函数,或者您可以使用类似OpenAL的函数库。 – Pubby

2

未压缩的声音文件通常与信息一起存储,其中包括采样率,通道数和每个采样的位数等等。

除此之外,他们还定义了一个样本集合。这些采样以恒定的间隔(采样率)出现,并以文件指定的采样格式表示幅度。

你可以认为它是图像的电影与更少的域和更高的采样频率(相当于fps)。每帧表示一个幅度而不是图像。

lisndfile可能是了解音频文件结构的一个很好的起点 - 它支持多种格式。