### Is there an existing issue for this? - [x] I have searched the existing issues ### I have read the contribution rules - [x] I have read [CONTRIBUTING.md](https://github.com/CoderLine/alphaTab/blob/develop/CONTRIBUTING.md) and, if any AI agent helped draft this issue, [AGENTS.md](https://github.com/CoderLine/alphaTab/blob/develop/AGENTS.md). ### AI authorship AI-assisted (disclosure block included as described in AGENTS.md) ### Current Behavior - beat with fade out (or volume swell) - after it: track silent until the end of the song - changeTrackVolume(): no effect (volume × 0 = 0) ### Expected Behavior - fade out = only its beat - next notes: normal track volume (like Guitar Pro) ### Steps To Reproduce 1. Track with: fade in on a beat, fade out on a later beat, more notes after 2. Load the file 3. Play the track (solo) 4. Notes after the fade out: no sound ### Link to jsFiddle, CodePen, Project _No response_ ### Version and Environment ```bash [AlphaTab][VersionInfo] alphaTab 1.8.4 [AlphaTab][VersionInfo] commit: 022a45c8e42370f9e12e68949d11eada370da83d [AlphaTab][VersionInfo] build date: 2026-07-05T14:46:18.224Z [AlphaTab][VersionInfo] High DPI: 1 [AlphaTab][VersionInfo] Platform: BrowserModule [AlphaTab][VersionInfo] WebPack: false [AlphaTab][VersionInfo] Vite: false [AlphaTab][VersionInfo] Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36 [AlphaTab][VersionInfo] Window Size: 1400x1000 [AlphaTab][VersionInfo] Screen Size: 1400x1000 Also on: Chrome Android (same result) and Firefox Android (same result) Same code in: 1.9.0-alpha.1963 ``` ### Platform Web ### Anything else? Cause: - MidiFileGenerator._generateFade - fade out → VolumeCoarse down to 0 (primary + secondary channel) - no reset after Fix idea: - fade out + volume swell: add VolumeCoarse = track volume at beatStart + beatDuration - track volume = playbackInfo.volume, or current volume automation if any
Activity
fix(midi): fade via expression and restore it with the voice's next note
fix(midi): fade via expression and restore it with the voice's next note