Skip to content

Instantly share code, notes, and snippets.

@eljuguetero
Last active September 18, 2018 07:26
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eljuguetero/8e69da6447c1eefedf901a0ab7f3fe28 to your computer and use it in GitHub Desktop.
Save eljuguetero/8e69da6447c1eefedf901a0ab7f3fe28 to your computer and use it in GitHub Desktop.
Python audio capture for Matrix
'''
* Copyright 2017 <andres.calderon@admobilize.com>
* MATRIX Labs [http://creator.matrix.one]
* This file is part of MATRIX Creator HAL
*
* This example is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
'''
import alsaaudio, time, audioop
def capture():
inp = alsaaudio.PCM(alsaaudio.PCM_CAPTURE,alsaaudio.PCM_NORMAL,"mic_channel0")
inp.setchannels(1)
inp.setrate(16000)
inp.setformat(alsaaudio.PCM_FORMAT_S16_LE)
inp.setperiodsize(512)
loops=256
rf = open('recording.raw', 'w')
while loops > 0:
loops -= 1
l, data = inp.read()
if l:
print audioop.max(data,2)
rf.write(data)
rf.close()
capture()
@kdpatino
Copy link

In order to use it, you need the following dependencies:

sudo apt get install libasound2-dev  python-dev python-pip
sudo pip install pyalsaaudio

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment