BBS
  NewPost ┃Tree ┃Thread ┃Plain ┃Topic ┃Search ┃Setting ┃Top  
242 / 307 ツリー ←次へ | 前へ→

spc2midiで出来たMIDIのテンポ my 05/5/10(火) 10:42

Re:spc2midiで出来たMIDIのテンポ GIGO 05/5/16(月) 3:23
Re:spc2midiで出来たMIDIのテンポ my 05/5/16(月) 5:48
Re:spc2midiで出来たMIDIのテンポ GIGO 05/5/25(水) 2:27
Re:spc2midiで出来たMIDIのテンポ my 05/5/26(木) 16:25
Re:spc2midiで出来たMIDIのテンポ norihi 05/6/7(火) 18:06
Re:spc2midiで出来たMIDIのテンポ GIGO 05/6/8(水) 5:18
Re:spc2midiで出来たMIDIのテンポ norihi 05/6/8(水) 16:23

Re:spc2midiで出来たMIDIのテンポ
 GIGO  - 05/5/16(月) 3:23 -
  
▼myさん:
はじめまして。
曲のテンポに関しては、なんとか自動的に検出出来ないかと色々試したのですが、ちょっと無理かなと言う状況であったように思います。

…と、ここまで書いて何ですが、
ちょっと今日はもう遅いため、申し訳ないですが続きは後日とさせてください。


>はじめまして。spc2midiを使わせていただいています。
>早速なんですが、spc2midiを使って出来たMIDIファイルの演奏が非常にモタつくので調べたら、曲のテンポが25とか16とか言う数値になっていました。
>通常ならテンポが150とか160とかある曲なんですが・・・。
>音符が沢山配置されているのと音の効果(プログラムチェンジ?というのでしょうか)が1小節の中に細かく置かれているのが原因かなぁと思っているところなんですけれども。
>テンポは後からでも調節はきくようですので音符だけでも普通の配置にするような方法はありませんでしょうか。
>勝手な質問ですがお願い致します。
引用なし

Re:spc2midiで出来たMIDIのテンポ
 my  - 05/5/16(月) 5:48 -
  
ありがとうございます。

>曲のテンポに関しては、なんとか自動的に検出出来ないかと色々試したのですが、ちょっと無理かなと言う状況であったように思います。

過去ログ等見たつもりだったんですが、無理なことをお願いして申し訳ないです。
個人的なことですので、GIGO様のお時間のあるときで大丈夫です。
引用なし

Re:spc2midiで出来たMIDIのテンポ
 GIGO  - 05/5/25(水) 2:27 -
  
▼myさん:

以前から指摘を受けていまして、出力ファイルのベースタイムやテンポがかなりずれているのはこちらでも把握しています。対策として、SFCハード内部のタイマーの基準値から自動的に計算できないか等、色々やってみたのですが駄目でした。

もたりについては、ハードウェア音源を使用している場合、機器の特性として転送レートが足りていない場合があるようです。
spc2midiは自動変換の性質上、通常なら行われないような激しいデータの出力を行う場合がありますので、それに転送がついて行けず、結果としてもたっている可能性があります。

この辺については、自分に音楽やMIDIの打ち込みなどの経験が全く無いため、知識不足からうまく作れていないと言う部分もあると思います。
spc2midi全体も含めて、そのうち何とかしたいとは思っているのですが、自分の趣味に割り当てられる時間が大分減っているため、SNESGTをいじるので精一杯となってしまっています…


>過去ログ等見たつもりだったんですが、無理なことをお願いして申し訳ないです。
>個人的なことですので、GIGO様のお時間のあるときで大丈夫です。

この話題が出たのは前の掲示板だったと思います。
過去ログとかには残っていませんからお気になさらずに。
引用なし

Re:spc2midiで出来たMIDIのテンポ
 my  - 05/5/26(木) 16:25 -
  
レスありがとうございます。

以前にも出ていたお話だったんですね・・・お手数おかけしてすいません。
お忙しいようですがお体を壊さない程度にがんばってください。

失礼しましたー。
引用なし

Re:spc2midiで出来たMIDIのテンポ
 norihi  - 05/6/7(火) 18:06 -
  
横やりですみません、スレッドに関連するのでここで質問させて下さい。
テンポがずれるという事は、nsf2midiやspc2midiは単純な解析ーコンバートをしているのではなくて、リアルタイムに演奏してそれをmidiにキャプチャしているという理解でいいのでしょうか?
それならnsfやspcを解析してノンリアルタイムでmidiに吐き出す...という風にすればテンポのずれもなくなると思うのですが、それは難しいのでしょうか。
(全然知識がないのでずれていたらごめんなさい)
引用なし

Re:spc2midiで出来たMIDIのテンポ
 GIGO  - 05/6/8(水) 5:18 -
  
▼norihiさん:

>テンポがずれるという事は、nsf2midiやspc2midiは単純な解析ーコンバートをしているのではなくて、リアルタイムに演奏してそれをmidiにキャプチャしているという理解でいいのでしょうか?
基本的にはそう言う事になります。
nsf2midiとspc2midiではそれぞれ事情が異なるため、一つずつ分けて説明します。

- nsf2midi
nsf(FC)の場合、ハードウェアの性質上、キーオンなどの更新タイミングは
秒間60回の解像度に縛られます。従って、秒間60回の更新タイミングにあわせて
その時の状態を記録してやればほぼ完全にタイミングを再現する事が出来ます。
nsf2midiでわずかにテンポがずれる場合と言うのは、元々の演奏のテンポが
秒間60回のタイミングから外れているため、それをそのまま再現すると
結局わずかにずれたものが出来上がると言うことです。
言い換えますと、FC上でも元から微妙にずれた状態で演奏されているので、
それをそのままキャプチャするとずれたものが出来上がる…と言うことです。

- spc2midi
spc(SFC)の場合、タイマーの更新タイミングは8kHzか64kHzを基準として
ドライバ側で可変となります。実際には8kHzなどでは細かすぎますので、
適宜設定を行い、音楽の再生に適した解像度に落とすのが普通です。
従って、このタイマーを基準としてキャプチャを行えば、正確に
タイミングが再現できると考えたのですが、うまくいきませんでした。
サウンドドライバ側で演奏する曲のテンポにあわせてタイマーの更新
タイミングを変えていれば良いのですが、大抵の場合はドライバ毎の
固有の値に固定されているため、結果としてFCの時と同じ問題が生じます。
(これに関しては、spc2midiの捕捉アルゴリズムにも問題があり、
まだ改善の余地もあると思います。
あと、単純にspc2midiのバグもある可能性も考えられます…

- 解析してノンリアルタイムでmidiに吐き出す
これは事実上無理かと思います。
GBA等では共通のサウンドドライバを用いていることが多いためか、
そのドライバ用のデータ構造を解析すると言った手法がある程度使えるようですが、
FCやSFCの場合、各社各タイトル毎に殆どまったく違うサウンドドライバ
が乗っているため、それを一つずつ解析する事は現実的ではありません。


>横やりですみません、スレッドに関連するのでここで質問させて下さい。
>テンポがずれるという事は、nsf2midiやspc2midiは単純な解析ーコンバートをしているのではなくて、リアルタイムに演奏してそれをmidiにキャプチャしているという理解でいいのでしょうか?
>それならnsfやspcを解析してノンリアルタイムでmidiに吐き出す...という風にすればテンポのずれもなくなると思うのですが、それは難しいのでしょうか。
>(全然知識がないのでずれていたらごめんなさい)
引用なし

Re:spc2midiで出来たMIDIのテンポ
 norihi  - 05/6/8(水) 16:23 -
  
なるほど、nsfなんかはもともとmidiと互換性があるぐらいに思っていたんですが、想像以上に複雑なんですね。。
詳細な解説ありがとうございます。
引用なし

  NewPost ┃Tree ┃Thread ┃Plain ┃Topic ┃Search ┃Setting ┃Top  
242 / 307 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:   
134,592
(SS)C-BOARD v3.5.4 is Free.