All Projects → kenreitz42 → Pytheory

kenreitz42 / Pytheory

Music Theory for Humans.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pytheory

Beets
music library manager and MusicBrainz tagger
Stars: ✭ 10,522 (+735.08%)
Mutual labels:  hacktoberfest, music
Ongaku
Anime Radio
Stars: ✭ 86 (-93.17%)
Mutual labels:  hacktoberfest, music
Red Discordbot
A multi-function Discord bot
Stars: ✭ 2,855 (+126.59%)
Mutual labels:  hacktoberfest, music
Pengubot
Official PenguBot GitHub Repository
Stars: ✭ 98 (-92.22%)
Mutual labels:  hacktoberfest, music
Shuffle
Shuffle every song in existence from YouTube
Stars: ✭ 131 (-89.6%)
Mutual labels:  hacktoberfest, music
Musicplayer
A minimal music player built on electron.
Stars: ✭ 145 (-88.49%)
Mutual labels:  hacktoberfest, music
Gwion
🎵 strongly-timed musical programming language
Stars: ✭ 235 (-81.35%)
Mutual labels:  hacktoberfest, music
Gitflux
Track your GitHub projects in InfluxDB and create beautiful graphs with Grafana
Stars: ✭ 84 (-93.33%)
Mutual labels:  hacktoberfest
Exram.gremlinq
A .NET object-graph-mapper for Apache TinkerPop™ Gremlin enabled databases.
Stars: ✭ 84 (-93.33%)
Mutual labels:  hacktoberfest
Magnetic
SpriteKit Floating Bubble Picker (inspired by Apple Music) 🧲
Stars: ✭ 1,252 (-0.63%)
Mutual labels:  music
Paru
Feature packed AUR helper
Stars: ✭ 1,240 (-1.59%)
Mutual labels:  hacktoberfest
Semana Hacktoberfest
🔥 Semana Hacktoberfest na Lukin Co. —— Quer participar da semana Hacktoberfest? Nós preparamos um guia especial para você!
Stars: ✭ 84 (-93.33%)
Mutual labels:  hacktoberfest
Check
Development environment for Meedan Check, a collaborative media annotation platform
Stars: ✭ 84 (-93.33%)
Mutual labels:  hacktoberfest
Docker
Development repository for the docker cookbook
Stars: ✭ 1,253 (-0.56%)
Mutual labels:  hacktoberfest
Entando Core
The entando-core is the repository of the Entando App Engine for Entando 5.X and is the heart of the Entando Platform by providing the primary out-of-the-box services for developing applications.
Stars: ✭ 84 (-93.33%)
Mutual labels:  hacktoberfest
Algorithms Explanation
All Algorithms explained in simple language with examples and links to their implementation in various programming languages and other required resources.
Stars: ✭ 1,243 (-1.35%)
Mutual labels:  hacktoberfest
Cultofthepartyparrot.com
PARTY OR DIE
Stars: ✭ 1,254 (-0.48%)
Mutual labels:  hacktoberfest
Weakforced
Anti-Abuse for servers at authentication time
Stars: ✭ 84 (-93.33%)
Mutual labels:  hacktoberfest
Ngx Indexed Db
A service that wraps IndexedDB database in an Angular service. It exposes very simple observables API to enable the usage of IndexedDB without most of it plumbing.
Stars: ✭ 84 (-93.33%)
Mutual labels:  hacktoberfest
Cascade
Dart-like cascade expressions in Rust
Stars: ✭ 84 (-93.33%)
Mutual labels:  hacktoberfest

PyTheory: Music Theory for Humans

This (work in progress) library attempt to make exploring music theory approachable to humans.

logo

True Scale -> Pitch Evaluation

>>> from pytheory import TonedScale

>>> c_minor = TonedScale(tonic='C4')['minor']

>>> c_minor
<Scale I=C4 II=D4 III=Eb4 IV=F4 V=G4 VI=Ab4 VII=Bb5 VIII=C5>

>>> c_minor[0].pitch()
523.251130601197

>>> c_minor["I"].pitch(symbolic=True)
440*2**(1/4)

>>> c_minor["tonic"].pitch(temperament='pythagorean', symbolic=True)
14080/27

Audibly play a note (or chord)

>>> from pytheory import play
play(c_minor[0], t=1_000)

Chord Fingerings for Custom Tunings

>>> from pytheory import Tone, Fretboard, CHARTS

>>> tones = (
...     Tone.from_string("F2"),
...     Tone.from_string("C3"),
...     Tone.from_string("G3"),
...     Tone.from_string("D4"),
...     Tone.from_string("A5"),
...     Tone.from_string("E5")
... )

>>> fretboard = Fretboard(tones=tones)
>>>
>>> c_chord = CHARTS['western']["C"]

>>> print(c_chord.fingering(fretboard=fretboard))
(0, 0, 0, 3, 3, 3)

It can also generate charts for all known chords for any instrument (accuracy to be determined!).

✨🍰✨

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].