Is alphaTab able to show Pinch Harmonics as a P.H. Text or only currently A.H. when available? #2667
Replies: 7 comments 3 replies
-
|
tl;dr: Provide me the respective file and I can do some tests on some guitar pro versions and applications to check whether we do something wrong in alphaTab, or if platforms like Songsterr have some custom assumptions. Deeper background info We map the text based on the harmonics type: The first public available docs of Guitar Pro formats (shared by Arobas Music) was for GP4 and there harmonics are documented very special: https://dguitar.sourceforge.net/GP4format.html GP4 introduced per note harmonics as per-spec, and GP5 changed things to be more explicit. GP3 (as of my knowledge) only had beat-level harmonics and there we have only Natural and Artificial in place. No further differentiation on type: alphaTab/packages/alphatab/src/importer/Gp3To5Importer.ts Lines 1024 to 1031 in f8ef24f I might be able to do some deeper analysis if you provide me the file you test with. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
While Guitar Pro 3 might only specify "Natural" and "Artificial Harmonics,"
these are definitely Pinch Harmonics (P.H.) on the actual recordings. Zakk
Wylde frequently demonstrates his signature pinch technique on YouTube,
using the tip of his thumb and pick to achieve those specific high-pitched
squeals (especially on the low E string, fret 3).
I believe Songsterr has corrected this rather than it being a bug or quirk.
You can see Zakk and other teachers demonstrating this technique in the
following videos:
- https://youtu.be/eC53aquSWeM?si=WaSRk0ZY-Wo3WB_k
- https://youtu.be/JI7AQYhX0Rg?si=jOm9bFwq8m0-rCed
- https://youtu.be/mX_8p7NaibQ?si=8_HlGO3h6qvDiYeV
Given that these are intended to be Pinch Harmonics, what does it mean for
alphaTab if they are not currently showing up that way?
Best regards
…On Fri, Apr 24, 2026 at 10:06 AM Daniel Kuschny ***@***.***> wrote:
Instant update, was able to dig out an old Guitar Pro 3 demo. GP3 had only
"Natural" and "Articial Harmonics". the P.H. in Songsterr (I assume from
the screenshot) is either a bug or a custom quirk they added:
image.png (view on web)
<https://github.com/user-attachments/assets/f30e6010-1b13-4f71-87e5-684f32ebf7e0>
—
Reply to this email directly, view it on GitHub
<#2667 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BNLESQGW2ENTHHZP6ZFTJGD4XONJXAVCNFSM6AAAAACYFM3C3SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNZQGQ2TSMQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Hi Daniel,
I've looked into this further, and it appears that Guitar Pro 3 lacked a
dedicated option for Pinch Harmonics (P.H.), which likely wasn't introduced
until GP5 or GPX.
In older versions, "Artificial Harmonic" (A.H.) was often used as a
catch-all term for any harmonic not played on an open string. While
software sometimes groups them together, they are distinct techniques:
- Natural Harmonics (N.H.): Produced on open strings by lightly touching
a node point.
- Artificial Harmonics (A.H.): A "harp harmonic" where you fret a note
with the left hand and touch a node point with the right.
- Pinch Harmonics (P.H.): The aggressive "squeal" created by striking the
string with the pick and grazing it with the thumb.
The technical confusion likely stems from a compatibility gap between
modern formats and the GP3 engine. Songsterr probably uses a newer format
(GP5 or GPX) that treats P.H. as a unique attribute. Since GP3 only
recognizes Natural and Artificial, it likely forces P.H. data into the A.H.
category or ignores it. In older Guitar Pro versions, users would typically
select "Artificial Harmonic" and adjust the playback sound to mimic a pinch
harmonic.
If alphaTab is strictly following the GP3 spec, it might not have a slot
for P.H. data. It might be worth looking into how GP5 handles the Pinch
Harmonic flag, as that is likely what modern files are using.
Best regards
…On Fri, Apr 24, 2026 at 10:06 AM Daniel Kuschny ***@***.***> wrote:
Instant update, was able to dig out an old Guitar Pro 3 demo. GP3 had only
"Natural" and "Articial Harmonics". the P.H. in Songsterr (I assume from
the screenshot) is either a bug or a custom quirk they added:
image.png (view on web)
<https://github.com/user-attachments/assets/f30e6010-1b13-4f71-87e5-684f32ebf7e0>
—
Reply to this email directly, view it on GitHub
<#2667 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BNLESQGW2ENTHHZP6ZFTJGD4XONJXAVCNFSM6AAAAACYFM3C3SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNZQGQ2TSMQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
Hi Daniel,
I apologize for the oversight; I saw your first response before reading the
second one with the additional details.
I've confirmed on guitar-pro.com that GP7 and GP8 now include "P.H." as a
distinct option in the editor's harmonic drop-down menu. I found a tutorial
https://travelingguitarist.com/guide-to-pinch-tap-semi-natural-harmonics-in-guitar-pro/#:~:text=Using%20the%20Toolbar%20To%20Make,to%20create%20the%20natural%20harmonic
demonstrating this workflow. While I'm not sure how these versions handle
conversions from older GP3 or GP5 files, it is clear that modern formats
now explicitly support Pinch harmonics.
Regarding alphaTab, since HarmonicType.Pinch is already defined in
HarmonicsEffectInfo, the issue seems to be with the importer mapping. In
our probes of the file, the pinch harmonic beats are present in the model,
but they appear as:
- note.harmonicValue = 3.2 or 4
- note.harmonicType = 0 (None)
Because the type is set to 0, the renderer never produces the "P.H." label.
This occurs in track 0 at measures 27, 35, 63, 136, and 144 (13 unique
beatIds).
Please let me know if you want me to shoot you over a repo with the .gp
file you requested. Once loaded, you should be able to reproduce this by
inspecting those measures and checking why note.isHarmonic or
note.harmonicType isn't being set despite the non-zero harmonicValue.
Thanks again for your help—I’m happy to test a fix.
Best regards,
Brett
…On Fri, Apr 24, 2026 at 1:26 PM Daniel Kuschny ***@***.***> wrote:
I answered this already, you might wanna read my replies. Most details
covered.
If you wanna change this behavior, you need to add this to your app (check
for .GP3 and rewrite the model after load to your preferences). We
currently adhere to what the model describes. Might he worth checking if
GP5-8 also have some quirks to convert A.H. to other variants based on some
rules, but if not, we do things correct in alphaTab.
—
Reply to this email directly, view it on GitHub
<#2667 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BNLESQGVPL5EGJUKSBJK4T34XPEXFAVCNFSM6AAAAACYFM3C3SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMNZQGY2DCNQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
I'm on it!
Just to clarify my wording:
When I said “alphaTab/Vite,” I meant a separate minimal alphaTab test
harness running in Vite. That LouisLam It's My Tabs Vite setup currently
uses:
***@***.***/alphatab-vite": "~1.8.1"
Our main Maestro.ai app is Next.js/Webpack and currently uses:
***@***.***/alphatab": "^1.8.1",
***@***.***/alphatab-webpack": "^1.8.1"
So I’ve been using the Vite harness as a cleaner comparison point against
the larger Maestro.ai Next/Webpack integration.
That lets me separate:
1. alphaTab behavior in a minimal Vite setup, from
2. behavior caused by our Maestro.ai Next.js/Webpack app integration.
I’ll make that clear in the bug report and include which environment each
screenshot comes from.
…On Mon, May 4, 2026 at 12:00 PM Daniel Kuschny ***@***.***> wrote:
Please open a bug report with the files you test with and the exact steps
to reproduce (project setup). Not sure what exactly is "alphaTab/Vite" and
"Vite system" for you. I created a new file in Guitar Pro 8 (8.1.5 Build
31), added a pinch harmonic and it's read correctly in my test environments
(playground using Vite 17 with Dev Server, Sample Projects I have floating
around with alphaTab+Vite)
image.png (view on web)
<https://github.com/user-attachments/assets/57a0a061-3712-4bf9-8c41-8c053d270a83>
—
Reply to this email directly, view it on GitHub
<#2667 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BNLESQGBA52G4WLLW6G4LA34ZDSFLAVCNFSM6AAAAACYFM3C3SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTMOBQHA4DGNQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.










Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Daniel,
I’m running into an issue with how alphaTab is handling harmonics—specifically Pinch (P.H.) and Artificial (A.H.) harmonics. I’ve tested this on both Vite and Next.js using v1.8.1.
The main issue is that while I see harmonic glyphs being engraved (SMuFL e4e3/e4e4), note.harmonicType is returning 0. It feels like these are being treated as "visual-only" elements rather than being mapped semantically in the model.
Additionally, the placement seems off. In some cases, when I tested adding my own overlay since they appeared to be missing the (P.H.) an "H." overlay is appearing on empty bars or bars with whole rests. In other files, the P.H. marker is being rendered far away from where the actual notes are (see attached image).
I noticed that while GP8 files seem to struggle with this, even older formats like GP3 are showing these as A.H. rather than specific P.H. pinch harmonics which of course a very different techniques. Is there a specific field we should be looking at for P.H./A.H. data, or is this a bug in how these are parsed into the model?
This first one is an example of the gp file in which the player shows the P.H. and a dash rail after. Which is not really needed as you would with a P.M continuation.
However, now borrowing this LouisLam Vite system in this image above it did not Render and show a P.H. or an A.H. here
And here is my last example this is a gp3 file of the same Ozzy No More Tears and instead of showing the P.H. it is showing these as an A.H. which is not correct...However this could be due to the original tab user who created it but not sure.
Does alphaTab have the ability to show the (P.H.) currently?
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions