使用Java进行音频操作

use*_*843 3 java audio javasound

数字图像的最小单位是像素.什么是最小的数字声音单位?什么可以被认为是声音的像素?我们如何使用java来操作它?

And*_*son 5

最小的声音单位称为帧.对于8位单声道,它将是一个字节.对于立体声16位,它将是4个字节.

我们如何使用Java来操作它?

这取决于你想用它做什么.您需要更具体地获得合理的答案.

一些可能的操作是:

  • 成交量变化
  • 无论有没有加快或减慢播放速度..
  • 俯仰转移
  • 频谱分析..

..扬声器能产生多少赫兹或样品?

这在很大程度上取决于发言者.扬声器具有所有不同类型的动态范围,通常采用一种没有绝对上限或下限的"钟形曲线".

这是否意味着存储1秒音乐CD质量需要44KB?

CD质量声音的每一帧包含4个字节,因为它是立体声,16位.将4个字节乘以44100以计算每秒的字节数.

单声道和立体声有什么区别?

单声道有一个声道,立体声有两个.

我想要做的是操纵单个声音单元,以及 - 创建自定义乐器/合成器.

在代码中生成简单的正弦声音并不困难.请参阅Beeper示例.

通过使用声音的ADSR(Attack,Decay,Sustain,Release)包络可以创建许多其他效果.例如,将吉他音符的ADSR包络应用于钢琴音符将使其听起来像钢琴一样神奇,反之亦然.

什么是频道?它是否像扬声器 - 左扬声器是一个声道,右扬声器是另一个?

差不多.单声道听起来像垃圾(IMO),而立体声可以使不同的乐器听起来像来自不同的位置,就像乐队坐在你面前一样.

5.1声道的声音有点复杂,且通常为1它通过简单地"欺骗".

  • 将左声道穿过左扬声器.
  • 将右声道穿过右扬声器.
  • 将它们均匀混合并将其放入中央扬声器.
  • 仅过滤低频声音并通过单个低音扬声器或低音扬声器进行过滤.人耳不能轻易分辨低频声音的来源,因此这是可以接受的.低音扬声器可以放在房间的任何地方,听起来也一样.

  1. 说实话,我不知道任何实际存储声音的5或6个声道的声音格式,我认为它在运行时分离出来(对于低音扬声器)或者在硬件中混合在一起(对于中置扬声器) .在任何情况下,Java Sound都只能直接处理一个或两个通道.