Skip to main content

A small python package for generating music.

Reason this release was yanked:

this version doesn't use note names for just temperament which is annoying

Project description

jc3000

A small python package for generating music. Inspired by this which was inspired by this (that's why it's called jc3000).

You can generate any notes you want based on any fundamental (the frequency of concert A in this case, fundamental as a term is used kind of loosely). You can also use either just or equal temperament.

More reading

This page has really good information on how music and scales work at the physical level.

Default sample rate is 44,100 Hz.
Default concert A is 440 Hz.

Installation

You can install it via pip. It requires numpy. Probably not compatible with python <= 3.6.

python3 -m pip install jc3000

Examples

  • Play the licc
from jc3000 import Sequence

s = Sequence(fs=44100, fundamental=440, equal=True)
s.add_note('d', duration=.125)
s.add_note('e', .125)
s.add_note('f', .125)
s.add_note('g', .125)
s.add_note('e', .257)  # .257 for ~swing-iness~
s.add_note('c', .125)
s.add_note('d', .25)

s.write_file('the_licc.wav')
  • Play the C major scale with concert A set to 432 Hz.
from jc3000 import Sequence

s = Sequence(fundamental=432)

notes = ['cdefgabc']

for i, note in enumerate(notes):
    if i < 5:
        s.add_note(note)
    else:
        s.add_note(note, octave=1)
        
s.write_file('cmajor_432hz.wav')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jc3000-0.0.4.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

jc3000-0.0.4-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file jc3000-0.0.4.tar.gz.

File metadata

  • Download URL: jc3000-0.0.4.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for jc3000-0.0.4.tar.gz
Algorithm Hash digest
SHA256 3ff6fbe84a8a3c1f302d524ccce15c324c6a3f44340176ac6f496cf0f8718add
MD5 938e1cdab47d559523d4f5c39d4c1078
BLAKE2b-256 0cae232e15e5ffc374a5301c60b46057458379bb7f760ff8b219d1a51fae67d4

See more details on using hashes here.

File details

Details for the file jc3000-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: jc3000-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

File hashes

Hashes for jc3000-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0e7035eaf647002643212266e39ddd566630d76f3a5730bc9ed86a50560b4b5a
MD5 4f733842ba4be2b2e9dba29e291b5902
BLAKE2b-256 bfdedd661c3da4de2db32015bfafe6ccd5cf6114855fe2d0c5650a13d3052f96

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page