Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Midi notes are 1 octave lower (on VST instruments and ZynAddSubFX) when open 1.2.2 file with Nightly Version. #6216

Closed
superpaik opened this issue Nov 9, 2021 · 3 comments
Labels

Comments

@superpaik
Copy link
Contributor

Bug Summary

Testing diffents PRs I've notice that when a file has VST instrument (like Vital) or ZynAddSubFX, when opening a 1.2.2 project with the Nightly Version the midi notes on the piano-roll are 1 octave lower than the original project. It does not happen with other instruments (like Triple Oscillator or AudioFileProcessor)

Steps to reproduce

Create a file with 1.2.2 using ZynsAddSubFX, put some notes on the piano-roll, save the file and open it with the Nightly Version

Expected behavior

Midi notes are expected to be keep at the same octave.

Actual behavior

They are one octave lower.

Screenshot

imatge

Affected LMMS versions

Nightly version and thereafter.

@superpaik superpaik added the bug label Nov 9, 2021
@Monospace-V
Copy link
Contributor

Monospace-V commented Nov 9, 2021

I can't find exactly where, but there was a change that changed the internal octave of ZASFX (or something along those lines) and, for backward compatibility, brought down the octave of the instrument within MIDI notes of old files so that the resulting sound is the same.
I believe the resulting audio sounds the same?

@he29-net
Copy link
Contributor

he29-net commented Nov 9, 2021

Unless I'm missing something, this is the intended behavior. The upgrade routine that handles new MIDI range (in the nightly version) should move notes to new values if needed, to make sure everything sounds the same when an old project is opened, as suggested by Monospace-V.

Details: The new MIDI range affects ZynAddSubFX, VSTs and few others differently, because they were bugged in all previous LMMS versions (#1857). In short, when LMMS wanted to tell Zyn to play A4, it sent note number 57 without any adjustment. Zyn (and most VSTs etc.) use standard MIDI range, where 57 means A3, so all the affected instruments played one octave lower than they should.

LMMS now uses the full standard MIDI range, so for A4 it will send note number 69 and Zyn plays the correct tone. To ensure your old project sounds the same when loaded in a new version, the upgrade routine moves notes of affected instruments one octave lower, so that they keep sending note number 57 as before. The only difference should be that LMMS now correctly displays the lower notes that have been actually playing all the time.

@superpaik
Copy link
Contributor Author

Ok. I see it now. Sorry, my fault.
The sound is exactly the same although the notes are 1 octave lower, as explained by @he29-net.
Thanks!
This issue can be closed. I try to do it myself (I don't know if I can)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants