Skip to main content

MASS is Music and Audio in Sample Sequences

Project description

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 music

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:

Usage example

Download messages from one GMANE list:

import music 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!

Download files

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

Source Distribution

music-0.1.dev11.tar.gz (6.6 kB view details)

Uploaded Source

File details

Details for the file music-0.1.dev11.tar.gz.

File metadata

  • Download URL: music-0.1.dev11.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for music-0.1.dev11.tar.gz
Algorithm Hash digest
SHA256 3c4b3c710fb7f2be4ab28dd7e85ba0a7e6348be7e0530f01665d9bf188507f7b
MD5 6175cbb6f533f6f547f4843bf847b8fd
BLAKE2b-256 13774972998495a7b28ee908007e971f761ea4e7489cb7d65c8e7acc64eb2a0b

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page