Skip to content

Instantly share code, notes, and snippets.

@eljuguetero
Last active Sep 18, 2018
Embed
What would you like to do?
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

kdpatino commented Mar 15, 2017

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