Как сделать звуковой сигнал в Mac OS X 10.6

Я просто хочу, чтобы в Mac OS X 10.6 звуковой сигнал устройства звучал как в открытом доступе и других дистрибутивах. Я пробовал следующие подходы

Terminal → beep = - bash: beep: команда не найдена

Терминал → звуковой сигнал = голос выдает звуковой сигнал (не аппаратный сигнал, но удивительный;))

applescript → beep = Колокол Macintosh (я хочу, чтобы звуковой сигнал устройства!)

Кто-нибудь знает, как сделать аппаратный сигнал в bin/ bash или applescript?

Ответ 1

В macOS нет "аппаратного сигнала".

Функциональность, о которой вы думаете, является артефактом очень старого (до 1990-х годов) IBM PC-совместимого оборудования. До того, как на большинстве компьютеров были звуковые карты, на большинстве машин был небольшой динамик или пьезо-зуммер, подключенный к одному из каналов таймера. Это можно использовать для создания простых тонов или звуковых сигналов. Даже после того, как многие компьютеры интегрировали звуковые карты, для компьютеров на некоторое время оставалось обычным явлением распространять этот вывод на отдельный внутренний динамик. Совсем недавно многие компьютеры, особенно ноутбуки, интегрировали эту функциональность в встроенную звуковую карту.

(Если вам интересно узнать технические подробности о том, как работает интерфейс динамиков ПК, здесь более подробная информация.)

Это оборудование никогда не существовало на компьютерах Apple. Единственный доступный аудио выход - через звуковую карту, и единственный системный звуковой сигнал в macOS - это звуковой сигнал пользователя.

Ответ 2

tput bel работает в большинстве оболочек.

В OS X эта (и любая другая команда, из-за которой звонок выключается) также получает значок, если команда выполняется, когда терминал не был на переднем плане:

Ответ 3

Печать \a не всегда работала для меня (MBA, 10.7.4). Вместо этого я использую это:

say "beep"

Ответ 4

Действительно, следующее является эффективным и несколько мелодичным:

say -v Bells "dong dong dong"

[Обновить] К сожалению, Bells больше не входит в последнюю версию OSX. Попробуйте:

say -v Victoria Do your homework!

Для изучения голосов используйте следующее:

say -v \?

Ответ 5

напишите echo ^G в bash. для создания ^G нажмите ctrl+v, а затем ctrl+g.

Ответ 6

Это будет охватывать все голоса (работает над Yosemite):

say -v '?' | awk '{print $1}' | while read voice; do printf "using $voice...\n"; say -v $voice "hello, this is me using the $voice voice"; sleep 1; done

Ответ 7

В типе терминала:

echo -e "\a"

Параметр -e указывает echo обрабатывать экранированные символы. Поскольку \n - новый символ линии, \a - это колокольчик (так же, как Ctrl + G).

Ответ 8

В терминалах OS X выполните команду: osascript -e 'beep'

Использование технологии OSA (Open Script Architecture), чтобы сообщить AppleScript выполнить команду beep.

Ответ 9

printf "\a"

Если вы посмотрите на man printf, вы получите список экранированных символов, включая \a:

\a      Write a <bell> character.

Ответ 10

printf "\a" также работает в терминале и будет воспроизводить установленный звук предупреждения.

Ответ 11

Если вам что-то нужно, это звучит как "важно"

вы можете использовать

tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s

:)

Ответ 12

на MacOS X, для получения звука необходимо активировать опцию "Звуковое предупреждение" (Terminal/Preferences).

Ответ 13

Если у вас установлен XCODE, вы можете сделать звуковой сигнал/звонок. Я не понял, что могу заставить символ printf "\a" работать в C.

Там один способ заставить тон работать по мере запуска программы, запустить XCODE, выпадающее меню под XCODE, настройки, поведения, проверить первое окно PLAY SOUND, выбрать из списка или добавить звук.

Этот способ сделать это, но только по мере запуска программы, я считаю.

Ответ 14

osascript -e 'сообщить программе "Системные события", чтобы подавать звуковой сигнал

Ответ 15

echo\07, echo\x7, printf\7, echo\a, tput bel, все работают.