Форум сайта python.su
У меня появилась необходимость написать программу для корректировки громкости исходящего звука (Делаю для того что бы не которые спец эффекты не будили сына. Ну и фильмы пошли эффекты громче и громче. Может это и хорошо в кинозале но не когда этот кинозал комната, а в ней спит маленький ребенок). И так задача контролировать исходящий звук (который уже идет на звуковую карту), а точнее его громкость. Дальше дело техники регулирование громкости под определенные рамки дабы не менять громкость каждый раз когда там что то завопит или выскочит.
Прошу отвечать по сабжу. Конкретно прошу помощь в линуксе, но хотелось бы универсальное решение ибо проблема “кроссплатформенная”:)
PS кто знает подобный софт поделитесь(просто интересно)
Собственно все заранее спасибо
Офлайн
Не понял, нужно решение на питоне? Если да, то from ossaudiodev import openmixer позволяет регулировать громкость.
Офлайн
pasaranaxНет блин на Perl. А написал сюда просто для разнообразия.
Не понял, нужно решение на питоне?
Офлайн
Смутили фразы “Конкретно прошу помощь в линуксе” и “кто знает подобный софт”. Выше я написал конкретный класс для управления микшером.
Офлайн
Ну тут все просто. Я хочу попробовать сделать два решения на винде и линуксе. Но на данный момент могу ограничиться и решением в линуксе. Проблема может решаться с помощью функций плеера(я так думаю).Контроль это хорошо и за наводку спасибо но вопрос как мне узнавать показатель громкости звука который идет на звуковую карту. Может я не понятно объяснил? Вот допустим играет фильм в тотеме и мне необходимо знать сколько децибел звука будет воспроизводиться на колонках именно из этого фильма допустим каждую секунду.
Офлайн
В децибелах ты врядли узнаешь громкость, если тока у тебя не какие-нибудь умные usb-колонки. А вот в процентах легко:
from ossaudiodev import openmixer
mixer = openmixer()
left, right = mixer.get(0)
Офлайн
CryptSpirit
Децибелы можно узнать только снимая микрофоном , а если у тебя усилитель кк там определить…
Офлайн
2 CryptSpirit
Боюсь вы себе выбрали трудную задачу. Тем более, что в этой теме(звукоусиление) imho не очень разбираетесь. Вы ее приведите у решаемому варианту, потому, что в общей форме она почти не решаема.
Выскажу что знаю:
1.
CryptSpiritБелы - это характеристка колонки. Фактически это давление воздуха(т е логарифмическая шкала из обычных паскалей). Без микрофона ее действительно не снять. Можно только эмпирически рассчитать на основании замеров. Берем тестовый микрофон, проводим замеры и выясняем сколько дБ выдает ваша колонка при разных уровнях. Только учтите - характеристика не линейная.
Вот допустим играет фильм в тотеме и мне необходимо знать сколько децибел звука будет воспроизводиться на колонках именно из этого фильма допустим каждую секунду.
pasaranaxТочнее уровень канала Master(точно такое же значение как показывает alsamixer). Но как мы помним это не единственный канал. и например у меня на буке канал Master никак не влияет на канал Headphones. Хотя это скорее исключение чем правило…
в left и right будет громкость с левого и правого динамиков.
Отредактировано (Май 24, 2010 21:42:56)
Офлайн
Да что вы все за мудрили. Надо жить проще мне нужно значение громкости того звука который на звуковуху идет (что из этого не ясно на кой черт мне микрофон). Понял уже что проблема не простая(гуглю параллельно с постом). Наушники это хорошо но разные бывают ситуации тем более что есть еще жена(хоть в наличии имеются двое наушников и два гнезда для них но это как то не то). Просто разное бывает а ходить постоянно в наушниках не выход. “получения звука до Звуковухи” да мне просто необходимо знать его громкость например каждую секунду. Примитив ну все же.
Офлайн
CryptSpirit
Надо жить проще мне нужно значение громкости того звука который на звуковуху идет
CryptSpiritМне это напоминает известный фильм - “…а вот такая же но с перламутровыми пуговицами есть?…” :)
да мне просто необходимо знать его громкость например каждую секунду. Примитив ну все же.
Офлайн