Запись звука с PulseAudio
Каждый PulseAudio «Sink» имеет «Source» именуемый «monitor». Это позволяет присоединится к вашему Sink и делать с ним все что пожелаете, например, записывать звук который идет через PulseAudio в любой момент. Это очень удобно для, к примеру, PubQuiz-style клипов и печен, фильмов, и так далее.
Вот скрипт который позволяет найти и подключиться к Sink, записывать с него, и записывать в WAV:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/bin/bash WAV="$1" if [ -z "$WAV" ]; then echo "Usage: $0 OUTPUT.WAV" >&2 exit 1 fi rm -f "$WAV" # Get sink monitor: MONITOR=$(pactl list | grep -A1 '^\*\*\* Source #' | \ grep '^Name: .*\.monitor$' | cut -d" " -f2 | tail -n1) # Record it raw, and convert to a wav echo "Recording to $WAV ..." echo "Close this window to stop" parec -d "$MONITOR" | sox -t raw -r 44k -sLb 16 -c 2 - "$WAV" |
Тэги: bash, PulseAudio, Sink
Эта запись была оставлена Понедельник, апреля 20, 2009 в 23:39 и относится к категориям: Bash, How To.
Вы можете отслеживать комментарии по RSS 2.0 ленте.
Вы можете оставить комментарий или trackback с Вашего сайта.
GNU/Linux Ubuntu Funs