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

Vibrato does not play for more than one bar #1011

Closed
1 task done
MrDrone-ru opened this issue Oct 13, 2022 · 2 comments · Fixed by #1014
Closed
1 task done

Vibrato does not play for more than one bar #1011

MrDrone-ru opened this issue Oct 13, 2022 · 2 comments · Fixed by #1014
Assignees
Labels
area-player Related to the audio playback engine. area-rendering Everything related to the rendering file-format-guitarpro platform-all Affects all platforms state-accepted This is a valid topic to work on. type-bug 🕷️

Comments

@MrDrone-ru
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

The vibrato stops at the end of the bar, then one note from the vibrato range plays, not necessarily the base one.

Expected Behavior

Vibrato for the entire duration of the note.

Steps To Reproduce

Play a vibrating note, which consists of 2 or more notes linked through a bar.
4-5 bars in my example

Link to jsFiddle, CodePen, Project

http://dronx.byethost16.com/attest.html

Found in Version

1.3-alpha

Platform

Web

Environment

Opera 91.0.4516.16

Anything else?

Also I wanted to change the vibrato option via code:

const settings = {
                    file: ".....",
                    player: {
                        enablePlayer: true,
                        soundFont:'https://cdn.jsdelivr.net/npm/@coderline/alphatab@latest/dist/soundfont/sonivox.sf2',
                        scrollElement: wrapper.querySelector('.at-viewport'),
                        vibrato: {
                            noteSlightLength = 350
                        }
                    }
}

But it caused an error "Invalid shorthand property initializer"
However, this

api.settings.player.vibrato.noteSlightLength = 350;
api.updateSettings();

works fine.

@MrDrone-ru MrDrone-ru added the state-needs-triage Bug not triaged yet. label Oct 13, 2022
@Danielku15
Copy link
Member

In your settings object you have a syntax error. You are using an = sign to define values which is not valid JavaScript. You need to use a : there.

Regarding the bug: Actually in the GP5 file, the tied note on bar 5 has no vibrato applied, so the audio playback is correct. I double checked the binary file during reading, and there are no vibrato effects on this note. So the file reading is correct.

image

It seems a bit funny that we are having the same bug like Guitar Pro in alphaTab because they also flag the tied note with a Vibrato on import:

image

While from a file format perspective the bugfix would be correct to not show a vibrato on the tied note, I think it would be better to keep the current display and ensure the audio is generated also with a vibrato.

What holds me a bit back to just make the change is that it could be that someone has a vibrato only on the first note, but stop at the second note.

@Danielku15 Danielku15 added type-bug 🕷️ area-rendering Everything related to the rendering state-accepted This is a valid topic to work on. area-player Related to the audio playback engine. file-format-guitarpro platform-all Affects all platforms and removed state-needs-triage Bug not triaged yet. labels Oct 14, 2022
@MrDrone-ru
Copy link
Author

Thanks for reply.
I just thought that it would be possible to set up the behavior of AT like in Guitar Pro 5, and there the tied note plays vibrato without a sign. It probably plays the tied notes as one, and it turns out to be a bug.
Interestingly, if this file is imported into GP8, there is automatically vibrato on both notes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-player Related to the audio playback engine. area-rendering Everything related to the rendering file-format-guitarpro platform-all Affects all platforms state-accepted This is a valid topic to work on. type-bug 🕷️
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants