для страницы - setInterval + смену класса у слоя с невидимого на видимый.
для сайта в целом - тоже самое, только стартовое значение берёте из переменной сессии
Ответ прост:
Если бэк-энд'щик работает с визуальной HTML-разметкой (формы, представления (layout), шаблоны) - должен однозначно уметь.
Если нет (например, пишет REST/JSON API для SPA) - то нет, достаточно возвращать данные в нужном формате.
Согласен, через greasemonkey - оптимальнее всего.
Ну берёте js-либу которая играет звук и по окончанию загрузки DocumentReady - парсите весь DOM: document.innerHTML (вроде так..)
Всё, что между тэгов <? ?> - исполняется на сервере.
Остальное - на клиенте.
Любая комбинация - допустима.
Можете в JS-скриптах так же использовать тэги PHP, если поставите на него обработчик кода PHP.
Просто:
1. Построить полное дерево зависимостей (и формулу)
2. Создать функцию пересчета значения на основе выбранных параметров, используя п.1
3. Вывод значения в нужное место