科学の箱

科学・IT・登山の話題

IT バイオリン

midiで入力デバイスの一覧を取得する

投稿日:

マイクロフォンを使いmidiで録音をしてみる。下記のページからmidiデバイスの一覧を取得したが、肝心のマイクロフォンが含まれていない。

バイオリンのチューナーを作る – midiをさらに掘り下げた

確認してみるとmidiデバイスと入力デバイスは異なっている。入力デバイスの一部にmidiデバイスが含まれている。よってmidiで録音するために必要な機能は以下になる。

  • 入力デバイスの一覧を取得する
  • マイクロフォンを選択する
  • レコードする
  • midiで出力する。

まずは入力デバイスの一覧を取得してみた。


package midi09_mixer;

import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Line;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.Mixer;

public class midi09 {
public static void main(String[] args) {
try {

Mixer.Info[] mixerInfos = AudioSystem.getMixerInfo();
for (Mixer.Info info : mixerInfos) {
Mixer m = AudioSystem.getMixer(info);
Line.Info[] lineInfos = m.getSourceLineInfo();
for (Line.Info lineInfo : lineInfos) {
System.out.println(info.getName() + "---" + lineInfo);
Line line;
line = m.getLine(lineInfo);
System.out.println("\t-----" + line);
}
lineInfos = m.getTargetLineInfo();
for (Line.Info lineInfo : lineInfos) {
System.out.println(m + "---" + lineInfo);
Line line = m.getLine(lineInfo);
System.out.println("\t-----" + line);

}
}
} catch (LineUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

ここから特定の入力機器を音源にするためにはgetMixerでミキサーオブジェクトを取得→Lineを取得する。

メタ情報

inarticle



メタ情報

inarticle



-IT, バイオリン
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

RemoteAppをXP, 2003で使う際に便利なツール

RemoteAppを2008以前の古いOSで実行する場合には2つの作業が必要になる。 RDP Clientの更新 レジストリでremoteで実行するアプリケーションの登録 RDP Clientの更新は …

no image

PowershellでWindowsイベントを操作する

PowershellはWindows7およびWindows2008R2には標準で実装されている。これを利用してCUIベースでのイベントログの操作が可能になる。 イベントのログ形式は2つに分かれる。Wi …

no image

cmderであらかじめ設定しておくと便利な項目

cmderでls実行時に日本語文字が表示された際にずれることがある。このような場合には下記の設定でmonospeceからチェックを取り外しておく。これにより日本語が表示されたときに文字が崩れなくなる。 …

no image

Active Directoryでアカウントがロックされた時の調査

Active Directoryでアカウントがロックされた場合には、特定のサーバーからパスワード認証が要求されて、間違ったパスワードが送られて来て失敗している可能性がある。 どのサーバーから送られてき …

no image

RemoteFPingの設定

SmokePingで拠点間のping情報を集約する方法は2通りある。一つはslaveモードを使う方法。もう一つはRemoteFPingを使う。 Slaveは以前設定をしたことがある。不都合としては3点 …

2013年11月
« 10月   12月 »
 123
45678910
11121314151617
18192021222324
252627282930  

side bar top



アーカイブ

カテゴリー