I want to make a music player for begginer musicians with a bunch of sound analysis and shit like roman numeral...

I want to make a music player for begginer musicians with a bunch of sound analysis and shit like roman numeral analysis of the chords and also some circle of fifths visualizer.

What other features of music analysis should I support?

Attached: 1521469512317.png (650x638, 25K)

Other urls found in this thread:

learnmusictheory.net/PDFs/pdffiles/A-02-AnalyticalTechniquesAPreliminaryExploration.pdf
twitter.com/SFWRedditImages

what like you hit play on the song and it shows you what chords are being played?

more like a MIDI file, you input the key and is like a piano roll + music sheet you use to visualize the circle of fifths and use to make basic roman numeral analysis.

That'll be really fucking hard because of overtones and also it'll interpret pieces of the melody as harmony and you'll end up with it saying there are way more chords than actually are in the song
That being said, melody transcriber, slow down function, form analysis (aaba abac etc) fuck build something that'll chart out songs for you if you're so good haha

maybe most of those pieces could be simply layout by the user, like you label with colors a section.

my idea is to let the user input the key of the song manually and then simply chart the notes into a look up dictionary to see what chord it plays, the simply look up where that chord is on the scale.

BTW It will be a MIDI app, not one that takes an audio file.

but but but but there are already software solutions to detect the key of a song it's in every dj program available, and also apple even makes a free app that will write out the chords of any song you play it

sure, so that's why I say taking player input is much easier than rolling my own shit to detect a key, that's basically a post graduate project for CS guys.

also, it doesn't properly detect key changes and modulations.

much easier to simply let the user to tag what key a certain note or bar is.

I can't see it being useful other than as a learning project for you if it's solely midi. Perhaps if you're only planning on supporting midi create an algorithm that can improvise and perform live.

it would be cool if you can mutate the midi file and get original music from it

Attached: 1530707615605.jpg (720x468, 48K)

computers are too dumb to even do that 100% properly.

my goal is a midi app because that's much much simpler than one that analyses raw audio.

you're asking why the fuck I want to make my project go from something a begginer can code to a PHD level of programming.

sure, the goal would be to make my own MIDI tool to write midis.

What are you coding this with?

I suppose you could create arrays of chord data

Major
i ii iii iv iv
A B C D

etc.

Minor

relative
etc.

the user could type in the chords of the song and the program cross references what scale they could have come from (relative to the previous chords) or something?

for the visualizer why not just have a real visualizer like winamp has?

learnmusictheory.net/PDFs/pdffiles/A-02-AnalyticalTechniquesAPreliminaryExploration.pdf

I think I could implement some of these ideas.

Also, I want to make a sort of mix between piano roll and a sheet music, like a basic piano roll of a single scale and every note is drawn like one of the symbols of sheet music and there's a number next to the symbol to indicate an octave, maybe even use diferent colors for diferent octaves.

It's not that hard, to start you could feed it voice leading rules for each genre, give it a degree of varience, tell it the rules for basic harmony, and you've just programmed a shitty composer. You don't even have to touch subdominants, altered dominants, tritone subs, or even melodies

IF strChord B-7 and intChord -1 = A7 THEN intScale = vbEmajor

It would be easier to just let the user to label the notes, and maybe automate some of the labeling.

What if A7 is a subdominant?

EXACTLY!
!!!

The program shows a cross reference of non-diatonic scales as well as highlighting acceptable substitutions. Click radio button to display chord extensions.

Bm isn't in Emaj modes tho lol

You write out the table arrays, I'll draw the GUI.

Attached: problem reporting.jpg (324x152, 17K)

Fuck that I'm doing the illegible functional recursive e logic that outlines the voice leading