关于javax.sound.midi包的一些浅层探究(二)

本文深入探讨Java的javax.sound.midi包,讲解如何捕获和处理MIDI音符信号。通过Sequence类的Message机制,了解ShortMessage和MetaMessage在控制音轨播放中的作用。同时介绍如何利用Sequencer的传输器和接收器监听并处理MIDI信息。
摘要由CSDN通过智能技术生成

上篇稍微带过了一下javax.sound.midi包进行midi播放的方式。那么这里我们就来看看怎么样捕获和处理midi的音符信号。

之前我们有使用过Sequence类当中的一个方法:

Track[] tracks = Sequence.getTracks();

对音频处理稍有了解就知道,midi记录的声音信息是多轨的,根据midi的信号原则,最多可以有128条轨道(编号为0~127)。所以说一个 javax.sound.midi.Track其实就是一个在此midi中存在的音轨数据的实例化对象。

midi使用一种叫做“信息”(Message)的机制来存储音符信息,一般来说,信息可以被翻译成“短信息”(ShortMessage , 注意和手机的”短信“区别开)和”综合信息“(MetaMessage)。根据文档上对于信息内容的分类,可知短信息是负责控制轨道开始发声、停止发声、调整音量和做其他播放有关的控制的。而综合信息并没有被定义实际的用途,我们可以在MetaMessage的Javadoc上看到这样一段。

/** A <code>MetaMessage</code> is a <code>{@link MidiMessage}</code> that is not meaningful to synthesizers, but
 * that 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值