From the slack key paradise of Hawai'i where diversity of tunings is a way of life, comes...

phpMyChord


example Fretboard Diagram For Ukulele exampleChordForUkulele

Open Source 12 Tone Equal Temperament Visualization Tools including:
  • PHP web application for creating custom Scale, Chord and Interval dictionaries and diagrams for any musical instrument.
  • MySQL database tables enumerating all possible scales, chords and intervals (in the 12TET Universe) and their properties.

Gnu Public Liscense
Founded by Benjamin Kinsey
emailAddressOfBenjaminKinsey


SourceForge.net Logo

More 12TET scales and chords, and more tunings discovered by this project than anywhere else on the planet!

phpMyChord Aims to provide:
  • Mathematically complete and encyclopedic enumeration of all possible scale, chord, and interval types and their properties with nomenclature informed by music theory, history and international culture.
  • Custom scale, chord, and interval dictionaries for any instrument, including reverse dictionaries indexed by fingering positions.
  • PDA-friendly web applications for musicians-on-the-go.
  • Tools to discover what chords are in what scale and what scales contain a given series of chords, etc.
  • Tools to allow the discovery and enjoyment of exotic sounds by providing custom diagrams of lesser used scales and chords for even obscure instruments and tunings.
  • Miscellaneous explorations of base-12 mathematics and combinatorics unique to 12 Tone Equal Temperament
  • Contemplative diagrams illuminating tonal sacred geometries, and discovery of interconnections with other fields such as archeoastronomy, calendrics and astrology.

Required Technologies:

  • LampServer or WampServer (or equivalent). Therefore, Windows, Mac OS/X, and Linux compatible

Installation Instructions:

  1. Download phpMyChord zip file
  2. Extract folder into www directory, e.g. C:\wamp\www
  3. Using phpMyAdmin or your favorite MySQL tool, run the initializeDatabase.sql file in the MySQL database you will be using for this project.
  4. Edit php.ini and uncomment directive extension=gd2.dll (load php graphics library)
  5. Edit config.php to match your database name, user name, and password.

Definitions:

Note: C, Db, D, E, F, Gb, G, Ab, A, Bb, or B (flatted form is currently preferred since it simplifies the Base 12 operations).

Sci: Scale, Chord or Interval. Consists of Note and SciCode separated by space character. e.g. “C -” is C Minor Chord.

SciDegree: 1 (smallest), b2, 2, b3, 3, 4, b5, 5, b6, 6, b7, or 7 (highest). Sometimes called scale degrees.

SciCode: preferred code of SciType. e.g. “-” is the SciCode of SciName “Minor Chord” in my convention

SciName: preferred name of SciType. My choice is the default SciName.

SciSpelling: Comma delimited SciDegrees, omitting the 1, ordered from smallest to highest. e.g. b3,5 is the SciSpelling for SciName “Minor Chord”.

SciMode: new SciType derived from a given SciType starting on a different SciDegree.

Mode: new Sci derived from a given Sci starting on a different Note.

SciIntervalForm: A SciType written in terms of intervals. e.g. “-” is “d3 a3”

SciNumericIntervalForm: like the SciIntervalForm but written with the numeric equivalents e.g. “3 4” as follows:

Interval Name

SciCode

Numeric Equivalent

Minor Second

d2

1

Major Second

n2

2

Minor Third

d3

3

Major Third

n3

4

Perfect Fourth

P4

5

Tritone

T

6

Perfect Fifth

P5

7

Minor Sixth

d6

8

Major Sixth

n6

9

Minor Seventh

d7

10

Major Seventh

n7

11



SciSequence: comma delimited Sci list. e.g. “C -,D M,A 7”. Can be transformed into Sci using sciSequence2sci() function.

Tuning: comma delimited list of notes of a stringed instrument. e.g. ukulele is “G,C,E,A”

StringPosition: numeric representation the fret of a string on a stringed instrument. “0” means open string. “x” means muted string.

SciPosition: a comma delimited list of StringPositions representing a fingering position of a particular chord for a particular tuning. SciPosition “0,0,0,3” is Sci “C M” for tuning “G,C,E,A”. SciPosition2sci transforms a SciPosition to a Sci.

NoteCircleOfFifths: Notes arranged in a circle starting with C and incrementing by a Perfect Fifth interval (7 SciDegrees). C, G, D, A, E, B, Gb, Db, Ab, Eb, Bb, and F. Associated with the Zodiac with C as Aries.

SciDegreeCircleOfFifths: 1, 5, 2, 6, 3, 7, b5, b2, b6, b3, b7, and 4. Associated with the solar system bodies: Sun (1), Mercury (5), Venus (2), Moon (6), Mars (3), Jupiter (7), Saturn (b5), Uranus (b2), Neptune (b6), Pluto (b3), Sedna (b7) and Quaoar (4).Mode: Sci derived from another Sci starting on a different Note.

Note

Western Zodiac


SciDegree

Solar System Object


C

Aries

1

Sun

G

Taurus

5

Mercury

D

Gemini

2

Venus

A

Cancer

6

Moon

E

Leo

3

Mars

B

Virgo

7

Jupiter

Gb

Libra

b5

Saturn

Db

Scorpio

b2

Uranus

Ab

Saggitarius

b6

Neptune

Eb

Capricorn

b3

Pluto

Bb

Aquarius

b7

Sedna

F

Pisces

4

Quaoar