Ya no necesitas buscar más por otros sitios ya que estás al sitio perfecto, poseemos la solución que buscas y sin problemas.
Solución:
¿Has probado Pyaudio? Instalar:
python -m pip install pyaudio
Ejemplo de grabación, del sitio web oficial:
Ejemplo de PyAudio: grabe unos segundos de audio y guárdelo en un archivo WAVE.
import pyaudio
import wave
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("* recording")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
Este ejemplo funciona en mi computadora portátil con Python 2.7.11 (y 3.5.1) en Windows 8.1, pyaudio 0.2.9.
¿Está planeando obtener audio del micrófono en partes o en streaming? En cualquier caso, se puede emplear un dispositivo de sonido.
Puede instalar el módulo de python usandopip install sounddevice --user
Consulte el sitio oficial para obtener detalles de la API.
El dispositivo de sonido grabará el audio del micrófono de su computadora portátil (entrada de audio estándar) y lo reproducirá en el altavoz o los auriculares (salida de audio estándar). Puede utilizar el objeto de sonido para su posterior procesamiento.
import sounddevice as sd
import numpy as np
import scipy.io.wavfile as wav
fs=44100
duration = 5 # seconds
myrecording = sd.rec(duration * fs, samplerate=fs, channels=2,dtype='float64')
print "Recording Audio"
sd.wait()
print "Audio recording complete , Play Audio"
sd.play(myrecording, fs)
sd.wait()
print "Play Audio Complete"
Aquí está la salida: Python 2.7.9 (predeterminado, 10 de diciembre de 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] en win32 Escriba “copyright”, “créditos” o “licencia()” para obtener más información. ================================ REINICIAR ================= ==
Grabación de audio
Grabación de audio completa, Reproducir audio
Reproducir audio completo
Consideraría usar pysox, los enlaces de python para libsox.
Puede obtener el paquete pysox de PyPI.
valoraciones y reseñas
Recuerda algo, que te permitimos añadir una evaluación correcta si diste con el hallazgo.