• 締切済み

オーディオライン入力からの録音(音楽情報処理)

パソコンについているオーディオライン入力に エレキギターのシールド(導線?)をつなげて .wavファイルとして録音したいのですが、 うまくいきません。 録音するプログラムは ↓のサイトで発見し、 http://www.hellohiro.com/sound.htm 確かにパソコンに付属のマイクから 録音ができたのですが。 ラインに入力をしてもマイクから録音してしまいます。 ラインには確かに信号が伝わっていることは システム環境設定から確認済みです。 何かご意見、アドバイスがありましたら 簡単なものでいいのでぜひお願いします。

みんなの回答

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.2

Macなんですか。。。 Macは全くわからないもので、お役に立てそうにありません。。残念です。 今のmacって、unix系だから、/dev/XXXXからストリーム開いて直接ファイルとして読み込むしかないとか?・・・・だったりしませんかね(^-^;

ykkdesu
質問者

お礼

なるほど! そうかもしれませんね…。 windowsパソコンもあるのでこっちでもとりあえず試してみます。

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

私も調べきったわけではないのですが、 入力を切り替えるということは、Mixerを使うんじゃないでしょうか。 直接soundLineを使ったら、0番目が何かはしりません(多分マイクなのでしょう)が常に使われるってことではないでしょうか。

ykkdesu
質問者

お礼

わざわざ回答ありがとうございます! 僕もそう考えています。 とりあえず情報を表示してみようと思って Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); for(int i=0; i<mixerInfo.length; i++) { System.out.println(mixerInfo[i].getName() + i); System.out.println(mixerInfo[i].getVendor() + i); Mixer mixerArray = AudioSystem.getMixer(mixerInfo[1]); Line.Info[] lineinfo = mixerArray.getTargetLineInfo(); for(int j=0; j<lineinfo.length; j++) { System.out.println(lineinfo[j].toString() + j); } } といった感じで出してみると Java Sound Audio Engine0 Sun Microsystems0 Mac OS X,CoreAudio,Audio hardware1 Unknown Vendor1 interface TargetDataLine supporting 8 audio formats0 2 Unknown Vendor2 interface TargetDataLine supporting 8 audio formats0 …と出るので 二つのTargetDataLineをためしてみたんですが… それでもやはりマイク入力に…。

ykkdesu
質問者

補足

Mixer mixerArray = AudioSystem.getMixer(mixerInfo[1]); じゃなくて Mixer mixerArray = AudioSystem.getMixer(mixerInfo[i]); でしたね…

関連するQ&A