Breaking News
Comments
Newest First | Oldest First | Threaded View
goafrit
User Rank
Manager
re: Audio simulations that will knock your SoX off!
goafrit   5/6/2011 8:47:51 PM
NO RATINGS
Congrats on the award

Soundfac
User Rank
Rookie
re: Audio simulations that will knock your SoX off!
Soundfac   2/5/2011 7:42:51 PM
NO RATINGS
Thanks for the pointer Frank. If you are designing hardware you can also use Linear Technology's LTSpice to play and record wav files from a schematic. You can use any wav file as an input voltage source and save the output result as a wav file. It's very nice to 'listen' to your design before you build it. LTSpice is free from http://www.linear.com/designtools/software/

Mark Wehrmeister
User Rank
Rookie
re: Audio simulations that will knock your SoX off!
Mark Wehrmeister   10/29/2010 6:54:51 AM
NO RATINGS
SoX sounds like a great open source tool. Does anyone know of other open source tools that can do the same (or similar) things?

ReneCardenas
User Rank
Rookie
re: Audio simulations that will knock your SoX off!
ReneCardenas   10/28/2010 12:09:52 AM
NO RATINGS
Frank, Thanks for this pointer, it sure comes timely for me (since I wasn't aware of it), and I am working some personal project to synthesize couple simple sounds, such as: Heartbeat at rest, active, whistle, etc

old account Frank Eory
User Rank
Rookie
re: Audio simulations that will knock your SoX off!
old account Frank Eory   10/26/2010 11:28:54 PM
NO RATINGS
Yes, sox is open source and is commonly included in Linux distributions. Chances are you probably already have it under /usr/bin.

Robotics Developer
User Rank
Rookie
re: Audio simulations that will knock your SoX off!
Robotics Developer   10/24/2010 3:33:21 AM
NO RATINGS
That sounds really neat! Is SoX free? I do not do much analog but the opportunity to test out and try various filters (using spice or matlab) and hearing the result would be very helpful (not to mention cool)! Thanks for the heads up.

old account Frank Eory
User Rank
Rookie
Audio simulations that will knock your SoX off!
old account Frank Eory   10/22/2010 12:23:51 AM
NO RATINGS
If you work in audio hardware design, I'm sure there are times when you've wanted to actually hear the results of a particular signal processing task -- to hear the output of your simulation -- to make sure the algorithm or filter achieved the effect you wanted. Sometimes examining the FFT of the simulation output just doesn't cut it...you really want to HEAR it. Now you're probably thinking, why not just use the wavread & wavwrite functions in Matlab? After all, if you're working in audio, you probably have access to Matlab. But even if you do have Matlab, when you're working on a hardware design, at some point you're simulating Verilog or VHDL RTL, or a combination of RTL and SPICE in a mixed-signal simulation. Perhaps your simulation environment has all the analysis capability you need, except for the ability to read & write .wav files -- files you could actually play and hear -- and as much as you love Matlab, it's a pain to go back & forth between tools, maybe even between computers, just to be able to hear the results of your fabulous signal processing. To the rescue comes Sox, a multi-platform utility that does audio format conversions and a whole bunch of other stuff. Sox is one of the few programs that can read a plain text file of numeric values and turn it into a .wav file. Likewise, it can read a .wav file and turn it into a text file of numeric values, so you can make more interesting stimuli for your simulations that just the usual sine waves! Take for example a hypothetical Verilog RTL simulation in which you have captured the audio sample times and audio sample values for an output channel in a text file as floating point numbers, like this: 2.26757E-05 4.76E-01 4.53515E-05 5.25E-01 ... Just add a one line comment at the top of the file that indicates the sampling rate in Hz, as follows: ; Sample Rate 44100 Make sure your text file name ends in .dat and sox will understand exactly how to convert it in a simple one line shell command: sox -V outfile.dat outfile.wav sox can also play the resulting .wav file on most platforms. And again, for more interesting stimuli to run through those Verilog or mixed-signal simulations, you can run: sox -V piece_of_music.wav piece_of_music.dat and you will get a text file of sample times and audio sample values that, with minor massaging, can be applied as stimulus to just about any simulator you might be using. I recently had a need to do just such a text-to-wav conversion and despite my best search efforts, found it difficult to find a clear example of using sox for this conversion. So if anyone else has a similar need, I hope you find this helpful.



EE Life
Frankenstein's Fix, Teardowns, Sideshows, Design Contests, Reader Content & More
Max Maxfield

Steve Wozniak Reacts to Latest iPhone
Max Maxfield
3 comments
Funnily enough, just a few days ago as I pen these words, I was chatting with my wife (Gina the Gorgeous) when she informed me that -- as a kid -- she had never played at making a ...

EDN Staff

11 Summer Vacation Spots for Engineers
EDN Staff
20 comments
This collection of places from technology history, museums, and modern marvels is a roadmap for an engineering adventure that will take you around the world. Here are just a few spots ...

Glen Chenier

Engineers Solve Analog/Digital Problem, Invent Creative Expletives
Glen Chenier
15 comments
- An analog engineer and a digital engineer join forces, use their respective skills, and pull a few bunnies out of a hat to troubleshoot a system with which they are completely ...

Larry Desjardin

Engineers Should Study Finance: 5 Reasons Why
Larry Desjardin
46 comments
I'm a big proponent of engineers learning financial basics. Why? Because engineers are making decisions all the time, in multiple ways. Having a good financial understanding guides these ...

Flash Poll
Top Comments of the Week
Like Us on Facebook
EE Times on Twitter
EE Times Twitter Feed

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)