Here's how I've handled it by creating a new Chordnames staff.
\version "2.24.3"
Harmonies = \chordmode {
a1:maj
a1:maj
a1:maj
}
AltHarmonies = \chordmode {
\override ChordName.font-size = #-1
s1
b2:m7 e:7
s1
}
\score {
<<
\new ChordNames \AltHarmonies
\new ChordNames \Harmonies
\new Staff {
R1
R1
R1
}
>>
}
For parentheses around Chords, I use this code
%% Parentheses for Chords %%
#(define (left-parenthesis-ignatzek-chord-names in-pitches bass
inversion context)
(markup #:line ("( " (ignatzek-chord-names in-pitches bass inversion
context))))
#(define (right-parenthesis-ignatzek-chord-names in-pitches bass
inversion context)
(markup #:line ((ignatzek-chord-names in-pitches bass inversion
context) " )")))
#(define (parenthesis-ignatzek-chord-names in-pitches bass inversion context)
(markup #:line ("( " (ignatzek-chord-names in-pitches bass inversion context) " )")))
%aliases
LParen = { \set chordNameFunction = #left-parenthesis-ignatzek-chord-names }
RParen = { \set chordNameFunction = #right-parenthesis-ignatzek-chord-names }
NoParen = { \unset chordNameFunction }
_OneParen_ = { \set chordNameFunction = #parenthesis-ignatzek-chord-names } %Parentheses around a single chord
and call the function like this:
AltHarmonies = \chordmode {
s1
\LParen b2:m7
\RParen e:7
\NoParen
s1
}