数字图像的最小单位是像素。数字声音的最小单位是什么?什么是声音的像素?我们如何使用java来操纵它呢?
发布于 2014-01-09 14:30:01
数字声音的最小单位是一个样本--一个特定时间点的信号电平。但见下文增编。
要使用Java来操作它:如果你必须问这个问题,你可能想去寻找其他人写过的库。
但是,如果你想知道一般情况下会涉及到什么:读入声音文件。如果它是压缩格式(如MP3),则解压缩它。这将给你一个很长的阵列/样本向量。您可以剪切和粘贴部分,以编辑录音,或缩放,使其更软或更响亮(小心“剪辑”,这会导致你试图超过最大音量)。更复杂的操作是可能的,但这是digital signal processing的一个完整的过程,我不打算在这里做--网络搜索这个短语,特别是与sound、audio或music结合使用时,应该可以找到更多的信息。
您还可以通过编程方式生成示例来生成自己的音频。在不同样本间正弦变化的信号会产生纯音。其他重复的形状增加了各种不同的色调。改变重复的频率会改变音高。将多个信号加在一起(同时注意剪裁)会将它们混合成一个信号。诸若此类。
请注意,MIDI不是“数字声音”--它是一个数字分数。它描述了什么音符应该在什么时候播放,但要由合成器来把它转换成声音。
增编:我以前没听过“框架”这个词(见安德鲁的回答),但我会相信的。我想到示例是因为我在考虑硬件层,但是区别于示例意味着音频剪辑是一件好事,所以我打赌帧确实更正确/当前。
发布于 2014-01-09 14:19:50
在java中,您通常会使用AudioInputStream实例(这些实例是从Java定义的类中获得的)。这些都是按字节读取的回放。我从来没有做过自己的操作,但据我所知,这主要是通过Java声音的混合器类完成的。
下面的教程应该包含您正在寻找的所有信息:http://docs.oracle.com/javase/tutorial/sound/playing.html
https://stackoverflow.com/questions/21022554
复制相似问题