This release is a pre-release and may not be stable for production use.
This project delivers routines for music oriented sound synthesis in a sample based system. Music can be though of as a sample level DAW system, in which the objects manipulated are in fact the array of samples describing the sound wave that will reach a listener ear. The MASS (music and audio in sample sequences) modeling is used[1][2].
Install with:
$ pip3 install musicLegacy
Hack demo songs and make wav files with:
$ python3 tests/testSong.py
To hear testSong.wav or
$ python3 tests/testSong2.py
to hear vibrosong.wav. To hack the MASS package itself, and use it from the repo, don’t forget to:
$ pip install -e <path/to/repo>
Real time is possible but not the emphasis: all parameters are updated sample by sample and calculations are made in 64 bit floating point. All operations are described by equations that directly relates audio samples to musical aspects. Detailed descriptions can be found in:
the article “Psychophysics of musical elements in the discrete-time representation of sound”: http://arxiv.org/abs/1412.6853
the msc dissertation “Música no áudio digital: descrição psicofísica e caixa de ferramentas”: https://github.com/ttm/dissertacao/blob/master/dissertacaoCorrigida.pdf?raw=true
Also check the music Python package: https://github.com/ttm/music
Usage example
Download messages from one GMANE list:
import musicLegacy as m
# sine, triangle, square and sawtooth
# are attributes of the bt object:
bt=m.BasicTables()
# for frequency to midi and decibels to amplitude relations:
co=m.BasicConverter()
# try co.db2Amp .amp2Db .hz2Midi .midi2Hz
sy=m.Synth()
note=sy.render()
ut=m.Utils()
ut.write(note) # saved to fooname.wav
melody=n.hstack([sy.render(f,.2) for f in
co.p2f(220,[0,7,7,5,6,7,0,4,7,0])])
sy.vib_depth=3.
sy.vib_freq=3.
sy.tab=bt.saw
section2=n.hstack([sy.render(freq,dur) for freq,dur in
zip(co.p2f(110,[0,7,7,5,6,7,0,4,7,0]),
[.2,.4,.2,.2,.8,.2,.4,.2,.4])])
song=n.hstack((melody,section2))
ut.write(song,"song.wav")
# A core purpose of the toolbox is to serve other
# toolboxes on the development sonic representations
# E.g. m.pieces.FourHubsDance is used by gmane toolbox
# to make sonified animations:
# https://www.youtube.com/watch?v=YxDiwzAUPeU
# sonicLine1 and sonicLine2 attributes are
# most basic sonic "templates" used by:
# https://pypi.python.org/pypi/gmane to make social music
# more in the way. Take a look at the above literature.
# Enjoy!
Metadata
Release files for musicLegacy 0.1.dev13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| musicLegacy-0.1.dev13.tar.gz | 8.1 kB | Without provenance | Details |
Release files / musicLegacy-0.1.dev13.tar.gz
| Download URL | musicLegacy-0.1.dev13.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec72594f40f26b70edcc2386bc2b47e9b7e88e8c2d350f4c281099a7c4ff681b
|
|
BLAKE2b-256 checksum How to use checksums |
d8aed49cee5a5b81a0f6d6c7a5350d8dfca575aed3d797bfcfce17d140cd4923
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
|
Security for musicLegacy 0.1.dev13
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.