[Python-es] Librería para acceder a los micros del ordenador?
Jaime Perea
jdpd en gmx.es
Mar Oct 20 08:44:28 EDT 2015
El Martes, 20 de octubre de 2015 14:27:42 Jesus Cea escribió:
> Para el podcast me he escrito un programa que usar la libería "pyaudio"
> que me da acceso al micrófono del ordenador ocultándome lo que tengo por
> debajo (por ejemplo, PulseAudio). El problema es que esa librería solo
> funciona en Linux y en Macintosh (instalando cosas a mano). Necesitaría
> también algo que funcionase en Windows, por ejemplo.
>
> ¿Alguna sugerencia?. ¿Algo que funcione en Linux modernos, Mac (a poder
> ser instalando lo mínimo posible) y Windows?.
Esto salió en la lista de usuario de scipy en el contexto de usar numpy para
sonido. Corto y pego a continuación:
On Tue, Mar 31, 2015 at 6:02 PM, Todd <toddrjen en gmail.com> wrote:
On Tue, Mar 24, 2015 at 9:39 PM, Todd <toddrjen en gmail.com> wrote:
Is anyone aware of a well-maintained, simple, cross-platform python package
that can play a numpy array as sound over speakers?
I am aware of https://wiki.python.org/moin/Audio/. However, in all the cases
there, as far as I can find they either do not support numpy arrays, are not
cross-platform, cannot playback sound at all, or are unmaintained. There is
also PySoundCard, which would do what I need but also appears to be
unmaintained (no release in over a year, and no commits in 5 months, no
release with serious bugfixes mentioned in commits).
So in terms of raw waveform playback (as opposed to music note playback), I
have done some more searching and I think I have found something that works.
It is the "audio.io" package (https://pypi.python.org/pypi/audio.io/). It has
a recent release (late 2014), supports numpy arrays, and is cross-platform
through PyAudio. It is just a VERY thin wrapper around PyAudio (less than 100
lines). However, there is no website, no issue tracker, essentially no
documentation, and has several projects copied into its tarball (including
setputools, about, and sh).
Here are the reasonably maintained, reasonably relevant alternatives I have
been able to find:
PyAudio: maintained, cross-platform, doesn't support numpy. It seems to be
used as a backend by a lot of other projects.
audiolazy: cross-platform, supports numpy, has not seen a release since 2013
but its github repo is still seeing commits so it may have more releases in
the future. Uses PyAudio. Provides a lot of other powerful audio-handling
and audio-processing capabilities.
PySoundCard: cross-platform, supports numpy, has not seen a release in over a
year and its github repo has not seen a commit in 5 months, but another
related project (PySoundFile) has seen commits and releases recently. The
only option amongst these that does NOT rely on PyAudio.
pydub: maintained, cross-platform, doesn't appear to support numpy but the
audio output is undocumented so I can't be sure. Uses PyAudio or ffmpeg if
PyAudio is not available.
Just an update on cross-platform, numpy-compatible sound I/O packages:
I have found some other possibilities:
The "JACK-Client" package (https://pypi.python.org/pypi/JACK-Client/) is the
furthest along and most established. It has been around for almost a year,
has three contributors, and has seen four releases. However, it has gained
built-in numpy support since my last update, which is why it hasn't appeared
previously. The maintainer seems to be a member of an established auditory
research group with a good open-source software track record. It seems to be
a traditionally MATLAB group but they are adding more and more python
packages.
The "sounddevice" package (https://pypi.python.org/pypi/sounddevice/). It
only has only been around for a few months and only has one contributor so
far. However, the maintainer is the same as the maintainer of the "JACK-
Client" package, it has a github repo with continued commits, a couple other
people submitting issues. Since "JACK-Client" seems to have done okay, I hope
this package will as well.
The "hear" package (https://pypi.python.org/pypi/Hear/) is in a similar
situation, although with a different maintainer. It has been around about the
same amount of time, has about the same number of releases, and only has one
contributor. The maintainer seems to have a good track record with open-
source software and experience with sound processing, so it has some promise
too.
Otherwise, there has been no change. None of the other packages I listed that
support numpy have seen a release in the last year.
_______________________________________________
SciPy-User mailing list
SciPy-User en scipy.org
https://mail.scipy.org/mailman/listinfo/scipy-user
Más información sobre la lista de distribución Python-es