SYNOPSIS

numm-run FILE

import numm

DESCRIPTION

numm is a python library – the bastard child of Processing.org and MATLAB, if you will – that fuses python, numpy, and gstreamer together to create a numerical-computing environment for multimedia generation, analysis, and interaction.

Installation

A Debian package is provided for ease of installation on Debian and derivative operating systems, such as Ubuntu; we recommend you abandon alternative systems and install Debian, but in the interim direct your attention to virtualization software such as VirtualBox.

Numm is available as a package in Debian and Ubuntu:

% sudo apt-get install python-numm

Usage

At its simplest, numm provides three pairs of invertable functions that connect common media formats with numpy:

Images represented as (height, width, color) numpy.uint8 arrays.

  • image2np(path) \(-> np

  • np2image(np, path)

Sounds as (frames, channels) numpy.int16s

  • sound2np(path) \(-> np

  • np2sound(np, path)

Videos as (frames, height, width, color) numpy.uint8s

  • video2np(path) \(-> np

  • np2video(np, path)

Additionally, iterators are provided for incremental loading of media files:

  • sound_chunks(path) \(-> np iterator

  • video_frames(path) \(-> np iterator (by frame)

For rapid-prototyping of interactive numpy-based audio-visual experiments, the numm package has a real-time mode. The numm package installs a program named numm-run, which launches (and reloads on modification) python scripts that may implement any subset of the following functions, which are asynchronously called as needed:

  • video_in(a) # webcam

  • video_out(a) # mutate a in-place to set video

  • audio_in(a) # mic

  • audio_out(a) # mutate a for audio output

  • mouse_in(type, px, py, button)

  • keyboard_in(type, key)

RELATED TO numm.getting-started…

numm-run(1), numm.one-bit-instrument(7), numm.spectral-analysis(7)