Kennt jemand eine Mac-Alternative für das APLAY-Programm von Linux? Ich möchte dieses Skript ausführen:
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
Das macht einen großartigen Soundeffekt, aber ich weiß nicht wie, da Mac OS kein Play hat .
BEARBEITEN:
Link zu Wikipedia, der die Funktionalität von aplay beschreibt.
Antworten:
Ich glaube, das Sox- Dienstprogramm steht für aplay.
quelle
Hier ist das gleiche Programm wie ein Perl-Einzeiler, das unter Mac, Linux und Windows funktioniert (getestet)
Der Befehl "./play" ist das in diesem Artikel bereits erwähnte Dienstprogramm "sox".
quelle
play -c 1 -b 8 -e unsigned -t raw -r 8k -
Ich weiß, dass dieses Thema alt ist, aber ich habe eine aktuelle funktionierende Lösung gefunden. SOX unterstützt keine Eingaben von stdout mehr, daher ist jetzt eine funktionierende Alternative
mplayer
. Sie müssen es mit Hombrew.sh mit installierenbrew install mplayer
.Sie können dann ersetzen
aplay
durch:mplayer -cache 1024 -quiet -rawaudio samplesize=1:channels=1:rate=8000 -demuxer rawaudio -
Stellen Sie einfach sicher, dass Sie
rate=8000
mit Ihrer benutzerdefinierten Frequenz ändern .Sie können einen Alias
~/.bashrc
für aplay erstellen, um Ihren PCM-Chiptune wie folgt einzuschalten:alias aplay="mplayer -cache 1024 -quiet -rawaudio samplesize=1:channels=1:rate=8000 -demuxer rawaudio -"
Hoffe das hat geholfen, heute auf macOs Sierra 10.12.5 getestet.
quelle
aplay
benötigt ALSA, das nur unter Linux verfügbar ist. Sie können versuchen, diesen Bytestream in eine Datei auszugeben und unterafplay
OS X zu spielen. (Sie müssen wahrscheinlich die richtigen AIFF-Header hinzufügenafplay
, um die Datei zu akzeptieren, da kein roher PCM-Dump abgespielt wird (oder jedoch der Bytestream, aus dem er stammt) dieses Echo sollte interpretiert werden).)quelle
Ich habe mpv verwendet. Die Optionen ähneln denen von mplayer, aber der Schalter --rawaudio wird in mpv nicht mehr unterstützt. Dies ist, was Sie stattdessen tun:
quelle
Installieren Sie Sox von Homebrew und verwenden Sie es
play -c1 -b8 -eunsigned -traw -r8k -
stattdessen anstelle vonauplay
.quelle