Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>If you are using LINUX, you can use <a href="http://larsimmisch.github.io/pyalsaaudio/" rel="noreferrer">pyALSAAUDIO</a>. For windows, we have <a href="http://people.csail.mit.edu/hubert/pyaudio/" rel="noreferrer">PyAudio</a> and there is also a library called <a href="http://code.google.com/p/pygalaxy/wiki/SoundAnalyse" rel="noreferrer">SoundAnalyse</a>.</p> <p>I found an example for Linux <a href="http://ubuntuforums.org/showthread.php?t=500337" rel="noreferrer">here</a>:</p> <pre><code>#!/usr/bin/python ## This is an example of a simple sound capture script. ## ## The script opens an ALSA pcm for sound capture. Set ## various attributes of the capture, and reads in a loop, ## Then prints the volume. ## ## To test it out, run it and shout at your microphone: import alsaaudio, time, audioop # Open the device in nonblocking capture mode. The last argument could # just as well have been zero for blocking mode. Then we could have # left out the sleep call in the bottom of the loop inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE,alsaaudio.PCM_NONBLOCK) # Set attributes: Mono, 8000 Hz, 16 bit little endian samples inp.setchannels(1) inp.setrate(8000) inp.setformat(alsaaudio.PCM_FORMAT_S16_LE) # The period size controls the internal number of frames per period. # The significance of this parameter is documented in the ALSA api. # For our purposes, it is suficcient to know that reads from the device # will return this many frames. Each frame being 2 bytes long. # This means that the reads below will return either 320 bytes of data # or 0 bytes of data. The latter is possible because we are in nonblocking # mode. inp.setperiodsize(160) while True: # Read data from device l,data = inp.read() if l: # Return the maximum of the absolute value of all samples in a fragment. print audioop.max(data, 2) time.sleep(.001) </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload