Author Topic: Transposition Theory  (Read 7785 times)

0 Members and 1 Guest are viewing this topic.

Offline Cerapter

  • Sr. Member
  • ****
  • Posts: 1949
  • Karma: 74
  • Gender: Male
  • 100% Recycled
    • Home
Transposition Theory
« on: February 16, 2010, 01:06:28 am »
I have this scale. It happens to be E F# G# A# B C# D#, with E as the key. Here's what I'm wondering...

Let's say I play on the guitar and I use barre chords to move the scale upwards and downwards. Can I move it anywhere, or can I only select a key from the other notes in the scale?

Google failed to answer me this.
Just close your eyes and keep your mind wide open.

Offline gaijin

  • Hiding behind the couch
  • Community Supporter
  • Sr. Member
  • ******
  • Posts: 2244
  • Karma: 119
  • Gender: Male
  • "You sound like the Morning Star"
    • Motljus
Re: Transposition Theory
« Reply #1 on: February 16, 2010, 01:24:34 am »
Scale needs moar sid.

Also, I do not know.
Oi, is this when I get a huge sig-image, start whining about "moar sid" and make nonsensical arguments to no good?

Offline Jack Lupino

  • Worst Dude
  • Machinae Prime
  • *****
  • Posts: 12941
  • Karma: 62
  • Gender: Female
Re: Transposition Theory
« Reply #2 on: February 16, 2010, 01:47:53 am »
You can do whatever the hell you want. Welcome to music.

Offline yas‮

  • The laziest one.
  • Sr. Member
  • ****
  • Posts: 1280
  • Karma: 36
  • Gender: Male
  • I believe in respawn.
    • Me on SoundCloud
Re: Transposition Theory
« Reply #3 on: February 16, 2010, 02:50:43 am »
As long as it sounds good, you can even bite it.

Offline Cerapter

  • Sr. Member
  • ****
  • Posts: 1949
  • Karma: 74
  • Gender: Male
  • 100% Recycled
    • Home
Re: Transposition Theory
« Reply #4 on: February 16, 2010, 03:48:04 pm »
Just as I suspected.

I'm making a transposition tool here, mostly for my own learning (because they exist all over the place already):
http://chord.cerapter.net/scale_view_stan.php

But really, when I do change to a key before unseen, I'll be breaking out of the scale in some way, right? Not that it's bad.
« Last Edit: February 16, 2010, 03:49:57 pm by Cϵrαϱϯϵr »
Just close your eyes and keep your mind wide open.

Offline Jack Lupino

  • Worst Dude
  • Machinae Prime
  • *****
  • Posts: 12941
  • Karma: 62
  • Gender: Female
Re: Transposition Theory
« Reply #5 on: February 16, 2010, 05:43:07 pm »
Cool, but i don't know scales(or notes for that matter) in their respective letters and stuff. i just never took the time since it all sounded like useless gibberish to me. :D New track up by the by @ soundclick

Offline Cerapter

  • Sr. Member
  • ****
  • Posts: 1949
  • Karma: 74
  • Gender: Male
  • 100% Recycled
    • Home
Re: Transposition Theory
« Reply #6 on: February 16, 2010, 06:05:39 pm »
Well, I'm taking another approach to learning the guitar. I'm hoping it'll bring me somewhere new.

My script is now complete. It'll move any scale on any tuning anywhere you like. I think it's a real beaut. <3
http://chord.cerapter.net/scale_view.php
Just close your eyes and keep your mind wide open.

Offline yas‮

  • The laziest one.
  • Sr. Member
  • ****
  • Posts: 1280
  • Karma: 36
  • Gender: Male
  • I believe in respawn.
    • Me on SoundCloud
Re: Transposition Theory
« Reply #7 on: February 16, 2010, 07:00:02 pm »
The American scientists are 100% sure: you're either right or not.

Offline Bavi_H

  • Jr. Member
  • **
  • Posts: 202
  • Karma: 58
    • Robert Hart's Homepage
Re: Transposition Theory
« Reply #8 on: February 20, 2010, 11:09:25 pm »
I know some music theory from singing in school choirs, playing a little piano, and reading about it on my own. I've never taken a class, so I'm not an expert, but here's my understading of it.

Your guitar, like most modern Western instruments, uses twelve-tone equal temperament. The semitone interval between any two adjacent pitches (C to C#, C# to D, D to D#, and so on) sounds the "same", only "higher" or "lower".

You can start your scale on any pitch, and if you keep the number of semitones between the successive pitches in your scale the same, the scale will sound the "same", only "higher" or "lower".

For example, a major scale will always be pitches that are 0, 2, 4, 5, 7, 9, 11, and 12 semitones from the starting pitch. If you start on C, then it's a C major scale, if you start on C#/Db then it's a C# major scale (or Db major scale), and so on.


But really, when I do change to a key before unseen, I'll be breaking out of the scale in some way, right? Not that it's bad.
[Edit: Removed stuff on other scales, 'cause I really don't know about them. I'll leave the Wikipedia links for people to read about scales:]

Musical mode - Modern
Properties of musical modes - Relationship between the modes


My script is now complete. It'll move any scale on any tuning anywhere you like. I think it's a real beaut. <3
http://chord.cerapter.net/scale_view.php
Here are some comments on the terms you used:

  • The first note of a scale is called the tonic, not the key or root.
  • The various notes in a scale are called the scale degrees, not intervals. [Edit: Or maybe they're inteverals. See my next post.]
  • I think the traspostion options might be called diatonic and chromatic; enharmonic sounds wrong. The Wikipedia article on transpostion suggests using scalar and chromatic. [Edit: Maybe just explain the options. See my next post.]
« Last Edit: February 21, 2010, 02:59:59 pm by Bavi_H »

Offline Bavi_H

  • Jr. Member
  • **
  • Posts: 202
  • Karma: 58
    • Robert Hart's Homepage
Re: Transposition Theory
« Reply #9 on: February 21, 2010, 02:36:37 pm »
Oops. I was so interested in talking about music theory, I might have sounded a little bossy. Your Magic Fretboard is cool. Please consider my comments as suggestions.

Updates:

  • Removed stuff on other scales, 'cause I really don't know about them. I left the Wikipedia links for people to read.
  • Regarding scale degrees and intervals: It looks like scale degrees are always numbered 1, 2, 3, and so on, up to the number of steps in the scale. But you're using numbers that indicate the interval from the tonic? I was confused because I think of intervals as an inteveral between two notes next to each other.
  • Transposition options: I just noticed the text that shows up when you hover. Since the terms for transposition are confusing anyway, maybe you might want to just explain the transposition options. Maybe something like

    Click the fretboard to change the tonic and
    () Use the same fret positions
    () Use the same scale spacing from tonic
« Last Edit: February 21, 2010, 02:57:11 pm by Bavi_H »

Offline Cerapter

  • Sr. Member
  • ****
  • Posts: 1949
  • Karma: 74
  • Gender: Male
  • 100% Recycled
    • Home
Re: Transposition Theory
« Reply #10 on: February 22, 2010, 03:52:26 am »
Thanks for your thought-through comment! I think I'll take your tip about the radio boxes, because I filched those terms off Wikipedia just because they seemed to be able to explain the process in just one word. Enharmony, for instance, seems to be the act of simply "respelling" a scale or chord. That is what happens in my script, but like so often in music, it's all about the context. Enharmonic respelling is not really the motive behind my script.

Ohh, you're right about the intervals. I changed that to 'scale degrees'. They are intervals from the tonic, but I don't think I should use the term that way. EDIT: or wait a minute, that would exclude flats, wouldn't it? This is confusing. Obviously, I haven't had any more training than you have, I'm just picking up details along the way. I've changed back to 'intervals'.

And 'key' is really vague. I might change to 'tonic', though I'll keep the 'root' because the script can also be interpreted as showing chords. Like E major here:
http://chord.cerapter.net/scale_view.php?tuning=E1+A1+D2+G2+B2+E3&scale=E+F%23+G%23+A+B+C%23+D%23&int_2=off&int_4=off&int_6=off&int_7=off

Concerning equal temperament: I've actually kept a variable $octave = 12 in the script in case I want to use 31EDO instead or some shit like that. O0 I also like the concept of just intonation, which I have a book on. Implementing that would make my script the sweetest one in miles, but then again, that extra feature would be useless for playing the guitar.

Also, I just remembered that most people show the fretboard filled with notes, and not numbers. I should make an option for that.
« Last Edit: February 24, 2010, 06:44:25 pm by Cϵrαϱϯϵr »
Just close your eyes and keep your mind wide open.

Offline Cerapter

  • Sr. Member
  • ****
  • Posts: 1949
  • Karma: 74
  • Gender: Male
  • 100% Recycled
    • Home
Re: Transposition Theory
« Reply #11 on: February 24, 2010, 04:53:25 am »
Major update to the script. I rewrote much of the text, enabled notes on the fretboard and included a chord list as well.

So for example, here's the Blues Scale for you:
http://chord.cerapter.net/scale_view.php?tuning=E1+A1+D2+G2+B2+E3&scale=E+G+A+A%23+B+D+D%23&display=notes

Click on any note in turn, and you'll see all the chords you can play in the Blues Scale in the key of E. Or any other key, if you'd like to transpose.

(I've readied the script for playing in 31-tone equal temperament, just for the heck of it. It required a shitload of new icons. But it's still buggy, so the option is staying hidden for now.)
« Last Edit: February 24, 2010, 06:44:10 pm by Cϵrαϱϯϵr »
Just close your eyes and keep your mind wide open.

Offline Bavi_H

  • Jr. Member
  • **
  • Posts: 202
  • Karma: 58
    • Robert Hart's Homepage
Re: Transposition Theory
« Reply #12 on: February 28, 2010, 11:05:19 pm »
I like music theory and designing web scripts. It's the weekend and I have time to waste. So here are some more ideas and comments about your script and music theory.


Thick and thin lines

I think the thick lines should be to the right of the double-dots. The first thick line represents the nut, right? When you press the area marked with the double-dot, the string actually touches the fret to the right of the double-dot, 12 frets from the nut.

You might also remove the thin line on the left side. This would help show that behind the nut, the strings continue to the tuning pegs without any other frets.


Images

If you use width and height attributes on your img tags, then the page elements won't shift around while the images are loading.

You might be able to use CSS sprites. I've see this on websites, but not I'm famliar with the implementation details. Basically, you create one image that contains a tileset of all the little icons your page uses. Then you use CSS on your tags' classes or IDs to select the correct tile to display. This way, the browser loads one image instead of many tiny images.

Or you could use text instead of images and then the browser wouldn't need to load any images.


JavaScript

You could use JavaScript to redraw the fretboard when the options change or when the fretboard is clicked. This allows the browser to load the page once and calculate the new fretboard diagrams itself. Right now the browser has to request the page from the server everytime, and the server calculates the new fretboards.

If all the computation is done via JavaScript embedded on the page and you use text instead of images, then the page can be saved to the computer and used offline.

If you use JavaScript, you can read and write to window.location.search (the part of the address from ? onwards) to make linkable addresses.


Mouse pointer

To help show which items on the fretboard are clickable, you could use CSS cursor:pointer to change the mouse pointer to a hand. However, you would have to redraw the fretboard immediately when the transposition options are clicked in order to change which fret positions show the hand or not. In that case, you might want to change from server-side to JavaScript fretboard drawing.


My example

http://rnhart.net/programs/fretboard-scales.htm

My example uses text to draw the fretboard, except one small image is used to create the strings. It uses embedded JavaScript to redraw the fretboard anytime an option is changed. You can save the fretboard-scales.htm file (and the line.gif file, to see the stings) and use it offline.

The mouse pointer changes to a hand when you hover over clickable items on the fretboard.

You can use the Save button to save the options into the address.

I added a display option for solfege. (In the USA, I was taught moveable-do solfege. For example, in G major, G is do; in E minor, E is la; and so on. I'm used to solfege from choirs, so it helps me understand the scales better.)

Instead of a text box where you can enter custom scales, I only allowed the 7 church mode scales for now. This restriction makes it easier know which solfege syllable is the tonic, and to keep all the options in sync.


.     .     .     .     .     .     .     .     .     .


Just intonation and 31TET: As you may know, just intonation would require differently spaced frets [JPG] under each string. And 31TET would require 31 frets in the same space a normal guitar would have 12 [JPG]. That's a lot of frets.


Offline Cerapter

  • Sr. Member
  • ****
  • Posts: 1949
  • Karma: 74
  • Gender: Male
  • 100% Recycled
    • Home
Re: Transposition Theory
« Reply #13 on: March 01, 2010, 02:20:16 am »
You, good sir, are a brilliant programmer who knows his music theory.

I largely quit web programming before there was any talk of Web 2.0, back then Javascript was just something you used for moving your .gif animations and other cheap tricks. Then again, since I know both Java and PHP, I suppose I could learn to do such things, too.

What if we combine our forces and implement all the good ideas into one script? I've made a MySQL database with information about most of the thinkable guitar chords and interval sizes. I could process this into a data file that your script could handle, which would allow it to access the info without having to reload the page.

But then again, most of those difficult chord-on-the-fretboard functions are more readily available at all-guitar-chords.com. What they don't have, is intervals and solfeges, and custom tunings and scales.

I've uploaded the source for my own script here if you'd like to look at the general algorithms I've used (if they can be made any sense of).
« Last Edit: March 01, 2010, 02:22:29 am by Cϵrαϱϯϵr »
Just close your eyes and keep your mind wide open.

Offline Bavi_H

  • Jr. Member
  • **
  • Posts: 202
  • Karma: 58
    • Robert Hart's Homepage
Re: Transposition Theory
« Reply #14 on: March 06, 2010, 04:13:14 pm »

Thanks for the compliment! I think of myself more as a hobby programmer who wants to design brilliant user interfaces. The code itself might be messy because I just add things as needed.

Thanks for sharing your code. I'll look at it and continue our conversation by e-mail.

...

When I started dabbling in web scripts, I was using the free web host GeoCities, and JavaScript was the only option. My current host has server scripting abilities, but I haven't come across anything I want to use it for yet. If I need something that just does a calculation on the user's input, I use JavaScript because I'm familiar with it.

I'm mainly a music reader and not a composer. My music theory knowledge comes from singing in school choirs. I know sheet music symbols, major and minor keys, and solfege. I only heard of the church mode scales after we learned a song in the Dorian mode in choir. I've read about the math of temperaments and tunings, but I've never used it musically. There's a lot more music theory about analyzing and composing music I've seen in a book, but don't know much about.