17 votos

Alternativa a APLAY para Mac OS X bash

¿Alguien conoce alguna alternativa en Mac para el programa APLAY de Linux? Me gustaría ejecutar este script:

echo "main(i){for(i=0;;i++)putchar(((i*(i>>8|i>>9)&46&i>>8))^(i&i>>13|i>>6));}" | gcc -x c - && ./a.out | aplay

Que hace un gran efecto de sonido, pero no sé cómo, ya que Mac OS no tiene aplay .

EDITAR:

Enlace a Wikipedia, que describe la funcionalidad de aplay.

12voto

japh Puntos 41

Aquí está el mismo programa, como un perl one-liner, que funciona (probado) en Mac, Linux y Windows

perl -e 'for($i=0;;$i++){
    print pack("n", ((($i*($i>>8|$i>>9)&46&$i>>8))^($i&$i>>13|$i>>6))); 
}' | ./play -c 1 -b 8 -e unsigned -t raw -r 8k -

el comando "./play" es la utilidad "sox" ya mencionada en este artículo.

9voto

David Watzke Puntos 56

Creo que el calcetines la utilidad se sustituye por un juego.

7voto

Samuel Prevost Puntos 151

Sé que este tema es antiguo, pero he encontrado una solución reciente que funciona. SOX ya no soporta la entrada desde stdout así que ahora una alternativa que funciona es mplayer . Tendrá que instalarlo utilizando Hombrew.sh con brew install mplayer .

A continuación, puede sustituir aplay por: mplayer -cache 1024 -quiet -rawaudio samplesize=1:channels=1:rate=8000 -demuxer rawaudio -

Sólo asegúrese de cambiar rate=8000 con su frecuencia personalizada.

Puede crear un alias en ~/.bashrc para que aplay canalice su chiptune PCM así:

alias aplay="mplayer -cache 1024 -quiet -rawaudio samplesize=1:channels=1:rate=8000 -demuxer rawaudio -"

Espero que esto haya ayudado, probado en MacOS Sierra 10.12.5 hoy.

5voto

scottmarlowe Puntos 2952

aplay necesita ALSA que sólo está disponible en Linux. Podrías probar a enviar ese bytestream a un archivo e intentar jugar con afplay en OS X. (Es probable que tenga que añadir cabeceras AIFF adecuadas para afplay para aceptar el archivo, ya que no reproducirá un volcado PCM en bruto (o como quiera que se interprete el bytestream que sale de ese eco).

2voto

He utilizado mpv. Las opciones son similares a las de mplayer, pero el parámetro --rawaudio ya no es compatible con mpv. Esto es lo que se hace en su lugar:

echo 'c_program' | gcc and crap | mpv --cache=1024 --quiet \
    --demuxer=rawaudio \
    --demuxer-rawaudio-format=u8 \
    --demuxer-rawaudio-channels=1 \
    --demuxer-rawaudio-rate=8000 -

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X