[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: changing a sound signal while listening to it

Hi -

I am not sure what kind of data you are intending to aquire and if there is a problem on that side, but otherwise it sounds like a problem that should be easy to solve with real-time synthesis programming environments such as e.g.

PD (http://www-crca.ucsd.edu/~msp/software.html)
SuperCollider (http://sourceforge.net/projects/supercollider/files/)
JSyn (http://www.softsynth.com/jsyn/)

All of them are available free of charge and cross platform.
Depending on the background, I would think PD is the easiest to understand. It also has a huge development community working on all kinds of plugins and modules. (see "pd-extended").
JSyn is great if you are programming in JAVA anyway - you can run it in applets, on the web, with Java GUI, etc., which might come in handy if you would like to disseminate your experiments through the web.
SuperCollider is more complex as a language, but more CPU efficient, especially on a Mac.

There is also Max/MSP as a commercial "nice looking" alternative to PD. :) (One has to admit that there are a whole lot of very useful externals for Max/MSP that are not available for PD)


From: AUDITORY - Research in Auditory Perception [AUDITORY@xxxxxxxxxxxxxxx] On Behalf Of Daniel Bowling [danielliubowling@xxxxxxxxx]
Sent: Monday, August 09, 2010 7:32 PM
To: AUDITORY@xxxxxxxxxxxxxxx
Subject: changing a sound signal while listening to it

Dear List,

I am trying to create a piece of software that will allow a subject to change the beat frequency and amplitude of a signal while listening to it in real time.

More specifically, the signal will consist of two pure tones (e.g. T1 + T2), and the difference between them (T2 - T1) as well as the root mean square amplitude will be under the control of the subject via the keyboard.

I have tried to execute this in Matlab using a loop, the problem is that the sound stops and then starts again at the beginning of each loop iteration.

Can anyone suggest a way this might be implemented on a computer? Or perhaps just a suitable programming language?


Dan Bowling