Skip to content

Guitar Pro exporter writes more than 4 voices causing crashes #2828

Description

@Danielku15

Is there an existing issue for this?

  • I have searched the existing issues

I have read the contribution rules

AI authorship

Written by a human, no AI assistance

Current Behavior

When a song has anywhere more than 4 voices (e.g. typical in converted/exported MusicXML files), alphaTab simply writes them to the Guitar Pro file. But Guitar Pro has a strict limitation to 4 voices, anything beyond causes crashes. Also MuseScore crashes when opening such files.

Expected Behavior

alphaTab should write Guitar Pro files with minimal data loss and maximum compatibility.

Steps To Reproduce

  1. Open a MusicXML file or alphaTex with more than 4 distinctive voices in a staff (but always less than 4 voices filled in one bar)
  2. export it to a Guitar Pro file
  3. open the file in Guitar Pro or MuseScore
  4. experience the crash

Link to jsFiddle, CodePen, Project

No response

Version and Environment

Interaction to Next Paint (INP)

0 ms
Your local INP value of 0 ms is good.
INP interaction
keyboard
Learn more about local and field metrics
Interactions
Layout shifts

keyboard INP
body
0 ms
Next steps
Environment settings
Use the device toolbar and configure throttling to simulate real user environments and identify more performance issues.


CPU: No throttling

Network: No throttling
Disable network cache


Record
Ctrl + E

Record and reload
Ctrl + Shift + E

alphaTab.Environment.printEnvironmentInfo()
Logger.ts:24 [AlphaTab][VersionInfo] alphaTab 1.9.0
Logger.ts:24 [AlphaTab][VersionInfo] commit: e45a2153e94f68028e0ea0e66af7daf6b7715d78
Logger.ts:24 [AlphaTab][VersionInfo] build date: 2026-08-01T18:23:18.402Z
Logger.ts:24 [AlphaTab][VersionInfo] High DPI: 2.1500000953674316
Logger.ts:24 [AlphaTab][VersionInfo] Platform: BrowserModule
Logger.ts:24 [AlphaTab][VersionInfo] WebPack: false
Logger.ts:24 [AlphaTab][VersionInfo] Vite: false
Logger.ts:24 [AlphaTab][VersionInfo] Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36
Logger.ts:24 [AlphaTab][VersionInfo] Window Size: 1778x952
Logger.ts:24 [AlphaTab][VersionInfo] Screen Size: 1920x1080
undefined

Platform

Web

Anything else?

If possible we should use the empty voice slots on a bar. even if overall in the file we have more than 4 voices, within one bar they are rare. by reusing the available voice slots, we can avoid data loss.

More than 4 voices is rare for properly written files, it is often a side effect of generated musicxml during export of files, or by some synthesized output (AI, or scripting means).

Reusing the existing slots should not cause problems that "wrong" voices are put together.

I think more than 2 voices is already very rare. but beyond 4 is rather fabricated or a technical artifact.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

Priority

Low

Effort

Medium

Area

File Formats

Platform

All / Multiple

Work State

Accepted

Projects

Status
Done

Relationships

None yet

Development

No branches or pull requests

Issue actions