I am relatively new in music programming and I am looking for suggestions on what tools/programming languages to use regarding the following scenarios about feature extraction and visualization:
identify and group notes in a score (from different voices/instruments) that sound concurrently (even if they are attacked in different time offsets, though sound at some point together due to different duration lengths); then connect them graphically (e.g. on a score representation, with a line connecting them)
identify melodic and accompanying parts (assigned to different voices/instruments, perhaps interchangeably within the same voice/instrument)
extract initial tonality and following modulations; then map all extracted tonalities on a scale based on the circle of 5ths (where 0 is the initial tonality, -1 is one 5th lower, +1 one 5th higher, etc.)
I have been thinking of using music21 (the works I am interested in are anyway part of its corpus), but I am not sure if this is the right way to go.. Are there also other tools (e.g. jSymbolic2??) that could help?
And what about visualization? Could the above scenarios be visually "solved" within music21 or would I need an additional tool, like D3.js?
If you would have an advice on any of the above scenarios, that would help me a lot! Thanks, Ilias