News:

Version 1.20 is ready to download

Main Menu

An serious error..

Started by DjTony1981, September 23, 2024, 09:54:02 PM

Previous topic - Next topic

DjTony1981

I don't understand why vArranger doesn't send CC#91=0s in XG mode, but CC#93s do. It is essential for example for BASS tracks where they usually do not have a reverb send. I think this is a serious mistake..




DjTony1981

This happens when the style is selected, during playing the CC91=0 is correctly sent if the track changes.

Dan

Do you here some reverb on the track, when it should not? If yes, you can post the style.
If the reverb is already at 0, it will not send the message again

DjTony1981

I'll send you the style in the evening, I'm at work now. The default YAMAHA styles have the XG Reset sysex at the beginning, when you change styles with the player stopped it is sent, consequently the external XG device initializes and sets CC91=40 for each track. I believe that at this point in a future release you should consider adding a "DO NOT OPTIMIZE MIDI FLOW" flag (or mode) to avoid not sending all MIDI messages correctly (as I proposed in the past) .  ;)

Dan

vArranger midi flow is highly optimized, and this is very important to get a rock solid arranger
If you think the style is not sounding as it should, then let me know

DjTony1981

I think it is better to send all messages contained in one style rather than "optimize" them according to unknown principles. I've been using arrangers and programming them for 30 years and I think I can say I understand something about them. You can do the test yourself by selecting a style with CC91 on the BASS track at zero, then close and reopen vArranger, you will notice that the CC91 is not sent.

DjTony1981

I checked better, you're right, I'm changing my styles so as not to send a sysex reset to the device so as not to lose the "previous" controls. I still ask you why vArranger doesn't send CC99/98 NPRNs? At this point, there remains a request I made in the past regarding having Yamaha-style "smooth" fills (only fills on the drum tracks after the first beat)

Dan

If vArranger doesn't highly control every message that it sent, then tons of styles will sound bad / not in time

I tried to include ALL known messages in vArranger and even send them accordingly to the synth connected

Let me know if an important message is missing to you


I am afraid Playing accomp tracks from the variation + the fill in drums together doesn't seem to be a simple task. Actually in the code, every variation is well separated, and can't mix 2 variations together easily. This probably need to change 5000 lines of code in the core engine, and I am afraid to create bugs with such structural changes.

By the way, I appreciate interesting suggestions from an experimented user like you

DjTony1981

As for CCs NOT vArranger should handle them as style programmers enjoy modifying cutoff/resonance/pitch/pan/reverb-chorus send for each drum sound note. You may want to look at the specifications in the various YAMAHA/ROLAND PDF manuals to learn more.

As for the fills, I explained myself poorly. You could take a look at the many videos on YouTube about Yamaha keyboard styles, for example https://www.youtube.com/watch?v=QWImlU8D8io. At each fills call, the bass/acc1-5 tracks continue to play the riff of the current variation, while the drums tracks play those of the fills. In this case the fills would play without sudden interruptions, "smooth". I hope it was clear.

DjTony1981

Quote from: Dan on September 26, 2024, 08:31:38 AMIf vArranger doesn't highly control every message that it sent, then tons of styles will sound bad / not in time

Professional MIDI expanders recognize CC#121 to reset all CCs sent in the MIDI channel, vArranger may send this on every style change in case an NRPN/RPN was sent during playback of the previous style.

This is an excerpt from Roland's SC-VA manual:

NRPN MSB/LSB (Controller number 98, 99)
Status 2nd byte 3rd byte
BnH 63H mmH
BnH 62H llH
n = MIDI channel number:0H - FH (Ch.1 - 16)
mm = upper byte (MSB) of the parameter number specified by NRPN
ll = lower byte (LSB) of the parameter number specified by NRPN
Rx.NRPN is set to OFF by power-on reset or by receiving "GM1 System On" or "GM2 System On," and
NRPN message will be ignored. NRPN message will be received when Rx.NRPN = ON, or by receiving
"GS RESET."
The value set by NRPN will not be reset even if Program Change or Reset All Controllers is received.
**NRPN**
The NRPN (Non Registered Parameter Number) message allows an extended range of control
changes to be used. On the Sound Canvas VA, NRPN messages can be used to modify sound
parameters, etc.
To use these messages, you must first use NRPN messages (Controller number 98 and 99, their
order does not matter) to specify the parameter to be controlled, and then use Data Entry messages
(Controller number 6) to specify the value of the specified parameter. Once an NRPN parameter
has been specified, all Data Entry messages received on that channel will modify the value of that
parameter. To prevent accidents, it is recommended that you set RPN Null (RPN Number = 7FH 7FH)
when you have finished setting the value of the desired parameter.
Refer to "3. Supplementary material", "Examples of actual MIDI messages (p. 108)" On the Sound
Canvas VA, Data entry LSB (Controller number 38) of NRPN is ignored, so it is no problem to send
Data entry MSB (Controller number 6) only (without Data entry LSB).
On the Sound Canvas VA, NRPN can be used to modify the following parameters.
NRPN Data entry
MSB LSB MSB Function and range
01H 08H mmH Vibrato Rate (relative change)
mm: 00H - 40H - 7FH (-64 - 0 - +63)
01H 09H mmH Vibrato Depth (relative change)
mm: 00H - 40H - 7FH (-64 - 0 - +63)
01H 0AH mmH Vibrato Delay (relative change)
mm: 00H - 40H - 7FH (-64 - 0 - +63)
01H 20H mmH TVF Cutoff Frequency (relative change)
mm: 00H - 40H - 7FH (-64 - 0 - +63)
01H 21H mmH TVF Resonance (relative change)
mm: 00H - 40H - 7FH (-64 - 0 - +63)
01H 63H mmH TVF&TVA Envelope Attack Time (relative change)
mm: 00H - 40H - 7FH (-64 - 0 - +63)
01H 64H mmH TVF&TVA Envelope Decay Time (relative change)
mm: 00H - 40H - 7FH (-64 - 0 - +63)
01H 66H mmH TVF&TVA Envelope Release Time (relative change)
mm: 00H - 40H - 7FH (-64 - 0 - +63)
18H rrH mmH Drum Instrument Pitch Coarse (relative change)
rr: Drum Instrument note number
mm: 00H - 40H - 7FH (-64 - 0 - +63 semitone)
1AH rrH mmH Drum Instrument TVA Level (absolute change)
rr: Drum Instrument note number
mm: 00H - 7FH (0 - max)
1CH rrH mmH Drum Instrument Panpot (absolute change)
rr: Drum Instrument note number
mm: 00H, 01H - 40H - 7FH (random, left - center - right)
1DH rrH mmH Drum Instrument Reverb Send Level (absolute change)
rr: Drum Instrument note number
mm: 00H - 7FH (0 - max)
1EH rrH mmH Drum Instrument Chorus Send Level (absolute change)
rr: Drum Instrument note number
mm: 00H - 7FH (0 - max)
1FH rrH mmH Drum Instrument Delay Send Level (absolute change)
rr: Drum Instrument note number
mm: 00H - 7FH (0 - max)
** Parameters marked "relative change" will change relatively to the preset value (40H). Even among
different GS devices, "relative change" parameters may sometimes differ in the way the sound
changes or in the range of change.
** Parameters marked "absolute change" will be set to the absolute value of the parameter,
regardless of the preset value.
** It is not possible to simultaneously use both Chorus Send Level and Delay Send Level on a single
Drum Instrument.
** Data entry LSB (llH) is ignored.
66RPN MSB/LSB (Controller number 100, 101)
Status 2nd byte 3rd byte
BnH 65H mmH
BnH 64H llH
n = MIDI channel number: 0H - FH (Ch.1 - 16)
mm = upper byte (MSB)of parameter number specified by RPN
ll = lower byte (LSB) of parameter number specified by RPN
** Not received when Rx.RPN = OFF.
** The value specified by RPN will not be reset even by messages such as Program Change or Reset
All Controller.
**RPN**
The RPN (Registered Parameter Number) messages are expanded control changes, and each function
of an RPN is described by the MIDI Standard.
To use these messages, you must first use RPN (Controller number 100 and 110, their order does
not matter) to specify the parameter to be controlled, and then use Data Entry messages (Controller
number 6, 38) to specify the value of the specified parameter. Once an RPN parameter has been
specified, all Data Entry messages received on that channel will modify the value of that parameter.
To prevent accidents, it is recommended that you set RPN Null (RPN Number = 7FH 7FH) when you
have finished setting the value of the desired parameter.
Refer to "3. Supplementary material", "Examples of actual MIDI messages (p. 108)"
On the Sound Canvas VA, RPN can be used to modify the following parameters.
RPN Data entry
MSB LSB MSB LSB Explanation
00H 00H mmH --- Pitch Bend Sensitivity
mm: 00H - 18H (0 - 24 semitones),
Initial value = 02H (2 semitones)
ll: ignored (processed as 00H)
specify up to 2 octaves in semitone steps
00H 01H mmH llH Master Fine Tuning
mm, ll: 00 00H - 40 00H - 7F 7FH
(-100 - 0 - +99.99 cents),
Initial value = 40 00H (+/- 0 cent)
** Refer to "3. Supplementary material", "About the Tuning (p. 109)"
00H 02H mmH --- Master Coarse Tuning
mm: 28H - 40H - 58H (-24 - 0 - +24 semitones),
Initial value = 40H (+/-0 semitone)
ll: ignored (processed as 00H)
00H 05H mmH llH Modulation Depth Range
mm: 00H - 04H (0 - 4 semitones)
ll: 00H - 7FH (0 - 100 cents)
100/128 Cent/Value
7FH 7FH --- --- RPN null
Set condition where RPN and NRPN are unspecified. The
data entry messages after set RPN null will be ignored. (No
Data entry messages are required after RPN null).
Settings already made will not change.
mm, ll: ignored