科学の箱

科学・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

chefでyum updateを実行するための手順

まずクックブックを作成する knife cookbook create yumupdate -o site-cookbooks ./recipe/default.rbを編集する execute “yu …

no image

Networkerサーバーで起動しているプロセスについての説明

Related posts:DynamipisのインストールBackup group contains no enabled clients , Enable one or more clients …

no image

NuGetをVisual Studioなしで使う方法

いくつかのアプリケーションはNuGet経由でインストールされる。NuGetはVisual Studioと相性がよいために、MicrosoftのサイトではViusual Studioのコンポーネントとし …

no image

WordPressのサイトURLを変更する

WordPressをインストールしたディレクトリとサイトURLを変更する方法 WordPressをインストールしたときにはテストから始まるのでいつもルートディレクトリ/wpにインストールする。開発およ …

no image

RFpingで複数のホストを設定する

*** Probes *** +RemoteFPing binary=/usr/bin/ssh rbinary=/usr/bin/fping hostinterval=1.5 pings=20 pac …

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

side bar top



アーカイブ

カテゴリー