Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Are there any resources for sound synthesis using Mathematica?

This page, Mathematica: Audio Synthesis Software, refers to other software packages, e.g. Max/MSP and Csound, for real-time synthesis.

However, I would like to use Mathematica's signal processing capabilities for analysing the sound effects of various filters, before I have to delve into some other package.

Play and Sound do not seem to have any real-time capability.

Max/MSP features image

enter image description here


The immediate stumbling block is the lack of real-time control when using Play, e.g.

EmitSound[Play[Sin[500 t^2], {t, 0, 10}]]

For instance, the played sound wave doesn't seem to be easily manipulated.

 Manipulate[EmitSound[Play[Sin[500 a t^2], {t, 0, 10}]], {a, 1, 4}]

Note. You may need to quit Mathematica to stop the above command.

If the emitted sound can be manipulated then filter effects could be applied in variable magnitudes.

share|improve this question
Chris, I fear this question is too broad at the moment. Be happy to retract though if you make a good case ;-) – Yves Klett May 9 '14 at 11:35
@Yves - a good place to start would be getting dynamic control of an emitted sound. I have added an edit addressing this. – Chris Degnen May 9 '14 at 11:53
For the kind of control you seem to be seeking, you probably want to work at the level of the waveform (e.g., sing SampledSoundList) rather than trying to use higher level commands such as Play. But, you will not be able to get real time action from Mathematica as you can for instance in Max/MSP -- at best you will work off line, generate a sound and then play the sound. – bill s May 9 '14 at 18:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.