computer.program - プログラミングのお話

FotranとかcobolとかBasicとかCとかC++とかjavaとか…(以下略)

#78: 継承関係で質問
Date: 2001/02/12 08:04:09 Mon Author: tos (tnet0004)
Parent Article: #77: 継承関係で質問
Child Article: #79: MidiPlayer #80: 継承関係で質問

まず始めに、もしこの話題がもっと続くなら(プレイヤの制作を続けるなら)、
新しいサブボードを作りませんか?
GOOさんの作るプレイヤ専用のサブボードを、です。


> 再生してみてどうでしょうか?うちでは重くてとても使い物になりませんでした。
> これでは着メロ編集がいいところでしょう。いや、そもそも時間精度が
> やばいのかもしれないからこれもきついかも(^^;

プレイボタンを押してから音が鳴り始めるまで(プレイボタンが再びアクティブ
になるまで)の間、シーケンサが MIDIデータを読み込んでいるのでしょうか?
その時間がまず気になりました。

そして、 amazing02.mid を演奏させたときには気にならなかったのですが、
bt4i.mid を演奏させると、音がもたりますね。


> いずれにせよシーケンサとして仕上げるには文字通り
> 自前でシーケンサを作ることになるとは思いますが。

デフォルトのシーケンサでこうなるなら、どんなシーケンサを作っても
これ以上良くならないのではないでしょうか?

何か、シーケンサから出力デバイスへのデータの流し方がまずいのでは
ないでしょうか?

それから、MIDIデバイスのどれを選んでも、同じ(ウチではサウンドカード
のMIDI音源)になってしまいます。
それから、「Java Sound Sequencer」は表示しない方が良いでしょう。


> しかもその信じられない仕様のせいでうちのようにデフォルトデバイスが
> 死んでしまったときには再生すらできないようになってしまっていたんです。
> こんな不安定なシーケンサじゃなくて他のデバイス情報を持った

それは、出力デバイスであるデフォルトデバイスが死んだだけで、
シーケンサは死んでいないと思います。単に、全体がハングアップした
だけだと思います。


> シーケンサが手に入れられるはずだ、デフォルトのシーケンサって言うくらいだし、
> と考えてしまっていたんです。
> 他の API (Win32 とか)でもこういう扱い方をしているんでしょうか?

WinAPI でも、デフォルトのシーケンサがあります。単にプレイヤを作る
だけなら、それを使えば簡単に作れます。

ただ、ちょっと凝ったこと(音に合わせて画面を動かそうとするなど)を
しようとすると、辛くなってきます。


> けどやっぱりシーケンシング専用のデバイスとしてシーケンサを
> 提供して欲しいなぁ。トランスミッタだけ持っているような。
> 自分で作れってか

シーケンサのレシーバは、パソコン外部からの MIDIデータをレコーディング
するためにあるのだと思いますが、違いますか?

「デフォルトのシーケンサ」と「デフォルトのシンセサイザ」は別の
ものだと思います。シーケンサの中に音を発音する機能はないはずです。

一方、「デフォルトのデバイス」が具体的に何を指しているのかは
分かりません。もしかすると、「デフォルトのデバイス」は入力用
として用意されたデバイスなのかも?

だとすると、シーケンサの出力に繋ぐべきなのは、実は「デフォルトの
デバイス」でなく「デフォルトのシンセサイザ」の方だったのかも
知れません。これで、音のももたりが解決するかも。

// いや、あの Sun の解説書に分かりやすい概念図が1つあるだけで、
// スッキリと理解できるはずなんですが、それがないんですよね。


tos.

■ この記事のコメントを書く

■ この書き込みを削除/復活します(投稿者のみ可)
■ この書き込み近辺の一覧表示へ

【最新20記事 [一覧] [ツリー] [一括] 】 【最新の記事は 107 番です.】
【前の20記事 [一覧] [ツリー] [一括] 【次の20記事 [一覧] [ツリー] [一括]
番から 番までの記事を
プログラミングのお話 に新しい記事を

T-Net ■ メインページ