mirror of
https://github.com/kennethreitz/pytheory.git
synced 2026-06-05 06:46:14 +00:00
docs: flip remaining guides to low-to-high fingerings (v0.43.0 follow-up)
The v0.43.0 commit updated fretboard.rst and chords.rst but missed the fingering/tab examples in quickstart, cookbook, and nashville-blues-tabs. Update those Fingering reprs and fb.tab()/scale_diagram blocks to the new low-to-high default, and fix the "Reading Tab Notation" prose (chord tab now lists strings low-to-high; high_to_low=True restores the old layout). Part.to_tab() examples are unchanged (orientation-agnostic, high-on-top). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -111,19 +111,19 @@ Generate fingerings for guitar and ukulele with
|
||||
|
||||
>>> fb = Fretboard.guitar()
|
||||
>>> fb.chord("C")
|
||||
Fingering(e=0, B=1, G=0, D=2, A=3, E=x)
|
||||
Fingering(E=x, A=3, D=2, G=0, B=1, e=0)
|
||||
>>> fb.chord("G")
|
||||
Fingering(e=3, B=0, G=0, D=0, A=2, E=3)
|
||||
Fingering(E=3, A=2, D=0, G=0, B=0, e=3)
|
||||
>>> fb.chord("Am")
|
||||
Fingering(e=0, B=1, G=2, D=2, A=0, E=x)
|
||||
Fingering(E=x, A=0, D=2, G=2, B=1, e=0)
|
||||
>>> fb.chord("D")
|
||||
Fingering(e=2, B=3, G=2, D=0, A=x, E=x)
|
||||
Fingering(E=x, A=x, D=0, G=2, B=3, e=2)
|
||||
|
||||
>>> uke = Fretboard.ukulele()
|
||||
>>> uke.chord("C")
|
||||
Fingering(A=3, E=0, C=0, G=0)
|
||||
Fingering(G=0, C=0, E=0, A=3)
|
||||
>>> uke.chord("G")
|
||||
Fingering(A=2, E=3, C=2, G=0)
|
||||
Fingering(G=0, C=2, E=3, A=2)
|
||||
|
||||
Explore an Interval
|
||||
-------------------
|
||||
|
||||
@@ -209,10 +209,10 @@ Visualize the blues scale on guitar to see the patterns:
|
||||
>>> print(fb.scale_diagram(blues, frets=12))
|
||||
0 1 2 3 4 5 6 7 8 9 10 11 12
|
||||
E| - | - | - | - | - | A | - | - | C | - | D | Eb| E |
|
||||
B| - | - | - | D | Eb| E | - | - | - | - | A | - | - |
|
||||
G| - | - | A | - | - | C | - | D | Eb| E | - | - | - |
|
||||
D| - | - | - | - | A | - | - | C | - | D | Eb| E | - |
|
||||
A| A | - | - | C | - | D | Eb| E | - | - | - | - | A |
|
||||
D| - | - | - | - | A | - | - | C | - | D | Eb| E | - |
|
||||
G| - | - | A | - | - | C | - | D | Eb| E | - | - | - |
|
||||
B| - | - | - | D | Eb| E | - | - | - | - | A | - | - |
|
||||
E| - | - | - | - | - | A | - | - | C | - | D | Eb| E |
|
||||
|
||||
The minor pentatonic (same scale without the Eb) is the most-played
|
||||
@@ -243,30 +243,30 @@ Get the tab for any chord on any instrument:
|
||||
>>> fb = Fretboard.guitar()
|
||||
>>> print(fb.tab("C"))
|
||||
C major
|
||||
e|--0--
|
||||
B|--1--
|
||||
G|--0--
|
||||
D|--2--
|
||||
A|--3--
|
||||
E|--x--
|
||||
A|--3--
|
||||
D|--2--
|
||||
G|--0--
|
||||
B|--1--
|
||||
e|--0--
|
||||
|
||||
>>> print(fb.tab("Am"))
|
||||
A minor
|
||||
e|--0--
|
||||
B|--1--
|
||||
G|--2--
|
||||
D|--2--
|
||||
A|--0--
|
||||
E|--x--
|
||||
A|--0--
|
||||
D|--2--
|
||||
G|--2--
|
||||
B|--1--
|
||||
e|--0--
|
||||
|
||||
>>> print(fb.tab("E7"))
|
||||
E dominant 7th
|
||||
e|--0--
|
||||
B|--0--
|
||||
G|--1--
|
||||
D|--0--
|
||||
A|--2--
|
||||
E|--0--
|
||||
A|--2--
|
||||
D|--0--
|
||||
G|--1--
|
||||
B|--0--
|
||||
e|--0--
|
||||
|
||||
Works with any instrument:
|
||||
|
||||
@@ -275,24 +275,27 @@ Works with any instrument:
|
||||
>>> uke = Fretboard.ukulele()
|
||||
>>> print(uke.tab("C"))
|
||||
C major
|
||||
A|--3--
|
||||
E|--0--
|
||||
C|--0--
|
||||
G|--0--
|
||||
C|--0--
|
||||
E|--0--
|
||||
A|--3--
|
||||
|
||||
Reading Tab Notation
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
e|--0-- ← open string (don't fret, just pluck)
|
||||
B|--1-- ← press fret 1
|
||||
G|--0-- ← open string
|
||||
D|--2-- ← press fret 2
|
||||
A|--3-- ← press fret 3
|
||||
E|--x-- ← muted (don't play this string)
|
||||
A|--3-- ← press fret 3
|
||||
D|--2-- ← press fret 2
|
||||
G|--0-- ← open string
|
||||
B|--1-- ← press fret 1
|
||||
e|--0-- ← open string (don't fret, just pluck)
|
||||
|
||||
- Each line is a string (highest pitch at top, lowest at bottom)
|
||||
- Each line is a string. Chord tab from ``fb.tab()`` lists strings
|
||||
low-to-high (lowest pitch at top) by default since v0.43.0; pass
|
||||
``high_to_low=True`` to the fretboard for the traditional
|
||||
highest-pitch-on-top layout.
|
||||
- Numbers are fret positions (0 = open, 1-24 = fretted)
|
||||
- ``x`` means the string is muted / not played
|
||||
- ``|`` marks measure boundaries in sequence tabs
|
||||
|
||||
@@ -130,7 +130,7 @@ Guitar fingerings:
|
||||
|
||||
>>> fb = Fretboard.guitar()
|
||||
>>> fb.chord("Am")
|
||||
Fingering(e=0, B=1, G=2, D=2, A=0, E=x)
|
||||
Fingering(E=x, A=0, D=2, G=2, B=1, e=0)
|
||||
|
||||
All of the above works without PortAudio, without sounddevice,
|
||||
without any audio setup at all. It's pure Python music theory.
|
||||
|
||||
Reference in New Issue
Block a user