By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,621 Members | 1,029 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,621 IT Pros & Developers. It's quick & easy.

generating audio signals

P: n/a
I'm running linux and would like to generate specific frequencies and
play them(in OSS) or alternatively save them as wav files, how should I
accomplish this? Using python to play and generate is not strictly
necessary, as long as I can invoke the command from python.
I know for example xmms can do this, but I want a command-line only solution.

thanks
Jul 18 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
On Sun, 20 Mar 2005 12:25:22 +0200, nicke <hi*****@elitemail.org> wrote:
I'm running linux and would like to generate specific frequencies and
play them(in OSS) or alternatively save them as wav files, how should I
accomplish this? Using python to play and generate is not strictly
necessary, as long as I can invoke the command from python.
I know for example xmms can do this, but I want a command-line only solution.

Perhaps
http://docs.python.org/lib/module-wave.html
will help. I used it to create an echo effect toy for my grandson by reading existing .wav sound effect
files and adding delayed reduced-aplitude feeback to itself and writing another file. Parameters were
distance in feet to a reflecting wall (assuming 1000 ft/sec sound speed ;-) and relection volume factor.

Not hard. Maybe make yourself a little utility first that will show you the specs for any .wav file (i.e.,
sampling frequency, bytes per sample, channels, etc.) I don't recall at the moment whether you have to
deal with signed or offset amplitude values, but it won't be hard.

This won't play the sounds though.

Regards,
Bengt Richter
Jul 18 '05 #3

P: n/a
>>Maybe make yourself a little utility first that will show you the
specs for any .wav file (i.e.,
sampling frequency, bytes per sample, channels, etc.)


You can do this with one function call - wave.Wave_read.getparams()
import wave
wave.open("filename","b")
wave.Wave_read.getparams()

Jul 18 '05 #4

P: n/a
On 21 Mar 2005 11:12:38 -0800, "Cappy2112" <ca*******@gmail.com> wrote:
Maybe make yourself a little utility first that will show you thespecs for any .wav file (i.e.,sampling frequency, bytes per sample, channels, etc.)


You can do this with one function call - wave.Wave_read.getparams()
import wave
wave.open("filename","b")
wave.Wave_read.getparams()

Yeah, I know ;-) I expected the OP to discover that really quick,
and enjoy an early tidbit of success, maybe printing the parameters
in a pretty format to his taste ;-)

Regards,
Bengt Richter
Jul 18 '05 #5

P: n/a
On Tue, 22 Mar 2005 00:51:57 GMT
bo**@oz.net (Bengt Richter) wrote:
On 21 Mar 2005 11:12:38 -0800, "Cappy2112" <ca*******@gmail.com> wrote:
Maybe make yourself a little utility first that will show you the

specs for any .wav file (i.e.,
sampling frequency, bytes per sample, channels, etc.)


You can do this with one function call - wave.Wave_read.getparams()
import wave
wave.open("filename","b")
wave.Wave_read.getparams()

Yeah, I know ;-) I expected the OP to discover that really quick,
and enjoy an early tidbit of success, maybe printing the parameters
in a pretty format to his taste ;-)

Regards,
Bengt Richter
--
http://mail.python.org/mailman/listinfo/python-list


already found it and used it, but did some more research...
packed/unpacked the wave files, made programs for generating
frequencies, playing them, saving them, and plotting the files as
amplitude as a function of time.
Jul 18 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.