NoteWorthy Composer Forum

Forums => General Discussion => Topic started by: Rick G. on 2007-10-25 08:47 am

Title: Note Velocity Anomalies (as of Beta 2.21)
Post by: Rick G. on 2007-10-25 08:47 am
Playing around with nwctxt, I produced this:
Code: [Select · Download]
!NoteWorthyComposer(2.0)
|StaffProperties|Volume:-1|StereoPan:-1
|PerformanceStyle|Style:Tenuto|Pos:14
|Instrument|Trans:0|DynVel:10,30,45,60,75,92,108,127|Pos:10
|Instrument|Trans:0|DynVel:0,30,45,60,75,92,108,127|Pos:6
|Dynamic|Style:ppp|Pos:-7
|Note|Dur:4th|Pos:-2
|Dynamic|Style:p|Opts:Velocity=-1|Pos:-11
|Note|Dur:4th|Pos:-2
|Dynamic|Style:p|Opts:Velocity=0|Pos:-7
|Note|Dur:4th|Pos:-2
|Dynamic|Style:p|Opts:Velocity=-128|Pos:-11
|Note|Dur:4th|Pos:-2
|Dynamic|Style:p|Opts:Velocity=0|Pos:-7
|Note|Dur:4th|Pos:-2
!NoteWorthyComposer-End
And was somewhat surprised to get this output from Mf2T:
Quote
MFile 1 2 192
MTrk
0:0:0 Meta Text "Generated by NoteWorthy Composer"
0:0:0 Meta TrkEnd
TrkEnd
MTrk
0:0:0 Meta 0x21 00
0:0:0 Meta TrkName "Staff"
0:0:0 On ch=1 note=g5 vol=110
0:1:0 On ch=1 note=g5 vol=0
0:1:0 On ch=1 note=g5 vol=255
0:2:0 On ch=1 note=g5 vol=0
0:2:0 On ch=1 note=g5 vol=255
0:3:0 On ch=1 note=g5 vol=0
0:3:0 On ch=1 note=g5 vol=128
1:0:0 On ch=1 note=g5 vol=0
1:0:0 On ch=1 note=g5 vol=128
1:1:0 On ch=1 note=g5 vol=0
1:1:0 Meta TrkEnd
TrkEnd
What MF2T calls "vol", NWC2 calls "Velocity". Playing this on my AWE32 synth produced no problems. It sounds as though it translates vol=255 into vol=127 and vol=128 into vol=0. YMMV

NWC2's action seems to be to accept any numeric input and kill all but the lowest 8 bits. If this results in zero, it is ignored and the current running velocity is used instead.

It seems to me that when dealing with 7bit data, zero should mean zero. -1 should mean: "keep the running status". This is how Volume and StereoPan work in StaffProperties.

8bit data should not be output where 7bit data is expected.

IMO, Volume, StereoPan, DynVel and Velocity should all work the same. The User Interface spinbox should range from -1 to 127. Any numeric input should be accepted from a Clip or nwctxt. If the input evaluates to True (i.e., -1), the running status should be used. Otherwise, the lowest 7 bits should be used.

This would simplify the program, the documentation, User Tools and Nwctxt Converters. The checkboxes could be eliminated (they are not exported anyway).
Title: Re: Note Velocity Anomalies (as of Beta 2.21)
Post by: NoteWorthy Online on 2007-10-25 12:05 pm
We will consider adding data integrity checks to the nwctxt import, thus eliminating the invalid values that you are using here.
Title: Re: Note Velocity Anomalies (as of Beta 2.21)
Post by: Rick G. on 2007-10-25 12:20 pm
Hey, I'm jus' beta testin' here. The Clipboard Input routines suffer from the same malady.

Edit: A quick test indicates that, as of Bete 2.23, values < 0 are set to zero and values > 127 are set to 127
IMO, this is not optimal, but it is fixed.
Title: Re: Note Velocity Anomalies (as of Beta 2.21)
Post by: NoteWorthy Online on 2007-10-25 12:35 pm
True.