OCR & Aviutl Wiki

誰も来ないので匿名編集を切りました。ファンフィクションや実在しないシーンなんかは自由に作れますが完成したらLaclaleに教えて下さい

もっと見る

OCR & Aviutl Wiki
Advertisement


MIDIFileReaderとは、obj拡張子のAviutlスクリプトの1つである。

設定項目[]

MIDIファイル読み込み[]

トラック最小値最大値初期値刻み単位
毎初期0101

表示 ピアノロール[]

トラック最小値最大値初期値刻み単位
020486401
高さ020484801
速度02000100
トラック03201
Dialog
再生位置表示 ON
中心位置0
ノートオフ透明度30
減衰 OFF
小節線 OFF
小節線 フォント"MS ゴシック"
小節線 文字サイズ16
小節線 文字位置100
小節線 透明度75
拍線 透明度90
オクターブ線 透明度90
音階線 透明度100
マーカー サイズ16

[]

空欄にすると色が自動で設定されます

表示 ピアノロール3D[]

トラック最小値最大値初期値刻み単位
サイズ0512321
0100003000
速度02000500
トラック03201
Dialog
再生位置表示 ON
中心位置0
ノートオフ透明度50
減衰 OFF
トラックのパディング32

表示 鍵盤[]

トラック最小値最大値初期値刻み単位
モード1211
トラック03201
Dialog
画像ファイル"keybord.png"
キー 上限96
キー 下限24

表示 鍵盤(等間隔)[]

トラック最小値最大値初期値刻み単位
モード1211
トラック03201
Dialog
画像ファイル"keybord.png"
オクターブ 上限2
オクターブ 下限7

表示 動画再生(速度指定)[]

トラック最小値最大値初期値刻み単位
開始位置0100000.01
再生速度-200020001000.01
待機位置-1100000.01
トラック03221
アルファチャンネルを読み込む

表示 動画再生(フレーム指定)[]

トラック最小値最大値初期値刻み単位
開始位置01000001
終了位置0100001001
待機位置-11000001
トラック03221
アルファチャンネルを読み込む

表示 歌詞[]

トラック最小値最大値初期値刻み単位
イン0100.50.01
アウト0100.50.01
表示秒0100100.01
次歌詞データまで表示させ続ける
Dialog
フォント"MS UI Gothic"
サイズ34
装飾[0-4]0
色10xffffff
色20x000000
表示速度0
基準位置[1-9]4

--[in|vtime|out/ntime] "view" sec [ next lyric ]

使い方[]

まずは「MIDIファイル読み込み」で読み込みます。他のスクリプトはその後でないと動きません。

生成されるテーブルと追加関数[]

MFR[]

  • [track]
    • [note]
      • .channel : チャンネル番号
      • .notenum : ノート番号
      • .noteon : ノートオン時のデルタタイム
      • .noteoff : ノートオフ時のデルタタイム
      • .noteontime : ノートオン時の経過秒
      • .noteofftime : ノートオフ時の経過秒
      • .velocity : ベロシティ
    • .pitch : ピッチベンド
      • [index]
        • .time : 変化するデルタタイム
        • .ttime : timeを秒に変換したもの
        • .pitch : ピッチ(半音単位)
    • .trackname : トラックエンド時のデルタタイム
    • .trackend : トラックエンド時のデルタタイム
  • .bpm
    • [index]
      • .bpm : 変化後のBPM値
      • .time : 変化するデルタタイム
      • .ttime : timeを秒に変換したもの
  • .beat
    • [index]
      • .beat : 変化後の拍子(分子)
      • .denom : 変化後の拍子(分母)
      • .time : 変化するデルタタイム
      • .ttime : timeを秒に変換したもの
  • .beatx
    • [measure]
      • .time : 小節の先頭の時間(デルタタイム)
      • .beat : 拍子(分子)
      • .denom : 拍子(分母)
      • .totalbeat : 今までの累計拍数
      • .ttime : timeを秒に変換したもの
  • .lyric
    • [index] : テキスト系イベント
      • .track : データのあるトラック
      • .time : イベントのあるデルタタイム
      • .text : 歌詞
      • .ttime : timeを秒に変換したもの
      • .index : ソート用
  • .marker
    • [index] : テキスト系イベント
      • .track : データのあるトラック
      • .time : イベントのあるデルタタイム
      • .text : マーカー
      • .ttime : timeを秒に変換したもの
      • .index : ソート用
  • .text
    • [index] : テキスト系イベント
      • .track : データのあるトラック
      • .time : イベントのあるデルタタイム
      • .text : テキスト
      • .index : ソート用
  • .resolution : 分解能(四分音符のデルタタイム)
  • .time : 現在の時間(拡張スクリプトにより付加)

MFR.getTime(dtime)[]

デルタタイムを秒に変換します

MFR.getDTime(time)[]

秒をデルタタイムに変換します

MFR.getBeat(time)[]

秒をビートに変換します

MFR.getMeasure(time)[]

秒を小節に変換します

MFR.getBPM(time)[]

現在のBPMを取得します

MFR.getFirstNote(track,time)[]

timeにより指定された時間に鳴っている音のうち、もっともインデックスが小さいものを返します

  • テーブルのインデックスが各トラック番号になります

MFR.getNoteonTable(track,time)[]

以下のような構造を持つテーブルの配列を返します

  • track : トラック番号
  • data : データの位置(note[]に対応)
  • notenum : ノート番号
  • velocity : ベロシティ

MFR.getPassedNoteCount(track,time)[]

time以前に鳴ったノートの個数を返します

MFR.getFirstPitch(track,time)[]

timeにより指定された時間に適用されているピッチベンドのインデックスを返します

  • テーブルのインデックスが各トラック番号になります

MFR.getLyricTable(time)[]

指定時間における最新の歌詞テーブルを取得します

  • 戻り値2つ目にMFR.lyricに対応するインデックスが返ります

MFR.getLyric(time)[]

指定時間における最新の歌詞を取得します

MFR.getInfo()[]

簡単な情報をstringで取得します

共通事項[]

  • trackで数値が指定された場合、そのトラック内での情報、nilの場合全トラックの情報をテーブルで返します
  • デルタタイムとは、フレームのようなMIDIにおける単位時間のようなものです
    • MFR.resolutionが四分音符のデルタタイム長となります
  • テキスト系データは、デルタタイムを基準に昇順のソートをします
    • 同時間の場合はトラックの昇順、同時間同トラックはイベント順です

実演集[]

関連項目[]

Advertisement