Minim:层级

Minim主要基于两个类建立:Controller 和 AudioSource,并由四个interface(界面)定义:Playable, Effectable, Polyphonic, 和 Recordable。在Java中,一个界面被定义为一个仅含函数定义的类。即,它仅含有一堆功能而并不实际执行其中任一。

在JavaSound里,当一个音频在你的系统和软件间传送时,他都会经过一条Line(线),这是JavaSound API里定义的一个界面。一条线可以控制例如声相、音量和平衡等,这些控制可以实时改变声音。你可以经由基础类Controller、AudioSnippet以及源自Controller的AudioSource来获取这些控制。

AudioSource定义了三个AudioBuffer:left, right, 和 mix。这三个采样缓冲器(一个采样缓冲器就是一个浮动数组)包含左通道、右通道和左右混合通道。AudioPlayer, AudioOutput, AudioInput, 和 AudioSample都来自AudioSource,这意味着它们都像数据成员般继承这些缓冲器,同时意味着它们都能提供进入采样的通路。

AudioSource同样执行四个界面中的两个:Recordable(可录制) 和 Effectable(可加效果)。因此,上述四个来自AudioSource的类同样可以Recordable 和 Effectable。

最后,因为方法遗传的层叠性,这四个来自AudioSource的类同样继承Controller。这么想,比如说:AudioPlayer是一个AudioSource同时也是一个Controller。因此,你能用AudioSource或Controller做的所有事,同样可以用AudioPlayer来完成。

Be Sociable, Share!

《Minim:层级》有2个想法

  1. processing的minim库中采样的是声音的频率,如果想采集声音的节奏以控制生成图像,可以做到么?怎样做到?

    Reply

    ww1way Reply:

    @千帆0_0, 我想要做到这点你首先要知道“节奏”是什么,然后进一步阐述你的问题

    Reply

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.