Coding single notes interspersed with chords

To practise my coding I’m transcribing a Bach fugue from the manuscript. It’s one of those where every now and again he adds some extra notes to emphasise the harmony. My understanding is that I could code the whole thing with each part using play_chord but then each single note would need it’s own square brackets. But if I code using play_note (using zip to bring together my duration and pitch files) I can only play a single note as more than one will be interpreted as an envelope for the pitch (I think!).
Is there a work round or should I just locate the points and add a new part and drop the chords in when necessary?
Any thoughts gratefully received…

maybe something like:

inst.play_chord(pitch if hasattr(pitch, '__len__') else [pitch], volume, dur)