Skip to main content

A Python-based sound server, allowing control of the FModEx API via OSC messages.

Project description

The sound server reads a YAML file specifying sounds to be played. Sounds can then be triggered and manipulated remotely over OSC (e.g. fading in and out tracks, 3D positioning of sounds). This allows configuration and remote triggering/manipluation of sounds over a network. This software was designed for adding audio to interactive art installations and similar; it is probably not suitable for gaming or real-time musical applications.

Sound generation is via pyfmodex, which in turn wraps the high performance FMODEx library, which is used to render the sounds. Most FMODEx features are supported.

The server also supports autonomous fades, and automations for making filter changes, position movements, and pitch adjustment using random, periodic or spline based patterns. It supports stochastic sound generation, so that random sounds can be generated server-side according to a fairly flexible random generation model.

Example OSC messages:

# create a new transient sound mysound_0
/sound_server/spawn mysound mysound_0

# set the gain to -80dB
/sound_server/gain mysound_0 -80

# start the sound playing
/sound_server/start mysound_0

# start a fade up to 0dB over the next 5 seconds
/sound_server/gain mysound_0 0 5.0

Requires numpy, pyfmodex and simpleOSC.

Note: this is currently Python 2.x only. Python 3.x may or may not work with some small changes. You must separately acquire FMODEx for your platform. Depending on your use, FMODEx may require a commercial license.

This library relies on pyfmodex, which is somewhat incomplete/buggy at the moment. In particular, it does not work on 64-bit systems (you will get an FMOD_INVALID_PARAMETER error if you try and run on a 64 bit system). sound_server has some workarounds for missing or incomplete features in pyfmodex by calling FMODEx directly via ctypes.

OS X note: On OS X, the pyfmodex library must be patched to change the FMODEx library name from .so to .dylib

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

sound_server-0.1.1.zip (26.9 kB view details)

Uploaded Source

File details

Details for the file sound_server-0.1.1.zip.

File metadata

  • Download URL: sound_server-0.1.1.zip
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sound_server-0.1.1.zip
Algorithm Hash digest
SHA256 c0e81d664705ee16743b4cdf2b174ffb7fe2588ce2c471494feb234005465c5d
MD5 e5e059f931a2b02f6cf157436a577a4d
BLAKE2b-256 4b60c557bc132b36462ff920c0ec4330c262ed73f93be91014918f944ff3a8d4

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