Извлекаем звук «ку-ку» из динамика

Статья рассчитана на новичков, которые знакомятся с возможностями Линукса

Заниматься чем-то полезно-серьезным как-то не прет, поэтому давайте немного по-бездельничаем. Я предлагаю поиграться с динамиком, который находится в системном блоке или, если у вас нотик, то в нотике. Давайте заставим его пикать. Для этого дела в Убунте (про другие Линуксы — не знаю, не скажу!) имеется специальная пищалка — beep.

К стати, возможно в вашем системном блоке динамик вообще не установлен. Ну тогда — ой! Тогда читать далее почти бесполезно. Разве что только теоретически себя подковать.

Итак, открываем консоль.

По умолчанию пищалка в в Убунте не установлена, и это будет подтверждено Системой, если вы введете команду:

$ beep

Если система ничего не написала, то вам не надо ничего устанавливать. Иначе давайте проинсталлируем этот пакет.

Хорошей манерой перед установкой пакетов является подновление списков пакетов. Ведь с момента последнего подновления могло пройти много времени, допустим, более недели или месяца. А за это время уже могли появиться новые версии пакетов. Поэтому сначала подновляемся:

$ sudo apt-get update

а затем устонавливааем пакет

$ sudo apt-get install beep

Нетерпеливые товарищи сразу после установки снова нажмут

$ beep

и снова получат ничего.

А все дело в том, что beep — это не просто программка, которая заставляет динамик пищать. Эта программа обращается не напрямую к железу, не сразу лезет в порт, к которому подключен динамик. Она обращается к модулю ядра pcspkr, а модуль этот не установлен. Поэтому давайте сначала установим модуль, и только потом начнем мучить домочадцев.

$ sudo modprobe pcspkr

Вот тут я должен сделать небольшое отступление от темы. Указанной выше командой мы подключили модуль к ядру. А вот для отключения модуля нужно ввести следующую команду:

$ sudo modprobe -r pcspkr

Зачем я на этом останавливаюсь? Дело в том, что в некоторых ноутбуках и некоторых версиях Убунты, этот модуль, наоборот, — уже подключен к ядру. И при выключении нотика из динамика раздается раздражающее оглушительное пиликание. Особенно это противно, когда домочадцы уже легли в постель, начали погружаться в сон, и ты, самый последний, вырубаешь свой ноут.

Так вот, чтобы раз и навсегда отключить модуль динамика, нужно в файл /etc/modprobe.d/blacklist добавить строку

blacklist pcspkr

Итак, продолжаем. После того как мы установили программу beep и подключили модуль pcspkr, мы наконец-то можем заняться тренировкой своих ушей и нервов родственников.

Долгожданная команда

$ beep

издаст из динамика ничем непримечательный звук частотой 440 Гц. Нота «ля». Не интересно. Давайте зададим тональность — 800 Гц.

$ beep -f 800

Получилось? Отлично! Самостоятельно поиграйтесь с тональностью, и быстро продолжаем дальше.

Теперь давайте изменим длительность звучания. Пусть комп пищит две секунды, или что то же самое — 2000 миллисекунд.

$ beep -f 600 -l 2000

Я предлагаю вам еще пару-тройку раз пропищать разной длительностью и разной частотой. И мы переходим к следующим сразу двум опциям. Одна из них, это количество повторений гудков, а вторя пауза между гудками. Пауза задается так же в миллисекундах. Давайте выдавим из динамика четыре коротких сигнала:

$ beep -f 2000 -l 50 -d 50 -r 4

Ну прямо как принтер, у которого проблемы. Ну а теперь давайте попробуем изобразить кукушку.

Проблема в том, что кукушка должна ку-ку-кнуть разными частотами. Скажем так, первое «ку» будет исполнено частотой 750 Гц, а второе «ку» — 600 Гц. Между первым «ку» и вторым «ку» должна быть короткая пауза. А после произнесения «ку-ку» пауза должна быть чуть-ли не секундная. Само же количество «ку-ку», которое должно соответствовать времени будет определяться не в этой команде, а в другом месте. Точнее — там, откуда будет вызываться эта команда, говорящая одиночное «ку-ку».

На помощь нам приходит опция -n, которая является разделителем между «порциями» сигналов. Кроме того, опция -d, которая задает длительность паузы между гудками, не действует после последнего гудка. Но у нее есть старшая сестра — опция -D, которая то же задает длительность паузы, но, кроме того,определяет паузу после последнего гудка.

Попробуйте вот это:

beep -f 750 -l 200 -D 75 -r 1 -n -f 600 -l 200 -D 650

Поиграйтесь с длительностями и частотами. Возможно ваша кукушка будет более реальная, чем моя.

Я вынужден вас несколько разочаровать. Я слегка приустал и сейчас не могу продолжать писать. Завтра или послезавтра я продолжу свой рассказ про часы с кукушкой. Оставайтесь на связи.

Реклама

3 responses to “Извлекаем звук «ку-ку» из динамика

  1. Вот хорошо известная мелодия (можно попробовать сначала угадать 😀 )

    beep -f 294 -n -f 494 -n -f 440 -n -f 392 -n -l 275 -f 294 -D 400 -n -f 294 -n -f 294 -n -f 494 -n -f 440 -n -f 392 -n -l 275 -f 330 -D 400 -n -f 330 -n -f 330 -n -f 523 -n -f 494 -n -f 440 -n -l 275 -f 349 -D 400 -n -f 587 -n -f 587 -n -f 587 -n -f 523 -n -f 440 -n -l 250 -f 494 -D 400 -n -f 294 -n -f 494 -n -f 440 -n -f 392 -n -l 275 -f 294 -D 400 -n -f 294 -n -f 294 -n -f 494 -n -f 440 -n -f 392 -n -l 275 -f 330 -D 400 -n -f 330 -n -f 523 -n -f 494 -n -f 440 -n -f 587 -n -f 587 -n -f 587 -n -f 587 -n -f 659 -n -f 587 -n -f 523 -n -f 440 -n -l 250 -f 392 -D 170 -n -l 300 -f 587 -D 250 -n -f 494 -n -f 494 -n -f 494 -D 200 -n -f 494 -n -f 494 -n -f 494 -D 200 -n -f 494 -n -f 587 -n -l 250 -f 392 -n -l 150 -f 440 -n -l 300 -f 494 -D 350 -n -f 523 -n -f 523 -n -l 300 -f 523 -n -l 100 -f 523 -n -f 523 -n -f 494 -n -f 494 -n -f 494 -n -f 494 -n -f 440 -n -f 440 -n -f 392 -n -l 250 -f 440 -D 150 -n -l 250 -f 587 -D 200 -n -f 494 -n -f 494 -n -f 494 -D 200 -n -f 494 -n -f 494 -n -f 494 -D 200 -n -f 494 -n -f 587 -n -l 250 -f 392 -n -l 150 -f 440 -n -l 300 -f 494 -D 350 -n -f 523 -n -f 523 -n -l 250 -f 523 -n -l 150 -f 523 -n -f 523 -n -f 494 -n -f 494 -n -f 494 -n -f 587 -n -f 587 -n -f 523 -n -f 440 -n -f 392
    

    Приятного прослушивания! (Чтобы она закончилась, нужно нажать Ctrl+C)

  2. джингл бенс

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s