LINUX.ORG.RU

Говорилка через спикер.

 


2

2

Есть ли что-то лайтовое под топик?

Помнится, под ДОС было много подобных, а вот под топик не встречал. Нужно для озвучивания системных статусов и ошибок именно через спикер. Ну и маленькое, а не современный мегамонстр.

Что значит говорилка? Способов вывести что-то в pc speaker в линуксе три:

1) с помощью вывода \a в терминал (вроде за это отвечает модуль pcspkr но я не уверен)

2) можно выгрузить pcspkr и загрузить (modprobe) snd_pcsp - тогда спикер появится как «звуковая карта» в алсе и туда можно будет проигрывать любые звуки обычными средствами

3) с помощью iopl() или ioperm() разрешаешь себе доступ к 0x61 порту (нужен рут) и переключаешь в нём два нужным бита напрямую

firkax ★★★★★
()
Ответ на: комментарий от ABW

С чего бы это? В названиях модулей слова разделяются подчёркиванием всегда, дефисов там нет. Хотя файл и правда с дефисом, но во всех списках там подчёркивание показывается.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от ABW

Дефис и подчёркивание в именах модулей одинаково обрабатываются. Правила хорошего тона рекомендуют использовать подчёркивание. Но с этим не все согласны, поэтому...

Jameson ★★★★★
()
Ответ на: комментарий от firkax

Меня интересуют не методы вывода, а готовая софтина-синтезатор. Нужно что-то легковесное и самостоятельное (земноводные не канают), чему можно скормить строчку из файла (текстового, или лога) и оно эту самую строчку произнесёт через спикер. Никакого супер-пупер качества не требуется, нужно только чтоб было понятно наличие траблемы в шуме многоярусной стойки (все ли машины успешно загрузились, например).

Про удалённый мониторинг и моргание светодиодами разговор сейчас не идёт. Это отдельные пункты. Нужно, чтоб человек, врубив стойку и занявшись какими-то своими делами, был уверен в успехе запуска всех машин. По ДОС такое было в изобилии, а вот есть ли готовое решение под линукс?

Bearded_Dantes
() автор топика
Ответ на: комментарий от Bearded_Dantes

По ДОС такое было в изобилии,

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

firkax ★★★★★
()
Ответ на: комментарий от peregrine

Неужели на серверные материнки перестали в комплекте пьезо-спикер на коротких проводках давать?

А так думаю вполне можно в стойках сервера производства конца 2000-х найти во многих местах.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Я ещё в 2014 году бегал искал пищалку, когда у нас тестовый сервак умер, чтобы понять что там случилось.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Все материнки со спикером до сих пор делают. В некоторых запаян, в других надо самостоятельно подвешивать.

У меня дома через спикер сообщения напискивает, хоть машинки и не старенькие совсем. Очень удобно, ибо на основной машине звук идёт через микшер (надо вкл его, потом акустику; да и не надо мне ничего лишнего в акустику, ибо со звуком работаю), а на второй и вовсе ничего нет, тк она станочная + файлопомойка. А скрипер — он всегда скрипер.

Bearded_Dantes
() автор топика
Ответ на: комментарий от firkax

Во многих корпусах до сих пор стоят полноценные динамики на передней панели. Очень полезные они.

Bearded_Dantes
() автор топика
Ответ на: комментарий от firkax

В сети пока нарыл только пару экзешников под ДОС. На своём древнем харде нарыл бэкап ещё тех времён, но там тоже только экзешник.

Буду искать дальше.

Вааще, странно всё это. Такие, вроде, полезнючие тулзы, некогда были очень популярны, а теперь наглухо забыты. Я вот даже на домашнюю машинку захотел поставить, чтоб мерзким песочным голоском на меня материлась. ;-)))

Bearded_Dantes
() автор топика
Ответ на: комментарий от Bearded_Dantes

Вааще, странно всё это. Такие, вроде, полезнючие тулзы, некогда были очень популярны, а теперь наглухо забыты.

В линуксе принято везде сувать абстракции, так что «синтезатор через спикер» будет просто синтезатором аудиопотока + способом вывести этот поток на спикер. Это, разумеется, потратит в разы больше процессорных ресурсов чем прямой синтезатор сразу на 0x61 порт, но их сейчас не принято считать. И эта упомянутая комбинация, я уверен, как раз легко скриптом каким-нить делается (ищешь просто синтезатор, любой на выбор + настраиваешь alsa на вывод через спикер).

firkax ★★★★★
()
Ответ на: комментарий от krasnh

Думаю, «спикер» это разговорное от «динамики/колонки»

Вот и выросло поколение. «Спикер» - это «хрюкер». Он же «пищалка».

Хрюкер обычно располагается внутри системника и был распространённым дефолтным аудиодевайсом в те времена, когда звуковые карты были дорогими и люди не могли их себе позволить. В те времена люди сами паяли себе простейшие звуковые карты типа Covox.

saahriktu ★★★★★
()
Ответ на: комментарий от krasnh

Это здесь при чём? Разговор про text-to-speech — мы ему текстовую строку, а он нам чем-то похожим на человеческий голос её озвучивает.

Bearded_Dantes
() автор топика
Ответ на: комментарий от Bearded_Dantes

Ну батенька, у вас и запросы. ) Голосовые движки, что давал выше - не устраивает, pc-speaker по ссылке - тоже (не знаю, что он там воспроизводит, не проверить за отсутствием).

Решите тему, с удовольствием почитаю и закреплю в закладках, может пригодится когда.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 2)
Ответ на: комментарий от saahriktu

спикер основан на таймере. сильно не уверен что он сможет выдать сколько нормальный широкополосной звук на выходе.
covox да, полноценный хоть и восьмибитный цап.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

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

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

Как я уже писал, в былые времена искомое воркало под ДОС ещё на 386 и 486 машинках. И вполне себе справлялось с поставленной задачей. Но под ДОС мне не надо.

Bearded_Dantes
() автор топика
Ответ на: комментарий от Bearded_Dantes

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

по мне так оператору хватит за глаза и набора однотональных сигналов.
к примеру при обнаружении ошибки выдавать сначал длинный сигнал привлечения внимания трех разных частот (наврядли операторы имеют музыкальный слух для точного различения большего набора частот): низкочастотный для нестрашных, средней частоты для средних и высокой частоты для полной ж-пы.
а потом один-четыре писка для уточнения - больше не надо. не осилит разум человека без долгих тренировок бОльшей базы кодовых сигналов.
даже если система будет говорить «ошибка 4537 в блоке 34» все равно надо будет залезть в логи и вникать в ошибку.

считай та же система что использовалась в «звуковых сигналах биос пр загрузке системы»

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

если всё объединено сетью, то можно собирать логи на одной машине с монитором возле раб.места оператора и на нем выводить ошибки с указанием исходной машины с которой пришло.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 2)

тестанул.
подключаешь модуль sudo modprobe pcspkr или комментируешь строчку в /etc/modprobe.d/blacklist.conf для постоянного пользования
ставишь консольную утилиту sudo apt install beep добавляешь пользователю доступ к биперу sudo usermod -aG input %USER% и слушаешь однотональную музыку из под этого пользователя.

 beep -f 196 -l 400 -n -f 262 -l 800 -n -f 196 -l 600 -n -f 220 -l 200 -n -f 247 -l 800 -n -f 165 -l 400 -n -f 165 -l 400 -n -f 220 -l 800 -n -f 196 -l 600 -n -f 175 -l 200 -n -f 196 -l 800 -n -f 131 -l 400 -n -f 131 -l 400 -n -f 147 -l 800 -n -f 147 -l 400 -n -f 165 -l 400 -n -f 175 -l 800 -n -f 175 -l 400 -n -f 196 -l 400 -n -f 220 -l 800 -n -f 247 -l 400 -n -f 262 -l 400 -n -f 294 -l 1200 -n -f 196 -l 400 -n -f 330 -l 800 -n -f 294 -l 600 -n -f 262 -l 200 -n -f 294 -l 800 -n -f 247 -l 400 -n -f 196 -l 400 -n -f 262 -l 800 -n -f 247 -l 600 -n -f 220 -l 200 -n -f 247 -l 800 -n -f 165 -l 400 -n -f 165 -l 400 -n -f 220 -l 800 -n -f 196 -l 400 -n -f 175 -l 400 -n -f 196 -l 800 -n -f 131 -l 400 -n -f 131 -l 400 -n -f 262 -l 800 -n -f 247 -l 400 -n -f 220 -l 400 -n -f 196 -l 1600 -n -f 330 -l 1600 -n -f 294 -l 400 -n -f 262 -l 400 -n -f 247 -l 400 -n -f 262 -l 400 -n -f 294 -l 1200 -n -f 196 -l 400 -n -f 196 -l 1600 -n -f 262 -l 1600 -n -f 247 -l 400 -n -f 220 -l 400 -n -f 196 -l 400 -n -f 220 -l 400 -n -f 247 -l 1200 -n -f 165 -l 400 -n -f 165 -l 1600 -n -f 262 -l 800 -n -f 220 -l 600 -n -f 247 -l 200 -n -f 262 -l 800 -n -f 220 -l 600 -n -f 247 -l 200 -n -f 262 -l 800 -n -f 220 -l 400 -n -f 262 -l 400 -n -f 350 -l 1600 -n -f 350 -l 1600 -n -f 330 -l 400 -n -f 294 -l 400 -n -f 262 -l 400 -n -f 294 -l 400 -n -f 330 -l 1200 -n -f 262 -l 400 -n -f 262 -l 1600 -n -f 294 -l 1600 -n -f 262 -l 400 -n -f 247 -l 400 -n -f 220 -l 400 -n -f 247 -l 400 -n -f 262 -l 1200 -n -f 220 -l 400 -n -f 220 -l 1600 -n -f 262 -l 800 -n -f 247 -l 400 -n -f 220 -l 400 -n -f 196 -l 800 -n -f 131 -l 600 -n -f 131 -l 200 -n -f 196 -l 1600 -n -f 220 -l 800 -n -f 246 -l 800 -n -f 262 -l 3200
pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.