フォーラム: OpenMIDIProject forum (スレッド #39524)

NoteEvent's (2018-05-12 06:28 by siura #81230)

I got files that tell me when I save them something like "4 NoteEvent's duration is below zero. Are you sure to delete these NoteEvent?" I never delete those because I think I have checked every event in the file and I cannot find them. I only want to know how I can find those to see if I can fix them or delete them myself. I like this program a lot. I will understand if you don't have the time for this question. I did some programming in my younger years and I know how time consumming is the process.

Thanks for your wonderful program.
siurano

メッセージ #81230 への返信×

ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: NoteEvent's (2018-05-12 09:52 by kuzu #81232)

Thank you for using Sekaiju.

Perhaps your MIDI files contains duration = 0's note event. Though duration = 0's note isn't prohibited, but if note on time and note off time is same, maybe it cause corrupution when editing such as moving note, So in Sekaiju, for the safety, duration >= 1 is recommmend.

To find which note is, please use SAL (Sekaiju Application Language) which is provided external extension program. SAL can be used for free trial while 30 days.
Following script is to detect duration <= 0's note in all selected event.

(do
(forEachEvent
(if (== Event.Kind NOTE)
(if (<= Note.Dur 0)
(do
(int nTime Event.Time)
(pause "Track=" Event.Track " Time=" (meas nTime) ":"(beat nTime) ":" (tick nTime) " Key=" Note.Key " Dur=" Note.Dur)
)
)
)
)
)
#81230 への返信

メッセージ #81232 への返信×

ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

Re: NoteEvent's (2018-05-12 21:58 by siura #81243)

[Reply To Message #81232]
> Thank you for using Sekaiju.
>
> Perhaps your MIDI files contains duration = 0's note event. Though duration = 0's note isn't prohibited, but if note on time and note off time is same, maybe it cause corrupution when editing such as moving note, So in Sekaiju, for the safety, duration >= 1 is recommmend.
>
> To find which note is, please use SAL (Sekaiju Application Language) which is provided external extension program. SAL can be used for free trial while 30 days.
> Following script is to detect duration <= 0's note in all selected event.
>
> (do
> (forEachEvent
> (if (== Event.Kind NOTE)
> (if (<= Note.Dur 0)
> (do
> (int nTime Event.Time)
> (pause "Track=" Event.Track " Time=" (meas nTime) ":"(beat nTime) ":" (tick nTime) " Key=" Note.Key " Dur=" Note.Dur)
> )
> )
> )
> )
> )

Thanks I think I understand what is happening! Note On and Note Off should not be both 0 at the same note. Your MIDI knowledge is great! Thanks again.
#81232 への返信

メッセージ #81243 への返信×

ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする