for writing chord progressions on the command line. I use it for building progressions which I drag into my DAW. It has voice leading, which required me translating an algorithm from 18th century German musical textbook into Python. I don't speak German and there were no unit tests in the 1700s so I'm only fairly certain that it works properly.
I will make a plugin version once ableton supports CLAP.
"Gradus ad Parnassum" by Johann Joseph Fux, right?
Read it a couple of years ago after learning basic music theory, as I was still struggling to write consonant voices.
I probably wasn't the first person to think that contrapunctual rules might lend themselves to algorithmic implementation - so it's very cool to see you've done just that in your project!
Hey there everyone. My name is Pedro and I'm the creator of the mentioned project.
First of all, I'm really grateful for all the feedback, positive and negative, about my project. When I started this 6 years ago, I was teaching myself harmony. Writing a Ruby Gem was a way of making sense of all that and at the same time making what I consider "music calculations".
A lot has happened since then. I've realized that while a Ruby gem might be cool for some applications, I really wanted to have something more visual and more inviting. Like an app. I have completed my (belayed) college degree on Graphic Design with my final project being this app's design. It's all ready. Now it's just a matter of finally implementing it. So I've been working, since around 3 years, on a multiplatform app. Possibly also a VST plugin version for DAWs.
Thank you all for the interest on the Gem/CLI project however. It's not abandoned. Since many of you expressed interest on it, I'll take a look at the problems you reported. Certainly a way to install via homebrew would help I believe.
It's 4 AM over here now so I better cut it here but will comeback later and maybe answer some of the individual messages.
I must be the only one here who downloaded it to try it out, because none of the commands work. See issue#56, I just get "abnormal end". It also hasn't been updated since 2021.
The chords for guitar also are weird. It doesn't seem to be using traditional shapes, but is looking for available notes within a fret range. Which leads to difficult, basically unusable fingerings.
The other functions would be very useful to have, if it worked. Maybe one day I'll write a similar CLI tool.
> The chords for guitar also are weird. It doesn't seem to be using traditional shapes, but is looking for available notes within a fret range. Which leads to difficult, basically unusable fingerings.
That's a design choice on this library. I tried to rely the least as possible on lookup tables, dictionaries, etc, leaving things to be discovered algorithmically instead. It is a difficult challenge, but for example if someone decides to use an entirely different tuning, the software will provide. The software might also find chords that you have never thought about. What has to be improved here is the sorting mechanism for guitar chords.
> The other functions would be very useful to have, if it worked
Just try running `coltrane` and test it interactively.
Yeah. I really wanted to try it but I couldn't get the commands to work. All the issues seem related to another gem written by the same author, which has not been updated since around the same time.
Not knowing ruby, I can't really invest too much time trying it to work. :<
$ bundler
$ ./bin/coltrane
? Welcome to Coltrane 4.1.1 (You chose: notes)
? Which notes?
> C E D F G A
? How to display? (You chose: Guitar)
-> coltrane notes notes:C-E-D-F-G-A representation:Guitar
[[ omitted ]]
? What to do now? (Choose with ↑ ↓ ⏎, filter with 'f')
> 1. Different notes
2. Different representation
3. Go back
Curiously enough, I have been working on a project named after the same person (John Coltrane) as a way to help me practice music: https://github.com/trane-project/trane/
I have been meaning to generate flashcards to teach you the notes of scales and chords so that I can have instant recall. It gets really annoying to not know them when improvising or composing. I have some basic courses, but I found the process a bit tedious, so I have been working on other courses and features instead.
I am going to try to use this utility to help me generate the flashcards instead of writing my own logic. Hopefully it works well as it would save me a lot of time.
> I am going to try to use this utility to help me generate the flashcards instead of writing my own logic. Hopefully it works well as it would save me a lot of time.
My favourite practise tool is slightly more complex than flashcards (but could still be implemented as flashcards). It's better for playing but still works for rote memorisation.
Randomly filled rectangular grids.
They are incredible adaptable and very amenable to generating with scripts or small programs.
e.g. notes of the A major scale:
Shuffle the notes and make them into a grid (here is a 7x7 sample shifting each row 2 places - although any shift of 1 - 6 places would work.)
C# G# A B F# E D
E D C# G# A B F#
B F# E D C# G# A
G# A B F# E D C#
D C# G# A B F# E
F# E D C# G# A B
A B F# E D C# G#
Play the rows from left to right along each row. Then right to left.
Plat the columns from top to bottom. Or reverse it.
Snake along the rows top to bottom from left to right, then back right to left.
Play the grid in a spiral. Clockwise, then the opposite way.
Play diagonal slices rising or falling.
Concentrate on the first notes in each row/column - play the mode starting from that note.
Make it a cloze exercise by removing columns (or rows or just random notes)
C# - A B - E -
E - C# G# - B -
B - E D - G# -
G# - B F# - D -
D - G# A - F# -
F# - D C# - A -
A - F# E - C# -
The adaptability is really limited only by your imagination:
e.g. Chords:
Bm D Fdim C Dm G Am
Fdim C Dm G Am Bm D
G Am Bm D Fdim C Dm
Name the notes, play them (frets 1-5 then frets 5-10), play the triads, inversions, arpeggios...
Or the same idea but using roman numerals/nashville numbers and play them in different keys:
Interesting. I wrote a silly little bash script that more or less did this, and then eventually realized I could do better for now by just printing out a bunch of blanks (keyboard) and making physical ones.
This shouldn't be free, I'd pay $500 for such a thing.
UPDATE: Why? Because it's got all the features without the abuse of the various websites and apps spread out and containing just some of those features. Let alone captchas and Cloudflare and ads.
You could always donate $500 to him. And if he won't take it, you could pay a freelancer $500 and task them with tackling some of the open issues that are present in the tracker.
This is very cool! Sometime ago I ended up starting a similar project in Common Lisp, but then life happened and it has stayed as WIP for quite a while already... Maybe now I don't need stress about finishing it since this seems quite handy!
Additionally, the author wrote a post about the motivation for creating the library but it's a little difficult to find via the (now broken) link in the README, so here is a direct link to the archived page on the Wayback Machine:
[0] Or, in a pinch, even with a Godot 4 web export as I did for my (very incomplete) "AI and Games" Game Jam entry: https://rancidbacon.itch.io/the-conductor (For reasons far too convoluted to go into now.)
Its a very cool project but as I have seen some other cool efforts as well, I feel that the domain of "open source computer-assisted music theory tools" is quite fragmented and people must reinvent wheels.
I wonder if we could imagine some sort of community project that abstracts certain music related objects (scales, chords) and representations and allows e.g. CLI or web-based rendering using possibly different stacks, interfacing with musicxml, lilypond etc.
Something like the "Grammar of Graphics" but for Music Theory
> abstracts certain music related objects (scales, chords)
I've been thinking about that again recently & attempting to resist both creating such an abstraction and re-inventing the wheel. :)
The first format that came to mind for its cross-language potential was essentially "Music Theory expressed in JSON format".
Yesterday I did another search for what current options there might be and after a very circuitous path ended up on an old version of the Tonal Javascript library I've already been using. :D
My impression is that there are a few tensions that complicate the creation of a "universal" cross-language/tool solution:
* Static vs dynamic storage/representation. e.g. Do you statically store the set of notes in a scale or store the intervals & the operation(s) needed to generate the result dynamically? e.g. https://github.com/Cycling74/node-music-theory/blob/518babe7...
* Reuse vs reinvention (time taken): When starting out it seems the amount of Music Theory most people want to use & have encoded is quite small. So initially the time required to "re-invent the wheel" is quite small vs time required to find & use a common shared abstraction.
* Reuse vs reinvention (knowledge gained): I know, for me, part of the motivation related to re-inventing the wheel is I also want to learn aspects Music Theory so I can understand/apply the knowledge in potentially non-programmatic contexts also.
I do think there is value in having the knowledge encoded in some manner so it's at least available for re-use for those who want it.
Edit #1:
> and representations.
In relation to the aspect of representation, my recent explorations introduced me to the following projects which might also be of interest to you or others:
* MNX - "representing music notation as machine-readable data" (intended as improvement of MusicXML): https://w3c.github.io/mnx/docs/
FWIW my experience with SMuFL & its reference font(s) "Bravura" and "Bravura Text" (https://github.com/steinbergmedia/bravura/releases) was...mixed. Primarily because the emphasis (& use/testing) really does seem to be on the use of "Bravura" within notation software rather than "Bravura Text" which is intended for use in e.g. text editors.
But, for example, it is "Bravura Text" that (seems to) offer the inviting niceties of easy Unicode-based combining of head + stem + flag and/or vertical placement of notes on a stave.
Until, for example, you want to use one of the "note name" heads and discover that (a) they don't work with the stem/flag combining characters; and, (b) they're 7-10% larger in size than the default note heads.
Or, you find that the "latest" v1.380 "release" actually seems to be missing the entire ligature table that makes the vertical positioning feature work and you actually need to use the unlinked two year-old v1.392 "pre-release" instead.
(And that seemingly all the other "Text" variants of "SMuFL-compatible" fonts don't actually include any of the niceties that make it appealing.)
Err, excuse the rant, the wound might still be a little bit raw. :)
Repeating a recent comment on another music-related link. I've recently come across the Humdrum [0] toolkit, which does a bunch of related stuff, in very interesting ways. Coltrane looks awesome! I'll have to delve into this :D
Is there a way to automate piano voicings with this?
Most good (especially jazz) pianists can easily find a simple (nice) sounding sequence of voicings for chords - is there an analytical/algorithmic solution for this?
A teacher is by far the best way to go, failing that The Complete Musician is the best book/source I have seen for self study. The problem with self study is that the basics of harmony/triads seems very simple and people plow through it and think they understand than get completely stuck. Everything is built on harmony and if you do not understand it you will not progress. If you go with self study remember that if you are stuck it means you did not understand what came before, go back and figure out what you missed, which is where a teacher is very handy since they will have a much better idea about what you missed than you do.
Rick Beato is not great for complete basics. Gracie Terzian has a really good music theory playlist on YouTube that builds on itself. I watched her videos in that order and it really helped me finally understand so many concepts in music theory that went over my head before. She has a way of explaining things that just works for me. Here’s the playlist: https://youtube.com/playlist?list=PLjpPMe3LP1XKgqqzqz4j6M8-_...
Yes, Rick Beato. He covers all sorts of stuff to different extents. Like music theory in ten minutes: https://www.youtube.com/watch?v=mWpXy57-mvc .. but he has hundreds of videos on keys, modes, analyzing popular music, the works.
If you really know nothing you might enjoy this attempt at explaining harmony at five different levels from a child to Herbie Hancock: https://www.youtube.com/watch?v=eRkgK4jfi6M
Check out Gracie Terzian on YouTube if you’re a total beginner and getting overwhelmed by other music theory sources. Her speciality is really breaking things down and simplifying as much as possible.
It's an ongoing series of illustrated one page "posters" in PDF form each on a specific Music Theory-related topic. Nice bite-sized content written in a non-dry style. (All licensed CC-BY-NC-ND.)
Also available to download as a (currently) 63-page single file PDF.
It's a great resource if that medium of communication is effective for you--I just learned/got clarification on some things from a skim of 63-page PDF.
The PDF I downloaded is ~1100 pages and it's the second revision of an originally crowd-funded project
I've only briefly skimmed it but it certainly seems very comprehensive & way more than I'm ever likely to need. :D
But just now I've just noticed that they describe (on https://openmusictheory.github.io/about.html) their use of the textbook for "...“inverted” or “flipped” courses, often following an inquiry-based model" and the "..text is meant to take a back seat to student music making (and breaking)".
Which matches what's motivated me to learn more about the theory side: it was after playing around & creating tracks (using the FLOSS LMMS / Carla / Surge XT music creation software) that I hit a point where I wanted to learn how to make my music have more of a melodic component to it.
And it turned out, for me, at least, creating rather than playing/reproducing music is way more motivating for me to learn the theory which I kinda wish someone had shown me during the short period multiple decades ago when my parents were paying for piano lessons until it was suggested that if I wasn't going to practice perhaps it wasn't the best investment... :)
The respective associated channels may also be of interest depending on your specific genre/style interests.
Early on I also watched many of the videos on the "Hack Music Theory" channel (e.g. https://www.youtube.com/watch?v=uEElzai3tIo) but over time they seemed to tip the ratio of "informative content" to "promo"/"filler" too far in the "wrong" direction, so I mostly stopped watching.
(I understand why they did--I can't imagine music teaching is an easy YouTube "niche" to succeed in.)
More recently I've also discovered these channels which might have unique aspects that also appeal to you:
It can be...challenging... to "sift the wheat from the chaff " with YouTube music education and quite apart from personal taste there's also the effect of the pressure to "please the algorithm" in terms of presentation that can also make some channels hit/miss.
But hopefully you'll find something that works for you! :)
I know jazz guitarists have double jointed, mangled hands but most of those generated guitar chords fingerings are, well, let's just say not traditional.
[+] [-] Mizza|3 years ago|reply
If there other hackers who make music here, I wrote this:
https://github.com/Miserlou/chords2midi
for writing chord progressions on the command line. I use it for building progressions which I drag into my DAW. It has voice leading, which required me translating an algorithm from 18th century German musical textbook into Python. I don't speak German and there were no unit tests in the 1700s so I'm only fairly certain that it works properly.
I will make a plugin version once ableton supports CLAP.
[+] [-] ck45|3 years ago|reply
Edit: I just checked if it's worth submitting, but it has already been submitted: https://news.ycombinator.com/item?id=30903980
[+] [-] Mossly|3 years ago|reply
Read it a couple of years ago after learning basic music theory, as I was still struggling to write consonant voices.
I probably wasn't the first person to think that contrapunctual rules might lend themselves to algorithmic implementation - so it's very cool to see you've done just that in your project!
[+] [-] Lucasoato|3 years ago|reply
[+] [-] scns|3 years ago|reply
[+] [-] grubby|3 years ago|reply
[+] [-] pedrozath|3 years ago|reply
First of all, I'm really grateful for all the feedback, positive and negative, about my project. When I started this 6 years ago, I was teaching myself harmony. Writing a Ruby Gem was a way of making sense of all that and at the same time making what I consider "music calculations".
A lot has happened since then. I've realized that while a Ruby gem might be cool for some applications, I really wanted to have something more visual and more inviting. Like an app. I have completed my (belayed) college degree on Graphic Design with my final project being this app's design. It's all ready. Now it's just a matter of finally implementing it. So I've been working, since around 3 years, on a multiplatform app. Possibly also a VST plugin version for DAWs.
Thank you all for the interest on the Gem/CLI project however. It's not abandoned. Since many of you expressed interest on it, I'll take a look at the problems you reported. Certainly a way to install via homebrew would help I believe.
It's 4 AM over here now so I better cut it here but will comeback later and maybe answer some of the individual messages.
[+] [-] dintech|3 years ago|reply
[+] [-] huimang|3 years ago|reply
The chords for guitar also are weird. It doesn't seem to be using traditional shapes, but is looking for available notes within a fret range. Which leads to difficult, basically unusable fingerings.
The other functions would be very useful to have, if it worked. Maybe one day I'll write a similar CLI tool.
[+] [-] pedrozath|3 years ago|reply
The Readme had some outdated information. Explained better on the issue https://github.com/pedrozath/coltrane/issues/56
> The chords for guitar also are weird. It doesn't seem to be using traditional shapes, but is looking for available notes within a fret range. Which leads to difficult, basically unusable fingerings.
That's a design choice on this library. I tried to rely the least as possible on lookup tables, dictionaries, etc, leaving things to be discovered algorithmically instead. It is a difficult challenge, but for example if someone decides to use an entirely different tuning, the software will provide. The software might also find chords that you have never thought about. What has to be improved here is the sorting mechanism for guitar chords.
> The other functions would be very useful to have, if it worked
Just try running `coltrane` and test it interactively.
[+] [-] trane_project|3 years ago|reply
Not knowing ruby, I can't really invest too much time trying it to work. :<
[+] [-] cyberbanjo|3 years ago|reply
[+] [-] gusmd|3 years ago|reply
[+] [-] flipcoder|3 years ago|reply
https://github.com/flipcoder/textbeat
[+] [-] trane_project|3 years ago|reply
I have been meaning to generate flashcards to teach you the notes of scales and chords so that I can have instant recall. It gets really annoying to not know them when improvising or composing. I have some basic courses, but I found the process a bit tedious, so I have been working on other courses and features instead.
I am going to try to use this utility to help me generate the flashcards instead of writing my own logic. Hopefully it works well as it would save me a lot of time.
[+] [-] bhrgunatha|3 years ago|reply
My favourite practise tool is slightly more complex than flashcards (but could still be implemented as flashcards). It's better for playing but still works for rote memorisation.
Randomly filled rectangular grids.
They are incredible adaptable and very amenable to generating with scripts or small programs.
e.g. notes of the A major scale:
Shuffle the notes and make them into a grid (here is a 7x7 sample shifting each row 2 places - although any shift of 1 - 6 places would work.)
Play the rows from left to right along each row. Then right to left. Plat the columns from top to bottom. Or reverse it. Snake along the rows top to bottom from left to right, then back right to left. Play the grid in a spiral. Clockwise, then the opposite way. Play diagonal slices rising or falling. Concentrate on the first notes in each row/column - play the mode starting from that note. Make it a cloze exercise by removing columns (or rows or just random notes) The adaptability is really limited only by your imagination:e.g. Chords:
Name the notes, play them (frets 1-5 then frets 5-10), play the triads, inversions, arpeggios...Or the same idea but using roman numerals/nashville numbers and play them in different keys:
iii V viio IV vi I ii
[+] [-] jrm4|3 years ago|reply
[+] [-] madwebness|3 years ago|reply
[+] [-] oh_sigh|3 years ago|reply
[+] [-] gpvos|3 years ago|reply
[+] [-] LegitShady|3 years ago|reply
[+] [-] kettunen|3 years ago|reply
[+] [-] follower|3 years ago|reply
* https://github.com/pedrozath/coltrane/wiki/Core-music-theory...
Additionally, the author wrote a post about the motivation for creating the library but it's a little difficult to find via the (now broken) link in the README, so here is a direct link to the archived page on the Wayback Machine:
* https://web.archive.org/web/20170714063625/https://medium.co...
If anyone is interested in a similar music theory library for Javascript[0] I've had some success with this:
* Tonal / Tonal.js https://github.com/tonaljs/tonal
[0] Or, in a pinch, even with a Godot 4 web export as I did for my (very incomplete) "AI and Games" Game Jam entry: https://rancidbacon.itch.io/the-conductor (For reasons far too convoluted to go into now.)
[+] [-] college_physics|3 years ago|reply
I wonder if we could imagine some sort of community project that abstracts certain music related objects (scales, chords) and representations and allows e.g. CLI or web-based rendering using possibly different stacks, interfacing with musicxml, lilypond etc.
Something like the "Grammar of Graphics" but for Music Theory
[+] [-] chaosprint|3 years ago|reply
[+] [-] follower|3 years ago|reply
I've been thinking about that again recently & attempting to resist both creating such an abstraction and re-inventing the wheel. :)
The first format that came to mind for its cross-language potential was essentially "Music Theory expressed in JSON format".
Yesterday I did another search for what current options there might be and after a very circuitous path ended up on an old version of the Tonal Javascript library I've already been using. :D
Specifically:
* https://github.com/Cycling74/node-music-theory/blob/518babe7...
* https://github.com/Cycling74/node-music-theory/blob/518babe7...
But the next abstraction level of associated "operations" (as documented by e.g. https://github.com/Cycling74/node-music-theory/blob/518babe7...) are still expressed in Javascript.
My impression is that there are a few tensions that complicate the creation of a "universal" cross-language/tool solution:
* Static vs dynamic storage/representation. e.g. Do you statically store the set of notes in a scale or store the intervals & the operation(s) needed to generate the result dynamically? e.g. https://github.com/Cycling74/node-music-theory/blob/518babe7...
* Reuse vs reinvention (time taken): When starting out it seems the amount of Music Theory most people want to use & have encoded is quite small. So initially the time required to "re-invent the wheel" is quite small vs time required to find & use a common shared abstraction.
* Reuse vs reinvention (knowledge gained): I know, for me, part of the motivation related to re-inventing the wheel is I also want to learn aspects Music Theory so I can understand/apply the knowledge in potentially non-programmatic contexts also.
I do think there is value in having the knowledge encoded in some manner so it's at least available for re-use for those who want it.
Edit #1:
> and representations.
In relation to the aspect of representation, my recent explorations introduced me to the following projects which might also be of interest to you or others:
* MNX - "representing music notation as machine-readable data" (intended as improvement of MusicXML): https://w3c.github.io/mnx/docs/
* Standard Music Font Layout (SMuFL): https://w3c.github.io/smufl/latest/index.html
* Verovio - "music notation engraving library": https://www.verovio.org/
FWIW my experience with SMuFL & its reference font(s) "Bravura" and "Bravura Text" (https://github.com/steinbergmedia/bravura/releases) was...mixed. Primarily because the emphasis (& use/testing) really does seem to be on the use of "Bravura" within notation software rather than "Bravura Text" which is intended for use in e.g. text editors.
But, for example, it is "Bravura Text" that (seems to) offer the inviting niceties of easy Unicode-based combining of head + stem + flag and/or vertical placement of notes on a stave.
Until, for example, you want to use one of the "note name" heads and discover that (a) they don't work with the stem/flag combining characters; and, (b) they're 7-10% larger in size than the default note heads.
Or, you find that the "latest" v1.380 "release" actually seems to be missing the entire ligature table that makes the vertical positioning feature work and you actually need to use the unlinked two year-old v1.392 "pre-release" instead.
(And that seemingly all the other "Text" variants of "SMuFL-compatible" fonts don't actually include any of the niceties that make it appealing.)
Err, excuse the rant, the wound might still be a little bit raw. :)
Anyway, hope some of this might be useful.
Edit #2:
Meant to add that, in my case[0] at least, I think it would have been better to initially make use of the standard Unicode Music Symbols block (https://en.wikipedia.org/wiki/Musical_Symbols_(Unicode_block...) via Noto Sans (https://fonts.google.com/noto/specimen/Noto+Music) rather than deal with a SMuFL-compatible font.
[0] A 7-day game jam entry created with Godot 4: https://rancidbacon.itch.io/stave-off
[+] [-] tincholio|3 years ago|reply
[0] https://www.humdrum.org/
[+] [-] lmpdev|3 years ago|reply
Most good (especially jazz) pianists can easily find a simple (nice) sounding sequence of voicings for chords - is there an analytical/algorithmic solution for this?
[+] [-] marai2|3 years ago|reply
Any recommendations would be much appreciated - books, videos, tutorials?
[+] [-] ofalkaed|3 years ago|reply
[+] [-] cilloure|3 years ago|reply
[+] [-] petercooper|3 years ago|reply
If you really know nothing you might enjoy this attempt at explaining harmony at five different levels from a child to Herbie Hancock: https://www.youtube.com/watch?v=eRkgK4jfi6M
[+] [-] eigenvalue|3 years ago|reply
[+] [-] ck45|3 years ago|reply
[+] [-] follower|3 years ago|reply
* "Music Theory for Musicians and Normal People": https://tobyrush.com/theorypages/index.html
It's an ongoing series of illustrated one page "posters" in PDF form each on a specific Music Theory-related topic. Nice bite-sized content written in a non-dry style. (All licensed CC-BY-NC-ND.)
Also available to download as a (currently) 63-page single file PDF.
It's a great resource if that medium of communication is effective for you--I just learned/got clarification on some things from a skim of 63-page PDF.
[+] [-] follower|3 years ago|reply
* Interactive version: https://openmusictheory.github.io (v1) or https://viva.pressbooks.pub/openmusictheory/front-matter/int... (v2)
* Non-interactive downloads (e.g. PDF, EPUB): https://viva.pressbooks.pub/openmusictheory/ (via http://www.openmusictheory.com/) (v2)
The PDF I downloaded is ~1100 pages and it's the second revision of an originally crowd-funded project
I've only briefly skimmed it but it certainly seems very comprehensive & way more than I'm ever likely to need. :D
But just now I've just noticed that they describe (on https://openmusictheory.github.io/about.html) their use of the textbook for "...“inverted” or “flipped” courses, often following an inquiry-based model" and the "..text is meant to take a back seat to student music making (and breaking)".
Which matches what's motivated me to learn more about the theory side: it was after playing around & creating tracks (using the FLOSS LMMS / Carla / Surge XT music creation software) that I hit a point where I wanted to learn how to make my music have more of a melodic component to it.
And it turned out, for me, at least, creating rather than playing/reproducing music is way more motivating for me to learn the theory which I kinda wish someone had shown me during the short period multiple decades ago when my parents were paying for piano lessons until it was suggested that if I wasn't going to practice perhaps it wasn't the best investment... :)
But, you know, better late than never, I guess!
Edit #1:
* Added direct link to v2 interactive version.
* Re: your specific question re: pitch & tone, this seems like a reasonable starting point: https://viva.pressbooks.pub/openmusictheory/chapter/aspn/ though it also refers back to an earlier chapter: https://viva.pressbooks.pub/openmusictheory/chapter/clefs/
Edit #2:
If video is more your thing, here's some videos I watched early on & found informative:
* "Learn music theory in 29 minutes" (Underdog Electronic Music School): https://www.youtube.com/watch?v=pjSYzac_nfk
* "Learn music theory in half an hour." (Andrew Huang): https://www.youtube.com/watch?v=rgaTLrZGlk0
The respective associated channels may also be of interest depending on your specific genre/style interests.
Early on I also watched many of the videos on the "Hack Music Theory" channel (e.g. https://www.youtube.com/watch?v=uEElzai3tIo) but over time they seemed to tip the ratio of "informative content" to "promo"/"filler" too far in the "wrong" direction, so I mostly stopped watching.
(I understand why they did--I can't imagine music teaching is an easy YouTube "niche" to succeed in.)
More recently I've also discovered these channels which might have unique aspects that also appeal to you:
* 8-bit Music Theory: https://www.youtube.com/channel/UCeZLO2VgbZHeDcongKzzfOw
* Pianote: https://www.youtube.com/@PianoteOfficial/videos
* Signals Music Studio: https://www.youtube.com/channel/UCRDDHLvQb8HjE2r7_ZuNtWA
* Aimee Nolte: https://www.youtube.com/@AimeeNolte/videos
* "Two Minute Music Theory": https://www.youtube.com/user/the1564studios
It can be...challenging... to "sift the wheat from the chaff " with YouTube music education and quite apart from personal taste there's also the effect of the pressure to "please the algorithm" in terms of presentation that can also make some channels hit/miss.
But hopefully you'll find something that works for you! :)
[+] [-] soperj|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] ksherlock|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] thanatropism|3 years ago|reply
[+] [-] FigurativeVoid|3 years ago|reply
[+] [-] bmitc|3 years ago|reply
[+] [-] pedrozath|3 years ago|reply