GuitarPro be like (I added __repr__ methods to the classes...)
```
>>> [m.voices[0].beats for m in s.tracks[0].measures]
<<<
[[Beat(voice=Voice(measure=Measure(track=Track(song=Song(title=, #tracks=1), number=1, name=Spur 1, #measures=5, #strings=6), #voices=2), #beats=8), #notes=1, duration=Duration(value=8, isDotted=False, tuplet=Tuplet(enters=1, times=1)), start=960),
Beat(voice=Voice(measure=Measure(track=Track(song=Song(title=, #tracks=1), number=1, name=Spur 1, #measures=5, #strings=6), #voices=2), #beats=8), #notes=1, duration=Duration(value=8, isDotted=False, tuplet=Tuplet(enters=1, times=1)), start=1440),
Beat(voice=Voice(measure=Measure(track=Track(song=Song(title=, #tracks=1), number=1, name=Spur 1, #measures=5, #strings=6), #voices=2), #beats=8), #notes=1, duration=Duration(value=8, isDotted=False, tuplet=Tuplet(enters=1, times=1)), start=1920),
...
>>> >>> [n for m in s.tracks[0].measures for b in m.voices[0].beats for n in b.notes]
<<<
[Note(value=2, velocity=95, string=5, effect=<guitarpro.models.NoteEffect object at 0x7ffa4ac99510>, durationPercent=1.0, swapAccidentals=False, type=<NoteType.normal: 1>),
Note(value=4, velocity=95, string=4, effect=<guitarpro.models.NoteEffect object at 0x7ffa4ac99750>, durationPercent=1.0, swapAccidentals=False, type=<NoteType.normal: 1>),
Note(value=0, velocity=95, string=3, effect=<guitarpro.models.NoteEffect object at 0x7ffa4ac999d0>, durationPercent=1.0, swapAccidentals=False, type=<NoteType.normal: 1>),
...
```