Synth Forum

Notifications
Clear all

M8X - no more pitchbend 'stepping' issue - PB appears to be using 14 bit precision

12 Posts
4 Users
0 Likes
178 Views
Posts: 773
Prominent Member
Topic starter
 

I've seen some forum references to pitchbend being 'stepped' resulting in the sound transition not being smooth.

I'd be happy to test the resolution on the M8X if someone can suggest a simple test case tha will give the results people want.

Although 'use your ears' is great for some things it doesn't always work for me. So the more extreme the example the better.

Some of those discussions included 'unison poly' but I'm not sure I know what that is, when/why it would be used or how to test being able to use it.

P395 of the operations doc shows 3 UNISON parameters on the 'edit -> part -> General / Pitch -> AN-X Settings screen.
private static void processAwm2ElementDrumKeySysExMessage (PerformancePart part, SysExMessage sysExMessage) {

A 'Unison' parm with values of Off, 2 or 4. A, a Unison Detune dial from 0-15 and a Unison Spread dial from 0-15. Haven't gotten into the AN-X stuff yet.

 
Posted : 01/11/2023 4:34 am
Darryl
Posts: 783
Prominent Member
 

Here is the test I did with my DX7II-FD vs the Montage 3+ years ago. You can hear the stepping on the second part (Montage):
https://soundcloud.com/dclowe/dx7ii-vs-montageos35-pitchbend

Here is the post on this forum regarding it from 3+ years ago:
https://yamahasynth.com/forum/how-a-so-high-end-synthesizer-cannot-provide-a-proper-pitchbend?start=60#reply-100111

It contains a google drive link to the sound (.x7l file) although I don't know if that link is still good nor if the .x7l file is still there or not. If it's there, load the library and search for 'SongFlute', mute all PARTs except for PART1 & set pitch bend to +/-12
https://drive.google.com/drive/folders/1LnVidcRHVfwenKoJVEbCSonZCM_bCmVs?usp=sharing

If not, these Presets could be used to test ... just do a search for them (Mute all but a single PART and set pitch bend to +/-12):

FM Pan Flute
FM Harmonica
Recorder
Mini Soft
Panflute

The faster you pitch bend, the more noticeable it is overall is what I found back then...

 
Posted : 01/11/2023 12:33 pm
 Phil
Posts: 0
Active Member
 

While I don't have the new Montage M to compare with my Montage 6, I am still dismayed to hear that once again Yamaha may not have addressed long-standing shortcomings with even their flagship keyboards with higher powered CPUs. There is no reason they couldn't have worked out parameter smoothing like other companies by now.

I was astounded when I still heard the zippering of the pitch bend on my Montage, especially when the interval was set for more than a whole step and I moved the wheel quickly. Maybe they were hoping no one would notice because people don't tend to use wider pitch bend ranges than that.

But for a company whose history includes the CS80 with its long pitch ribbon, which presumably did not have stepping, you'd hope they understand that we want to be able to affect the sounds more extremely at times.

 
Posted : 01/11/2023 2:47 pm
Darryl
Posts: 783
Prominent Member
 

It should be noted that while the pitch bend issue was not 'fixed', it was resolved as good as it could be on the Montage & MODX. The main developer of the Montage worked on it as best he could to improve it; However it is a limitation that is not fully addressable via an OS update!
Basically the 3.50 update did improve the pitch bend resolution and Blake Angelos had updated regarding this as an improvement, not a 'fix' in his article here (“Pitch Bend resolution has been improved both internally and from and external controller. It is smoother and just responds better”).

So Yamaha, especially the main developer were aware of this, and going forward they were hopeful to resolve the issue. I don't know if this is the case or not with the Montage M, but it would be interesting to know if they did indeed finally resolve the issue, such that pitch bend is smooth..!?

 
Posted : 01/11/2023 5:19 pm
Posts: 773
Prominent Member
Topic starter
 

Thanks for the detailed info - that is what works best for me when running a test - not having to guess about any of the settings ensures I'm using the same setup

You can hear the stepping on the second part (Montage):

Not any more you can't. At least I can't.

The files are still available.
1. downloaded the library file
2. loaded it to the M8X
3. load SongFlute
4. muted parts 2,3,4

I first checked using PB of +1 - this should be up one semi-tone.

Moving the PB as slowly and carefully as possible I could hear middle C and then AT LEAST 3, maybe more sounds before I got to the C# at the top bend of +1.With.

I then checked +12 and even +24 with the same result. As far as my ears can tell there are at least three tones BETWEEN the semitones.

Can't do a direct comparison anymore since the M8X is all I have available. And I did NOT test using an external controller so can't speak to any difference between internal and external.

The PB range is the same -48 to +24 as in the previous Montage doc.

That original thread started off saying

the pitchbend of the montage is stepped,

Butk nowhere in the discussion does anyone actually expand on just what they mean by 'stepped'. Do they mean it changes from semitone to semitone and nothing inbetween? Do they mean it may even skip some semitones?

My ears tell me there are at least 3 tones inbetween two semitones but they don't tell me if those are discrete steps or whether is is more gliding inbetween that I can't discern.

My best opinion is that whatever was meant by 'stepped' it either isn't happening in the new M or the steps are so small you can't detect them with your ears.

When I get my computer back I will use MIDI-OX to see how many PB values are actually being sent and will post the results.

 
Posted : 01/11/2023 5:39 pm
Posts: 773
Prominent Member
Topic starter
 

Here are the raw numbers from 3 simple PB tests - all three go from default/middle to full up

Data1 is LSB and Data2 is MSB of the value with each being a 7 bit value.
So you have to shift MSB right by 1 (divide by 2) and then add LSB

The 7F 7F (full up) equates to 16,255 which is 14 bit precision

So there were 11 PB messages sent for a 1 semitone change of pitch

A value of 0x2000 -> 0x1000 -> 4096 is normal note - no pitch change

TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT

pb + 1 moderate speed
00014B3E 1 2 E0 30 40 1 --- Pitch Bend - the 30 is LSB and 40 is MSB so 0x2030
00014B4A 1 2 E0 31 45 1 --- Pitch Bend
00014B5A 1 2 E0 22 4A 1 --- Pitch Bend
00014B62 1 2 E0 14 50 1 --- Pitch Bend
00014B73 1 2 E0 45 56 1 --- Pitch Bend
00014B7D 1 2 E0 07 5D 1 --- Pitch Bend
00014B84 1 2 E0 78 63 1 --- Pitch Bend
00014B91 1 2 E0 7A 6A 1 --- Pitch Bend
00014BA1 1 2 E0 0C 72 1 --- Pitch Bend
00014BAA 1 2 E0 1E 79 1 --- Pitch Bend
00014BB6 1 2 E0 7F 7F 1 --- Pitch Bend - 7F 7F is full up 16,255
00014E9E 1 2 E0 1E 7A 1 --- Pitch Bend
00014EA9 1 2 E0 17 5E 1 --- Pitch Bend
00014EB5 1 2 E0 00 40 1 --- Pitch Bend

pb +1 slightly slower speed

TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
000240F0 1 2 E0 30 42 1 --- Pitch Bend
00024100 1 2 E0 41 45 1 --- Pitch Bend
0002410A 1 2 E0 52 48 1 --- Pitch Bend
00024114 1 2 E0 72 4B 1 --- Pitch Bend
00024123 1 2 E0 53 4F 1 --- Pitch Bend
0002412D 1 2 E0 05 54 1 --- Pitch Bend
00024137 1 2 E0 16 58 1 --- Pitch Bend
00024146 1 2 E0 47 5C 1 --- Pitch Bend
00024150 1 2 E0 28 61 1 --- Pitch Bend
0002415B 1 2 E0 39 66 1 --- Pitch Bend
0002416A 1 2 E0 0B 6C 1 --- Pitch Bend
00024174 1 2 E0 0C 72 1 --- Pitch Bend
00024180 1 2 E0 6D 77 1 --- Pitch Bend
0002418C 1 2 E0 3F 7D 1 --- Pitch Bend
00024198 1 2 E0 7F 7F 1 --- Pitch Bend
00024438 1 2 E0 66 5A 1 --- Pitch Bend
00024448 1 2 E0 70 39 1 --- Pitch Bend
00024452 1 2 E0 30 3F 1 --- Pitch Bend
0002445C 1 2 E0 00 40 1 --- Pitch Bend

pb +24 between slow and moderate speeds

TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
00021395 1 2 E0 20 40 1 --- Pitch Bend
000213AF 1 2 E0 50 40 1 --- Pitch Bend
000213B9 1 2 E0 70 40 1 --- Pitch Bend
000213D2 1 2 E0 20 41 1 --- Pitch Bend
000213DC 1 2 E0 30 41 1 --- Pitch Bend
000213F5 1 2 E0 50 41 1 --- Pitch Bend
00021441 1 2 E0 00 42 1 --- Pitch Bend
00021456 1 2 E0 30 42 1 --- Pitch Bend
0002146F 1 2 E0 50 42 1 --- Pitch Bend
00021488 1 2 E0 00 43 1 --- Pitch Bend
000214AB 1 2 E0 20 43 1 --- Pitch Bend
000214DA 1 2 E0 10 43 1 --- Pitch Bend
000215A5 1 2 E0 60 42 1 --- Pitch Bend
000215BE 1 2 E0 40 42 1 --- Pitch Bend
000215CA 1 2 E0 10 42 1 --- Pitch Bend
000215D9 1 2 E0 70 41 1 --- Pitch Bend
000215E1 1 2 E0 40 41 1 --- Pitch Bend
000215ED 1 2 E0 20 41 1 --- Pitch Bend
000215F9 1 2 E0 60 40 1 --- Pitch Bend
00021605 1 2 E0 20 40 1 --- Pitch Bend
00021616 1 2 E0 00 40 1 --- Pitch Bend
0002322F 1 2 E0 10 42 1 --- Pitch Bend
0002323E 1 2 E0 51 47 1 --- Pitch Bend
00023248 1 2 E0 03 4C 1 --- Pitch Bend
00023251 1 2 E0 24 51 1 --- Pitch Bend
0002325C 1 2 E0 15 57 1 --- Pitch Bend
00023269 1 2 E0 37 5D 1 --- Pitch Bend
00023275 1 2 E0 19 64 1 --- Pitch Bend
00023281 1 2 E0 0A 6B 1 --- Pitch Bend
0002328D 1 2 E0 5C 71 1 --- Pitch Bend
0002329A 1 2 E0 3E 78 1 --- Pitch Bend
000232A8 1 2 E0 0F 7F 1 --- Pitch Bend
000232B2 1 2 E0 7F 7F 1 --- Pitch Bend
000242F0 1 2 E0 1E 78 1 --- Pitch Bend
000242F9 1 2 E0 72 4B 1 --- Pitch Bend
00024309 1 2 E0 70 3A 1 --- Pitch Bend
00024311 1 2 E0 00 40 1 --- Pitch Bend

 
Posted : 01/11/2023 6:19 pm
Jason
Posts: 7907
Illustrious Member
 

It's been described as maximizing the pitch bend range and quickly diving (or ramping up) the note and listen for something that isn't "smooth" (like a portamento). It's been described before as sounding chromatic.

There are two opportunities for "thinning out" pitch bend which would cause this unwanted behavior:

1) Lack of resolution in determining the pitchbend location. This 7-bit vs 10-bit vs 14-bit stuff. Ignoring any timing related - so generally tested with slow and small moves of the pitch bend to help determine.

2) Lack of resolution in the time domain. Meaning over a given period of time (say 10mS) that the system would limit the number of messages that can fit into that space. Even though the pitch bend position may be able to get sampled at intermediate values - the system only allows so many MIDI or internal messages per unit time which also impacts the granularity of intermediate values. This would be best tested using the widest pitch bend range and quickly moving the pitchbend wheel to either extreme. This can also be related to the polling time (sampling frequency) of PB. Rather than throwing out values - one could just sample at a slower/faster rate to decrease/increase the amount of values that could be presented within a given unit time.

The biggest complaints seem to require speedy+wide pitch bending.

 
Posted : 01/11/2023 7:12 pm
Posts: 773
Prominent Member
Topic starter
 

@Jason - I'm not sure how to relate any of your comments to what I posted.

 
Posted : 01/11/2023 7:18 pm
Jason
Posts: 7907
Illustrious Member
 

Relates to this:

But nowhere in the discussion does anyone actually expand on just what they mean by 'stepped'.

And generally encourages a test strategy that involves quickly operating pitchbend from center to either extreme.

Your testing primarily seems to focus on slower speeds ("slow to moderate" ) which would be reasonable for determining how many bits of resolution there are and not as good at determining how many PB samples can happen within a unit time. Although some amount of post-processing can be had on your timestamps + values to determine what the minimum times are between samples here.

Throwing the kitchen sink at this would be rapidly rolling pitch bend and see if the result sounds stepped (like a scale) or smooth (like a glissando).

The MIDI output, BTW, is not altogether revealing as it's possible that for driving external gear this particular mechanism is "dumbed down" vs. the internal capabilities. And this is where listening (or recording and evaluating the resulting audio waveforms) plays more of a part than whatever one would see on MIDI output.

Ultimately, folks would like for the on-keyboard pitch bend to provide a smooth glissando for extreme and rapid bends. This is not something that was achievable in Motif or early Montage classic (not to get into a debate on if later updates fixed anything substantially - we can agree that early firmware had a big problem like Motif).

 
Posted : 01/11/2023 7:44 pm
Posts: 773
Prominent Member
Topic starter
 

Throwing the kitchen sink at this would be rapidly rolling pitch bend and see if the result sounds stepped (like a scale) or smooth (like a glissando).

I did tests of fast changes and my ears didn't detect any stepping, clumping, chunking or the like. All I heard was smooth transitions.

I only posted the PB details so people could see what was being generated and compare that to what previous instruments spit out. That is, specifically to assess the precision issues.

No tests were done with external gear in either direction - driving or being driven. It will really take someone that has specific experience with the 'stepping' issue to know to what degree, if any, it still exists.

 
Posted : 01/11/2023 7:58 pm
Darryl
Posts: 783
Prominent Member
 

[quotePost id=124190]
I did tests of fast changes and my ears didn't detect any stepping, clumping, chunking or the like. All I heard was smooth transitions.
[/quotePost]
This sounds like they fixed it then...

To Jason's point, slow to medium speed didn't seem to have the stepping issue nearly as much on the Montage, and as I recall it was difficult to make it step at slow to medium speeds. So when you listen to my test in the sound clip, the reason I am going up and down at those speeds is to show the stepping problem at it's worst, which is at the much faster speeds. I can't pinpoint exactly what the stepping is without slowing down the audio track to 1/4 speed or something, but it seems like there may be approximately 3 steps (of stepping sounds) in the split second it takes to go from up to down, or from down to up.
https://soundcloud.com/dclowe/dx7ii-vs-montageos35-pitchbend

If you listen to the second half of the clip where I am showing the pitch bend stepping of the Montage, there are several times where I don't bend quite fast enough and it's smoother with no stepping sounds, such as:

at the tail end of the 24-25 second mark (medium speed) - Smooth
at the tail end of the 27-28 sec mark (medium fast speed) - Smooth
during the 31-32+ sec mark (medium slow speed) - Smooth

In contrast, if you listen back to the DX7II (the first half of the clip) it doesn't matter what speed, you can hear almost a 'W' like sound when bending up and there is absolutely no stepping.

If the tests you did with the fast changes/bends were at about the same speed as the ones I did on the second half of that clip (Montage), but not slower like at the times I listed above, and you had PB set to +/-12 (basically bending up & down 1 octave), then if you heard no stepping like can easily be heard in that Soundcloud clip, I would say that the problem is fixed on the Montage M!
I'm not really much of a MIDI Data person, as I go pretty much completely by ear on things like this. And looking at the MIDI data you posted, I can see changes in the numbers, but I don't really know exactly how to interpret them nor what they mean. I think you and Jason likely do know how to interpret those numbers and what they really mean. It might be worth doing the fast split second bends with PB set to +/-12 and post those numbers, more for Jason's benefit!? ...or if you have additional time, record the audio of those really fast bends and post that for my benefit, or "for the benefit of Mr. Kite, there will be a show tonight" :p

 
Posted : 02/11/2023 1:34 am
Jason
Posts: 7907
Illustrious Member
 

Given the possible difference between internal connections of the PB to the tone generator (which we are interested in) and MIDI messages sent out the various USB/5-pin ports (which we're not particularly interested in) -- I would generally ignore the MIDI data and particularly if the MIDI output seemed to "show" stepping.

As internally there may be much more data not transmitted out MIDI - and the tone engine may or may not have interpolation of PB (a smoothing function internally) - the MIDI output is not particularly meaningful. At least not to prove there's an issue.

I trust the reports that going crazy with the pitchbend set to extremes produces an analog-ish result and not a digital-ish (stepped, zipper, etc) result. I don't really need to proof - the tests are easy enough to describe, setup, and evaluate.

It's also easy enough to setup at the local retail store if you wanted to get an in-person idea.

I guess it's worth stating that of course these would be tests done on FM-X or AMW2 as Montage classic didn't have AN-X and AN-X today, in other areas, uses higher resolution parameters.

 
Posted : 02/11/2023 3:08 am
Share:

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us