"soundwaves" are organized as animation tracks (CTrack) referencing sound files.
You can check if the current frame is in the range of a given CTrack. This range is the result of the start position of the track plus the length of the sound file.
The length of the sound file can be obtained from the track, but the value is stored as a string. So you would have to convert that into a time value (BaseTime).
Such a check can look like this:
start = track[c4d.CID_SOUND_START]
# get length
# length is stored as a string; need to convert it to int
length = track[c4d.CID_SOUND_LENGTH]
length = length[:-2]
length = int(float(length))
fps = doc.GetFps()
end = start + c4d.BaseTime(length, fps)
# check if the current frame is within the range of the sound clip
curTime = doc.GetTime()
if curTime >= start and curTime < end:
print("Uses Track: " + track.GetName())
Of course, you have to loop over all sound tracks associated with a given object.
You also find information on CTracks in the C++ documentation: CTrack Manual.