.-----.   .----.   .-----.  .-----.         .---.  .----.           .---. .-----.  
/ ,-.   \ /  ..  \ / ,-.   \/ ,-.   \  .-') /_   | /  ..  \    .-') /_   |/  -.   \ 
'-'  |  |.  /  \  .'-'  |  |'-'  |  |_(  OO) |   |.  /  \  . _(  OO) |   |'-' _'  | 
   .'  / |  |  '  |   .'  /    .'  /(,------.|   ||  |  '  |(,------.|   |   |_  <  
 .'  /__ '  \  /  ' .'  /__  .'  /__ '------'|   |'  \  /  ' '------'|   |.-.  |  | 
|       | \  `'  / |       ||       |        |   | \  `'  /          |   |\ `-'   / 
`-------'  `---''  `-------'`-------'        `---'  `---''           `---' `----''  

100days of guitar day 33

Anki Scale Cards

Music theory contorts a lot to get stuff to work; got a better version of my scale creation code working here, but to make music theory happy, you need to do things like Bflat flat (F-Flat Major). or E sharp, which is just an F. But at least the music theory gods have created fancy words to cover up their sins.

But now I have a scale creation class that I think mostly works in python, this link from Stack Exchange helped a lot in making it. Yesterday I got another python program working that creates anki cards from this scale generator, but still needs a little cleaning up before I'm ready to use it.

I like to introduce new technology to my practice to combat boredom and keep my butt in the practice chair.

After I get the Anki stuff cleared up, it's on to work with Sonic Pi and TouchOSC (and maybe Max4Live) to start making some fun music toys.

The Practice of Practice: How to Boost Your Music Skills

The best way to use a teacher effectively, is to come to them with questions you want answered. Come to practice with goals in mind and be engaged with the learning. Learn what you want to learn, and let the teach help guide you with that.

Things you can control are effort and task difficulty. If things are going badly, you can try harder or choose an easier task. Aspects you can’t control are your current ability and luck.

This advice is repeated a lot in stoic text also; just focus on what you can change. Don't focus on things outside of your control. When It comes to practice that means you can work harder at a task, or pick an easier task.

This means successful people tend to believe the cause for the failure can be fixed or improved through effort, even if it seems impossible.

And when you do run into a problem, don't give up and just say it's impossible.
Find a solution. Sometime solving the problem involves changing the problem to make it easier to solve, for example if you wanted to open a door but it didn't have a door knob, adding a door knob would make the problem much easier. What can you add or remove to make solving this problem easier?

Art begins in imitation and ends in innovation.

When you are starting a creative project, just copy something you like and figure out how they did it, then slowly change bits and pieces of that until you are creating your own original works.

This brings up another point of the idiots that say real artists don't use reference materials. Why would you learn to do something wrong over and over? Use reference material and learn to do things correctly.

The shortest answer is doing the thing.

I've found that sometimes when I have a question, it's easier to write a small program to test out the solution than to google and search through SEO spam of the web. So sometimes it's just easier to try. And if you fail, even better, now you have a better understanding of the problem and better search terms to go in with.

100days of guitar day 30

Today I was working on part 1 of learning the scales via Anki, I wrote a python program to print out all the major and minor scales:

#!/usr/bin/env python

from functools import reduce

class Scales:
    def __init__(self):
        self.data = []
        note_names = {
                'A': 0, 'Bbb': 0,
                'A#': 1, 'Bb': 1,
                'B': 2, 'Cb': 2,
                'C': 3,
                'C#': 4, 'Db':4,
                'D': 5,
                'D#': 6, 'Eb': 6,
                'E': 7, 'Fb': 7, 'E#': 8,
                'F': 8,
                'F#': 9, 'Gb': 9,
                'G': 10,
                'G#': 11, 'Ab': 11
                }

        scales = { "major": [2,2,1,2,2,2,1], "minor": [2,1,2,2,1,2,2] }

        for scale in scales:
            for root_note in note_names:
                idx = note_names[root_note]
                prev = root_note[0]
                ret = [scale, root_note]
                try:
                    for step in scales[scale]:
                        idx = (idx + step) % 12
                        cur = [k for k,v in note_names.items() if idx == v and not prev[0] in k ][0]
                        ret.append( cur)
                        prev = cur
                except:
                    # music theory is a pain, Bbb really?
                    #print(root_note, "doesn't exist")
                    pass

                if len(ret) == 9:
                    self.data.append(ret)

    def __iter__(self):
        return self

    def __next__(self):
        if len(self.data) > 0:
            return self.data.pop() 
        raise StopIteration


if __name__ ==  "__main__":
    for scale in Scales():
        print(scale)

Next up I need to use the Anki/pyhon module to create flash cards for each scale. Once I get all of this working, my next task is to build a python program that can output the fretboard, and create cards of all the notes to study.

I also want a gernal reference tool for stuff like this so I don't have to keep googling for it and getting it back in different formats every time.

Other daily practice

Tuning, warmups, and daily practice.

👈 Prev Day - Home - Next Day 👉