A package for exploring the fundamentals of how we define music.
Assists in the exploration of how we define music. Currently generates a set of frequencies for any number of notes in an octave. 10-keys-per-octave keyboard? Why not!
Installation (with pip)
pip install crazy-piano
List of Functions
- compute_frequencies(m=12, f0=440, base=2, low_thresh=20, high_thresh=8000): Generates a set of frequencies corresponding to different numbers of notes per octave. Based on a modified version of the formula for computing frequencies in an octave.
- m: The number of steps in an octave. 12 is standard.
- f0: Baseline frequency. 440 Hz is conventional starting point for A4 pitch.
- base: The base of growth for frequencies. Determines how fast the frequencies increase.
- low_thresh: The lowest frequency allowed. 20 Hz is low limit of human hearing.
low_threshis met, still finishes the octave. i.e. If the 3rd note of an octave is below
low_thresh, will still return the 1st and 2nd notes of that octave.
- high_thresh: The highest frequency allowed. 8000 Hz traditionally the 8th octave.
high_threshis met, still finishes the octave. i.e. If the
m-2note of an octave is above
high_thresh, will still return the
mnotes of that octave.
Ideas for more? Create an issue, or email firstname.lastname@example.org with feedback.
Creates a pandas dataframe containing the frequencies for each note, where 440 Hz is the base value. Uses default values for low and high frequency cut-offs.
from crazy_piano import compute_frequencies keyboard_10_notes = compute_frequencies(m=10)
Output Dataframe Columns
f0 is the reference point. It is the 0th note of the 0th octave.
Octaves lower are negative, and larger are positive. Integer.
f0 is the reference point. It is the 0th note of any octave. The largest
Note Number is therefore
Frequency (Hz): The frequency corresponding to the
Note Number, in Hertz. Float.
- Michael Altonji Interested in collaborating? Email email@example.com, or submit issues for features you'd like to see in the future!
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size crazy_piano-0.0.1-py3-none-any.whl (4.3 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size crazy-piano-0.0.1.tar.gz (2.8 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for crazy_piano-0.0.1-py3-none-any.whl