お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#26 2010-04-16 21:24:08

hmatsue
アドバイザ
登録日: 2009-03-10

Re: RS232Cに接続したMIDI音源を動かすには?。

む。ダメでしたか。
まず、
sudo /bin/setserial /dev/ttyS0 uart none
を実行して、Roland SC-55Mk2を接続し、電源を入れ、
端末を2枚開き、一方で、
tail -f /var/log/syslog
を実行し(終了するときはCtrl+Cして下さい)、
もう一方で、
sudo /sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=115200
を実行し、
tail -f /var/log/syslog
している方に出力されるエラーメッセージを投稿してみて下さい。

オフライン

 

#27 2010-04-16 23:10:40

Crush
メンバ
登録日: 2009-02-10

Re: RS232Cに接続したMIDI音源を動かすには?。

MIDIのシリアル通信速度は、31250bps。普通シリアルにこの速度はないので、38400bpsのモードもあったはず。
115.2Kでは通信できないと思うよ?

SC-88は、MIDIポートを二つ持っていて、エクスクルーシヴメッセージで、切り替えることも出来るので、32パート制御できます。
もっとも、音源が遅いので、カツカツにデータ詰め込むと音源が全くついてこないんですが。

S-MPUで、接続してたんで、シリアルでは使ったこと無いけど。

オフライン

 

#28 2010-04-17 01:41:45

Mocchi
管理者
登録日: 2009-05-17

Re: RS232Cに接続したMIDI音源を動かすには?。

hmatsueさん、どうもありがとうございます。

コード:

/bin/setserial /dev/ttyS0

Mr.M による投稿:

こちらの環境は、この様になりました。
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
はて?、当たり前ですが、違いますね。

私が今使っているノートもシリアルポートを持っていて、上記コマンドを実行すると、同じ出力が出てきました。
UARTはこのシリアルポートの集積回路名のようで、16550Aというのはかなりメジャーなものらしいです。
Portは「0x03f8」で認識。
IRQは割り込み要求と理解してますが、シリアルにもあるのかな???

このログから、シリアルポートの使用準備は出来ていると判断しましょう。

コード:

sudo /sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=115200

Mr.M による投稿:

FATAL: Error inserting snd_serial_u16550 (/lib/modules/2.6.31-20-generic/kernel/sound/drivers/snd-serial-u16550.ko): No such device

日本語にするなら「デバイスが不明です」あたりでしょうか。デバイス名(Port名)を「0x3f8」で指定してますが、setseriallの出力を見る限りだと「0x03f8」としなければならない気がします。

また、alsawikiの節「Module options」の一番初めの文書を読んでいて気づいたんですが、設定を自動検出してくれるみたいです。自動検出に失敗した場合のみ、モジュールオプションの指定が必要らしいです。

Serial - ALSA wiki による投稿:

The snd-serial-u16550 driver contains some auto-detection code. If this does not work, these options may be required.

それとmodprobeは、有効にしたいカーネルモジュールのある階層で実行する必要があると理解しているので、端末にてコマンド「cd」を利用して階層「/lib/modules/2.6.31-20-generic/kernel/sound/drivers」に移動したのち、コマンド「modprobe」をした方がいいと思います。

以上を踏まえまして、hmatsueさんの指示を以下のように修正したいと思います。

1. sudo /bin/setserial /dev/ttyS0 uart none
2. Roland SC-55Mk2を接続して電源オン
3. 端末(gnome-terminal)を2枚(以下、AとB)開きます。
4. Aでコマンド「tail -f /var/log/syslog」を実行。こうすることで、ログをリアルタイムに見ることができます。
5. Bでコマンド「cd /lib/modules/2.6.31-20-generic/kernel/sound/drivers」を実行してカレントディレクトリを変更。
6. Bでコマンド「sudo /sbin/modprobe snd-serial-u16550」を実行
7. Aの表示の変化を観察してみてください。
8. Aを閉じる際は、キーボードでコントロールキー+Cを同時押し

もしも6.のコマンドでエラーが出るようなら、modprobeをオプション付きで実行してみて下さい。
Crushさんにご指摘いただいたとおり、speedオプションも変更しましょう。
「sudo /sbin/modprobe snd-serial-u16550 adapter=0 port=0x03f8 irq=4 speed=3840038400」

カーネルモジュールの設定に成功したら、サウンドデバイスとして利用出来るようになると思うので、acconectguiでMIDI信号の流れを指定出来るようになるはず。そうしたら、デバイスとシーケンサーソフトウェアをつないで、デバイスに対してMIDI信号を送信することができるようになるはず。そうしたら、GMやGS対応のMIDIファイルを読み込んでシーケンサーで再生すれば、ハードウェアMIDI音源から音楽が出力されるはず。という青写真です。ちょっと手間ですけど、やってみましょう=D

オフライン

 

#29 2010-04-17 01:51:40

Mocchi
管理者
登録日: 2009-05-17

Re: RS232Cに接続したMIDI音源を動かすには?。

Mocchi による投稿:

もしも6.のコマンドでエラーが出るようなら、modprobeをオプション付きで実行してみて下さい。
Crushさんにご指摘いただいたとおり、speedオプションも変更しましょう。
「sudo /sbin/modprobe snd-serial-u16550 adapter=0 port=0x03f8 irq=4 speed=3840038400」

3840038400ってなんのこっちゃ・・・。もう眠いです(笑)
正しくは

コード:

sudo /sbin/modprobe snd-serial-u16550 adapter=0 port=0x03f8 irq=4 speed=38400

オフライン

 

#30 2010-04-17 02:05:36

Firecat
メンバ
登録日: 2009-11-07

Re: RS232Cに接続したMIDI音源を動かすには?。

質問の内容などを理解せずに入力してしまいました。

私の回答は無視してください。

失礼しました。m(_ _)m

(最近疲れてるのかなぁ)

オフライン

 

#31 2010-04-17 02:06:40

Crush
メンバ
登録日: 2009-02-10

Re: RS232Cに接続したMIDI音源を動かすには?。

 16550Aは昔はチップでしたけど、今はSuperIOチップの中に入ってます。
 レガシデバイスなので、省略されることもありますし、物によっては、上位互換で、機能や速度が追加されているチップもあります。
 基本的にはI/Oアドレスと割り込みはポートと対応して固定です。BIOSで設定できる物もありますので、項目があるようならそっちでも確認できます。

 確か、音源側にもスイッチがあって、どちらの速度のシリアルで制御するかを選択できたはずですから、音源側も(確か)PC2側になっているか確認する必要があります。
 ただ、サウンドキャンパスを前提に作られているのなら、モード指定してやれば、速度指定などは明示しなくてもちゃんと動作しそうな気もします。
 オプションが多すぎてエラーになるなんて事も有るかも知れませんけど、どうでしょうね?

 ただ、扱う信号が信号なので、モデムなどのように返事があったり、認識したりということは無いんじゃないかとも。
 エラーが出てしまうのなら、オプションが違うか、ハードウェアに合致した設定になっていないのだろうけども。

オフライン

 

#32 2010-04-17 04:34:01

Mr.M
メンバ
登録日: 2010-04-08

Re: RS232Cに接続したMIDI音源を動かすには?。

hmatsueさん、Mocchiさん、Crushさん、返事ありがとうございます。

さて、これらを踏まえて、自分なりに実行したら、うまくいったようなので、ご報告致します。
まず、

hmatsue による投稿:

む。ダメでしたか。
まず、
sudo /bin/setserial /dev/ttyS0 uart none
を実行して、Roland SC-55Mk2を接続し、電源を入れ、
端末を2枚開き、一方で、
tail -f /var/log/syslog
を実行し(終了するときはCtrl+Cして下さい)、
もう一方で、
sudo /sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=115200
を実行し、
tail -f /var/log/syslog
している方に出力されるエラーメッセージを投稿してみて下さい。

と、言うことなので、準備をしていたところ、次の投稿に

Crush による投稿:

MIDIのシリアル通信速度は、31250bps。普通シリアルにこの速度はないので、38400bpsのモードもあったはず。
115.2Kでは通信できないと思うよ?

と、書いてありましたので、ちょっと考えて、
最後の、115200を38400に変更してみたのです。
すると、何のエラーも起こりませんでした。

Mocch による投稿:

i以上を踏まえまして、hmatsueさんの指示を以下のように修正したいと思います。

1. sudo /bin/setserial /dev/ttyS0 uart none
2. Roland SC-55Mk2を接続して電源オン
3. 端末(gnome-terminal)を2枚(以下、AとB)開きます。
4. Aでコマンド「tail -f /var/log/syslog」を実行。こうすることで、ログをリアルタイムに見ることができます。
5. Bでコマンド「cd /lib/modules/2.6.31-20-generic/kernel/sound/drivers」を実行してカレントディレクトリを変更。
6. Bでコマンド「sudo /sbin/modprobe snd-serial-u16550」を実行
7. Aの表示の変化を観察してみてください。
8. Aを閉じる際は、キーボードでコントロールキー+Cを同時押し

はて?
これは、僕こと、Mr.Mへの指示ではなかったのでしょうか?。
いつ、入れ替わったのでしょうか?。

カーネルモジュールの設定に成功したら、サウンドデバイスとして利用出来るようになると思うので、acconectguiでMIDI信号の流れを指定出来るようになるはず。そうしたら、デバイスとシーケンサーソフトウェアをつないで、デバイスに対してMIDI信号を送信することができるようになるはず。そうしたら、GMやGS対応のMIDIファイルを読み込んでシーケンサーで再生すれば、ハードウェアMIDI音源から音楽が出力されるはず。という青写真です。ちょっと手間ですけど、やってみましょう

がんばります。
でも、まだ、分からないことが多いですね。
青写真を言われても、ちんぷんかんぷんだし。
とりあえず、PCに、「ALSA sequencer』と言うのが入っていますが、これを使うのかな?。


とりあえず、報告致します。

Mr.M

オフライン

 

#33 2010-04-17 09:38:51

hmatsue
アドバイザ
登録日: 2009-03-10

Re: RS232Cに接続したMIDI音源を動かすには?。

おおっと。
通信速度が速すぎましたか。
ご指摘、多謝です > Crushさん

> Mr.Mさん
それでは、認識されているか確認してみましょう。端末で、
cat /proc/asound/cards
とすると、それらしいデバイスが増えていますか?
画面に出力されたものを投稿してみて下さい。

認識されていたとして、これを使うにはどうしたらよいのだろう。。
timidity -Osとかで使えるのかしら。もしくは、rosegardenみたいなGUIソフトを持ってきた方が楽なのかな?

> Mocchiさん
そちらでなにか判りそうでしょうか。

オフライン

 

#34 2010-04-17 11:47:03

Mocchi
管理者
登録日: 2009-05-17

Re: RS232Cに接続したMIDI音源を動かすには?。

hmatsue による投稿:

そちらでなにか判りそうでしょうか。

はい。SC-55Mk2が認識されてしまえば、後はALSA上で、ソフトウェア音源と同じように扱えると思います。シーケンサーソフトウェアとは別に、接続のためのユーティリティソフト(GUI)があるので、そちらを使いましょうか。でもその前に、SC-55Mk2が認識されているかどうかを確認したいと思います。

Mr.Mさん、コマンド「cat /proc/asound/cards」と「cat /proc/asound/seq/clients」の出力を投稿していただけますか?

参考までに、以下は私の環境での表示です。USBの外付けオーディオI/Fと、USBのMIDIキーボードをつないでいます。
ALSA Sequencerのクライアントとして見えていれば成功です。なお、ALSA Sequencerはシーケンサーソフトというよりは、シーケンサーソフトに環境を提供するための仕組みのようです。チラ見ですけど。。。

コード:

mocchi@Workstation:~$ cat /proc/asound/cards
 0 [Intel          ]: HDA-Intel - HDA Intel
                      HDA Intel at 0xfbff8000 irq 37
 1 [USB            ]: USB-Audio - E-MU 0404 | USB
                      E-MU Systems, Inc. E-MU 0404 | USB at usb-0000:00:1d.7-6, high speed
 2 [PCR            ]: USB-Audio - PCR
                      EDIROL PCR at usb-0000:00:1d.0-2, full speed

コード:

mocchi@Workstation:~$ cat /proc/asound/seq/clients
Client info
  cur  clients : 5
  peak clients : 9
  max  clients : 192

Client   0 : "System" [Kernel]
  Port   0 : "Timer" (Rwe-)
  Port   1 : "Announce" (R-e-)
    Connecting To: 15:0
Client  14 : "Midi Through" [Kernel]
  Port   0 : "Midi Through Port-0" (RWe-)
Client  15 : "OSS sequencer" [Kernel]
  Port   0 : "Receiver" (-we-)
    Connected From: 0:1
Client  20 : "E-MU 0404 | USB" [Kernel]
  Port   0 : "E-MU 0404 | USB MIDI 1" (RWeX)
Client  24 : "PCR" [Kernel]
  Port   0 : "PCR MIDI" (RWeX)
  Port   1 : "PCR 1" (RWeX)
  Port   2 : "PCR 2" (R-e-)

オフライン

 

#35 2010-04-17 12:14:44

Crush
メンバ
登録日: 2009-02-10

Re: RS232Cに接続したMIDI音源を動かすには?。

USBは、返事するけど、シリアル接続や、MIDI接続の楽器は返事しないので、データ流して楽器が動作として返事をするか確認するしかないと思うけど。
確認できても、ドライバが「送ってるつもりの状態」がドライバの設定を返事として返すことは有るかと思いますが。

何でもハードウェアが返事するようになったのは、PnPとかUSB以降の話で。
だから、基本的にはレガシなインターフェイスで接続された、ハードウェア音源のソフトウェア的に有効性を確認する方法は無いはずで、ポートに対して正当な信号をはき出して、動作として動くか確認するしか無いとおもいます。

オフライン

 

#36 2010-04-17 13:34:14

Mr.M
メンバ
登録日: 2010-04-08

Re: RS232Cに接続したMIDI音源を動かすには?。

Mocchiさん、hmatsueさん、返事ありがとうございます。

はい。SC-55Mk2が認識されてしまえば、後はALSA上で、ソフトウェア音源と同じように扱えると思います。シーケンサーソフトウェアとは別に、接続のためのユーティリティソフト(GUI)があるので、そちらを使いましょうか。でもその前に、SC-55Mk2が認識されているかどうかを確認したいと思います。

Mr.Mさん、コマンド「cat /proc/asound/cards」と「cat /proc/asound/seq/clients」の出力を投稿していただけますか?

了解致しました。
こんな感じになりました。

コード:

 
  0 [AudioPCI       ]: ENS1371 - Ensoniq AudioPCI
                      Ensoniq AudioPCI ENS1371 at 0xef00, irq 9
 1 [UART16550A     ]: Serial - Serial MIDI (UART16550A)
                      Serial MIDI (UART16550A) [Soundcanvas] at 0x3f8, irq 4

見てみると、とりあえず、それらしいものがありますね。
ここまで、どうにかこうにか行けましたが、果たしてどうなるか?。
僕は、あと少しかな?、と感じてます。

Mr.M

オフライン

 

#37 2010-04-17 13:37:52

Mocchi
管理者
登録日: 2009-05-17

Re: RS232Cに接続したMIDI音源を動かすには?。

Mr.M による投稿:

見てみると、とりあえず、それらしいものがありますね。
ここまで、どうにかこうにか行けましたが、果たしてどうなるか?。
僕は、あと少しかな?、と感じてます。

いい感じですね。もうひといきで音は出せそうです。

こちらの実行結果も教えて下さいませんか?

コード:

cat /proc/asound/seq/clients

オフライン

 

#38 2010-04-17 14:00:38

Mr.M
メンバ
登録日: 2010-04-08

Re: RS232Cに接続したMIDI音源を動かすには?。

Mocchiさん、返事ありがとうございます。

Mocchi による投稿:

いい感じですね。もうひといきで音は出せそうです。

本当にそんな感じです。


こちらの実行結果も教えて下さいませんか?

コード:

cat /proc/asound/seq/clients

はい、分かりました。
結果は、こんな感じになりました。

コード:

Client info
  cur  clients : 6
  peak clients : 6
  max  clients : 192

Client   0 : "System" [Kernel]
  Port   0 : "Timer" (Rwe-)
  Port   1 : "Announce" (R-e-)
    Connecting To: 15:0
Client  14 : "Midi Through" [Kernel]
  Port   0 : "Midi Through Port-0" (RWe-)
Client  15 : "OSS sequencer" [Kernel]
  Port   0 : "Receiver" (-we-)
    Connected From: 0:1
Client  16 : "Ensoniq AudioPCI" [Kernel]
  Port   0 : "ES1371" (RWeX)
Client  20 : "Serial MIDI (UART16550A)" [Kernel]
  Port   0 : "Serial MIDI 1" (RWeX)
Client 128 : "TiMidity" [User]
  Port   0 : "TiMidity port 0" (-We-)
  Port   1 : "TiMidity port 1" (-We-)
  Port   2 : "TiMidity port 2" (-We-)
  Port   3 : "TiMidity port 3" (-We-)
  Output pool :
    Pool size          : 500
    Cells in use       : 0
    Peak cells in use  : 0
    Alloc success      : 0
    Alloc failures     : 0
  Input pool :
    Pool size          : 1000
    Cells in use       : 0
    Peak cells in use  : 0
    Alloc success      : 0
    Alloc failures     : 0

いががなものですか?。


Mr.M

オフライン

 

#39 2010-04-17 14:15:07

Mocchi
管理者
登録日: 2009-05-17

Re: RS232Cに接続したMIDI音源を動かすには?。

Mr.M による投稿:

いががなものですか?。

OKです。ALSA Sequencerにおけるクライアント番号とポート番号がわかりました。

Client  20 : "Serial MIDI (UART16550A)" [Kernel]
  Port   0 : "Serial MIDI 1" (RWeX)

これに対して、MIDIの信号を送ってやりましょう。適当なMIDIファイルを準備してください。

コマンド「aplaymidi」を使います。パッケージ「alsa-utils」が必要ですが、このパッケージはパッケージ「ubuntu-desktop」に含まれているのでたぶん大丈夫でしょう。

SC55Mk2を起動して、以下を実行してみてください。

コード:

aplaymidi -p20:0 ファイルへのパス

オフライン

 

#40 2010-04-17 14:20:47

Mocchi
管理者
登録日: 2009-05-17

Re: RS232Cに接続したMIDI音源を動かすには?。

うまく音が出るかなぁ、ドキドキの瞬間ですね。

オフライン

 

#41 2010-04-17 14:48:56

Mr.M
メンバ
登録日: 2010-04-08

Re: RS232Cに接続したMIDI音源を動かすには?。

Mocchiさん、返事ありがとうございます。

コード:

aplaymidi -p20:0 ファイルへのパス

やってみました。
あれっ、何も音しませんよ。

コード:

ファイルへのパスis not a Standard MIDI File

だそうです。
はて?一体、何が悪いのかな?
パスの通し方なのかな?。
あ、ファイル名は指定しなくてもいいんですよね?
うーん、まだまだですね。

Mr.M

オフライン

 

#42 2010-04-17 15:10:54

Mocchi
管理者
登録日: 2009-05-17

Re: RS232Cに接続したMIDI音源を動かすには?。

Mr.M による投稿:

やってみました。
あれっ、何も音しませんよ。

ええ、鳴らないはずです。「ファイルへのパス」は用意したMIDIファイルへのパス、例えば「/home/mocchi/music/yousei.mid」のようなものを意図していたので。分かりにくくてすみません。。。

aplaymidiというコマンドは、ALSA SerquencerのポートとMIDIファイルを指定することで、MIDI信号をファイルから読み取り、ポートに送信するコマンドです。今回はMIDIファイルの指定に失敗していますね。

ご用意いただいたMIDIファイルのパスを確認することはできますか?それを用いて実行しなおしてみて下さい。

オフライン

 

#43 2010-04-18 10:50:40

Mr.M
メンバ
登録日: 2010-04-08

Re: RS232Cに接続したMIDI音源を動かすには?。

Mocchさん、返事ありがとうございます。
返事が遅れて申し訳ありません。

ええ、鳴らないはずです。「ファイルへのパス」は用意したMIDIファイルへのパス、例えば「/home/mocchi/music/yousei.mid」のようなものを意図していたので。分かりにくくてすみません。。。

いえいえ、僕に理解力がなかったただけですから。
実は、そう思って、ちゃんとファイルの指定までやったのですが、やっぱり音がしませんでした。
ご存知の方も多いと思いますが、SC-55MKには、小さな液晶ディスプレイが付いていて、MIDIのデータが流れてくれば、分かるようになっているのですが、うんともすんとも言いません。
・・・と、色々調べていたら、ちゃんと音が鳴りました。
ならなかった原因は極めて簡単ミスでした。「RS-232Cポートの差し間違え」です。
僕のPCのRS-232Cのポートは2口も付いているのです。
今のPCは、1口どころか、ないものもあるって言うのに。
たしか、同じPCにWindows入れてたころ同じ事してたような・・・。
成長してないというか、何というか、まったくもって、情けない話です。


ncerのポートとMIDIファイルを指定することで、MIDI信号をファイルから読み取り、ポートに送信するコマンドです。今回はMIDIファイルの指定に失敗していますね。

そういう事ですね、反省。

ご用意いただいたMIDIファイルのパスを確認することはできますか?それを用いて実行しなおしてみて下さい。

はい、できます。
念のために、「場所』>>「ホームフォルダ」から行けるかどうかも確認しました。

Mr.M

オフライン

 

#44 2010-04-18 10:56:12

sai2s
新しいメンバ
登録日: 2010-04-18

Re: RS232Cに接続したMIDI音源を動かすには?。

ちょうど最近、SC-55Kとそれ用のRS-232Cケーブルを接続して再生してみたので、少し書きます。

起動時に有効にしたかったので、以下のサイトを参考にした。
http://www.geocities.jp/midi_organ_net/alsa/

ファイル /etc/rc.local に以下の2行を足して、有効にしている。

コード:

/bin/setserial /dev/ttyS0 uart none
/sbin/modprobe snd-serial-u16550 port=0x3f8 irq=4
exit 0

書き換えたら、再起動。
シリアルポートの設定は、再起動してまっさらな状態から設定しないと、反映されない場合あり。
PC側のボーレート(speed)や、MIDI側のスイッチが合ってないと全く反応なし。
speed=31250や115200は無理。
speedの設定を省略して、デフォルトの38400にし、
MIDI機器側のシリアル切り替えスイッチは、PC-2に。
MIDI機器も一旦電源切って、電源入れ直した。

あとは、プレイヤーでSerial MIDIのクライアント:ポートを選択。
これで聴けた。
:cool:

aplaymidiでも、クライアント:ポート番号が見れる。(以下は私の表示結果)

コード:

$ aplaymidi -l
 Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0
 20:0    Serial MIDI (UART16550A)         Serial MIDI 1
128:0    TiMidity                         TiMidity port 0
128:1    TiMidity                         TiMidity port 1
128:2    TiMidity                         TiMidity port 2
128:3    TiMidity                         TiMidity port 3

オフライン

 

#45 2010-04-18 11:28:19

hmatsue
アドバイザ
登録日: 2009-03-10

Re: RS232Cに接続したMIDI音源を動かすには?。

> Mr.Mさん
それでは、下記を実行して、次回以降にデフォルトで使えるようにしておきましょう。
$ gksudo gedit /etc/serial.conf
で設定ファイルを開き、「1行目」に
###AUTOSAVE###
と書いて保存。念のため、改行しておいた方がよいかと思います。
その後、
$ sudo /sbin/setserial /dev/ttyS0 uart none
を実行して、再起動で、/etc/serial.confが更新されているか確認して下さい。

alsa関連については、
$ gksudo gedit /etc/modprobe.d/alsa-base.conf
で設定ファイルを開き、
最後の方に、
options snd-serial-u16550 port=0x3f8 irq=4 speed=38400 index=1
alias snd-card-1 snd-serial-u16550
alias snd-slot-1 snd-card-1
と記述して保存し、
$ gksudo gedit /etc/modules
でファイルを開き、一番下に
snd-serial-u16550
を追記で保存。
で再起動で最初からMIDIデバイスが使える状態になるのではないかと思います。
# うまくいかなかったら、sai2sさんが書かれたように/etc/rc.localを使った方がよいかも。。
# が、とりあえず、あるべきところと思われるとこで設定してみてはいかがでしょう。

オフライン

 

#46 2010-04-18 13:15:50

sai2s
新しいメンバ
登録日: 2010-04-18

Re: RS232Cに接続したMIDI音源を動かすには?。

hmatsueさん、分かりやすくて参考になります。
なぜか上手く動かなくて、コメント化し放置していたmodprobe.dの設定を書き直せました。
ありがとうございます。

/etc/modprobe.d/alsa-base.conf に、

コード:

options snd-serial-u16550 port=0x3f8 irq=4 speed=38400 index=1
alias snd-card-1 snd-serial-u16550
alias snd-slot-1 snd-card-1
install snd-serial-u16550 /bin/setserial /dev/ttyS0 uart none; /sbin/modprobe --ignore-install snd-serial-u16550 $CMDLINE_OPTS

と追記して、/etc/rc.localの設定を消しました。

私は/etc/modulesにsnd-serial-u16550を付け加えていないという失敗でした…。

オフライン

 

#47 2010-04-18 13:41:10

Mocchi
管理者
登録日: 2009-05-17

Re: RS232Cに接続したMIDI音源を動かすには?。

Mr.M による投稿:

・・・と、色々調べていたら、ちゃんと音が鳴りました。

やりましたね!!どんな感じでした?期待通りの音色で出ましたか?

sai2c による投稿:

ちょうど最近、SC-55Kとそれ用のRS-232Cケーブルを接続して再生してみたので、少し書きます。

おぉ、強力な助っ人参上ですね。sai2cさんはどんなプレーヤーをお使いですか?

ちょいと調べてみましたが、Timidity++は自分に対してしかMIDI信号を送ることができないようです。Timidity++そのものも画面操作できない作りになっているので、別なプレイヤーを探すほうがいいと思います。RosegardenとかMuSEとかもありますが、こちらは編集に特化してしまっているので、単なるプレーヤーとして使うにしては機能が多すぎて混乱のもとかと思います。

MIDI単体の画面操作可能なプレイヤーは見つけることができなかったので、AudaciousとそのプラグインでMIDI出力できる組み合わせをみつけました。Audaciousは軽量で多機能なプレイヤーで、私は愛用しています。

1. audaciousとそのプラグインのインストール
Synapticでaudaiousを検索してください。いくつかパッケージが表示されますが、パッケージ「audacious」と「audacious-plugins」をインストールして、Synapticを閉じてください。

2. Audacious2の起動とAMIDIプラグイン設定画面の表示
メインメニュー>サウンドとビデオでAudacious2が表示されます。クリックして開いてください。小さな黒いウィンドウが表示されます。小さくてわかりにくいですが、左上の「a」マークをクリックしてメニューを開きます。Preferences>プラグインと進んで、タブ「デコーダー」においてプラグイン「AMIDI-Plug 0.8b1」を選択し、画面下部のボタン「設定」を押します。

3. ALSA Backendの指定と出力ポートの選択
ウィンドウ「Amidi-Plug - configuration」が開きます。ウィンドウ右の「Backend Selection」で「ALSA Backend 0.8b1」を選択してください。ウィンドウ左でALSA Backendの細かな設定ができます。ALSA output portsにたぶん、「Serial MIDI (UART16550A)」が表示されていると思います。チェックを入れてボタン「OK」で設定は終了です。ハードウェア音源なので、ひょっとしたらMixier Settingsもいじらなければならないかもしれません。

4. ファイルの再生
左上の「a」マークをクリックして「play file」でファイルを指定すると、演奏を開始するはず。ディレクトリを指定すると、そのディレクトリ内のすべてのファイルを演奏します。

以上、お試しください。

オフライン

 

#48 2010-04-18 16:25:31

Mr.M
メンバ
登録日: 2010-04-08

Re: RS232Cに接続したMIDI音源を動かすには?。

Mocchiさん、hmatsueさん、返事ありがとうございます。

やりましたね!!どんな感じでした?期待通りの音色で出ましたか?

はい、期待通りでした。

おぉ、強力な助っ人参上ですね。sai2cさんはどんなプレーヤーをお使いですか?

ちょいと調べてみましたが、Timidity++は自分に対してしかMIDI信号を送ることができないようです。Timidity++そのものも画面操作できない作りになっているので、別なプレイヤーを探すほうがいいと思います。RosegardenとかMuSEとかもありますが、こちらは編集に特化してしまっているので、単なるプレーヤーとして使うにしては機能が多すぎて混乱のもとかと思います。

そうですね、前にも言いましたが、Rosegardenと言うソフトは、Roland社の「レコンポーザー」と言うソフトによく似てるので
聞くだけの人である僕には、ちょっと使い辛いかもしれません。


MIDI単体の画面操作可能なプレイヤーは見つけることができなかったので、AudaciousとそのプラグインでMIDI出力できる組み合わせをみつけました。Audaciousは軽量で多機能なプレイヤーで、私は愛用しています。

早速導入すべく、言われたとおりにやってみました。
しかし、まったく音が鳴りません。
ファイルを選ぶと、Audaciousも終了してしまうのですが・・・。

hmatsue による投稿:

それでは、下記を実行して、次回以降にデフォルトで使えるようにしておきましょう。
$ gksudo gedit /etc/serial.conf
で設定ファイルを開き、「1行目」に
###AUTOSAVE###
と書いて保存。念のため、改行しておいた方がよいかと思います。
その後、
$ sudo /sbin/setserial /dev/ttyS0 uart none
を実行して、再起動で、/etc/serial.confが更新されているか確認して下さい。

はい、確認がとれました。
念のために
aplaymidiで動くことも、確認しました。

Mr.M

オフライン

 

#49 2010-04-19 01:01:18

sai2s
新しいメンバ
登録日: 2010-04-18

Re: RS232Cに接続したMIDI音源を動かすには?。

私は、プレイヤーとして使うには向いてなさそうな、Seq24というシーケンサを使ってます。
出力先をトラック毎に設定する必要がある。

オフライン

 

#50 2010-04-19 07:56:48

hmatsue
アドバイザ
登録日: 2009-03-10

Re: RS232Cに接続したMIDI音源を動かすには?。

ほぼ解決したと思ってよいのかしら。

> Mr.Mさん
#45で書いた設定だともしかしたら足りないかも知れないのでsai2sさんが#46で書かれた設定も参考にして設定してみて下さい。

# ここから先は本当に私には判らないゾーンです。
# 継続して読んではいますが、Mocchiさんとsai2sさんに期待! :)

オフライン

 

Board footer

Powered by FluxBB