numm.one-bit-instrument(7) debian man page | unix.com

Man Page: numm.one-bit-instrument

Operating Environment: debian

Section: 7

one-bit-instrument(7)						  Numm Tutorials					     one-bit-instrument(7)

NAME
one bit instrument - how to make a gnarly synth with numm-run SYNOPSIS
numm-run FILE DESCRIPTION
In this tutorial we will learn how to live-code a one-bit synthesizer controlled by mouse position. It is intended as a gentle introduc- tion to development with numm-run. To get started, create a text file with the following method stubs: def audio_out(a): pass def video_out(a): pass Save the file as onebit.py, and then launch it with numm-run: numm-run onebit.py You should see a blank window appear. We will now make some sound and light by changing the value of a in the audio_out and video_out functions: def audio_out(a): a[::100] = 2**15 def video_out(a): a.flat[::100] = 255 Save the file, and you should see and hear the sketch update. This is using numpy's array-indexing to turn every hundredth audio sample and pixel-color on. The audio sample rate is by default 44100Hz, so it produces a series of clicks that will be perceived as a 441Hz tone. We can turn this into an instrument by connecting mouse motion to frequency: period = 100 def audio_out(a): a[::period] = 2**15 def video_out(a): a.flat[::period] = 255 def mouse_in(type,px,py,button): global period period = px*1000 Finally, let's use the keyboard to record and jump to notes. The first time you press a key, it records the period, and subsequant depres- sions play the saved period: period = 100 record = {} def audio_out(a): a[::period] = 2**15 def video_out(a): a.flat[::period] = 255 def mouse_in(type,px,py,button): global period period = px*1000 def keyboard_in(type,key): global period if record.has_key(key): period = record[key] elif record.has_key(key): record[] = period SEE ALSO
numm-run(1), numm.getting-started(7), numm.spectral-analysis(7) numm February 2012 one-bit-instrument(7)
Related Man Pages
feedback(1) - debian
ldns-verify-zone(1) - centos
perf-diff(1) - centos
numm.spectral-analysis(7) - debian
dateperiod.__construct(3) - php
Similar Topics in the Unix Linux Community
Flat file manipulation
Awk to display lines that contain a period only in the first column
To flat file, append null or space if its length is less than 10
Print one sentence 40 to 50 words end with period in a file
Remove lines ending with a certain character