Odtwarzaj dźwięk na terminalu Mac

54

Mam skrypt działający w tle i co kilka minut wysyła mi alert. Chcę, aby alert był w formie sygnału dźwiękowego.

Pytanie: Jak mogę odtworzyć dźwięk w terminalu Mac?

rk.
źródło

Odpowiedzi:

93

printf \\ai osascript -e beepodtwarzają domyślny dźwięk alertu, ale milczą, jeśli głośność alertu jest ustawiona na zero. printf \\ajest również cichy, jeśli dzwonek dźwiękowy jest wyłączony.

Możesz także użyć gry afplay lub powiedzieć:

afplay /System/Library/Sounds/Funk.aiff
say done

Więcej plików efektów dźwiękowych znajduje się w /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/.

Lri
źródło
Do tej pory używałem powiedzieć, gra się udała. Dzięki!
rk.
1
Słodkie! Możesz użyć say -v ?(przynajmniej w Yosemite), aby zainstalować listę głosów - miałem ich kilka! Oto mały skrypt do powiedzenia, co chcesz w każdym dostępnym głosie:for i in $(say -v \? | awk '{print $1;}'); do echo $i; say -v $i "Build terminated\!"; done
scorpiodawg
13

Najprostszym sposobem jest użycie dzwonka echo -e "\a"

poważny
źródło
1
Nie działało dla mnie. Czy potrzebuję paczki?
rk.
W jakiej wersji OS X używasz? Sprawdź także ustawienia emulatora terminala i upewnij się, że dzwonek nie jest wyłączony.
skromny
Ach! Dźwięki terminala nie zostały włączone. Czy jest też przyzwoity dzwonek / alarm w porównaniu z tępym dźwiękiem wydawanym przez to polecenie?
rk.
Sam używam iTerm2, który używa warczenia (więc dzwony idą do warczenia), poprzez warczenie dodaję kolejny dźwięk do alertów iTerm2. Tak, w pewnym sensie.
skromny
Ohk, użyję tego ustawienia w ostateczności;)
rk.
3

Innym sposobem jest echo ^G. Ale nie piszesz dosłownie ^G. Zamiast tego wpisz ctrl+v, ctrl+g, który pojawi się jako echo ^G.

wisbucky
źródło
@tmanok Na komputerze Mac? ctrl+Gsam w sobie nic nie robi na komputerze Mac.
wisbucky
O? To działa na Sierra i Yosemite dla mnie .... Dziwne
Tmanok
Ale to nie działa na mojej maszynie 10.6 - może niektóre z moich narzędzi CLI lub Homebrew to psują. Wycofam mój komentarz, przepraszam.
Tmanok