다음 bash를 실행하여 스피커 출력을 mp3 파일로 기록하여 sox
백그라운드에서 서비스로 사용하고 싶습니다(Ubuntu 20.04).
#!/bin/bash
echo "Monitoring sound card for recordings"
name="record"
name=/home/ahmad/recordings/$name
now="$(date +'%m-%d-%H-%M-%S')"
sox -v 5 -t pulseaudio alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -t mp3 "$name"-"$now".mp3 silence 1 0.1 3% 1 3.0 3%
echo "$name-$now was recorded"
터미널에서 파일을 실행하면 다음 메시지가 표시되고 입력 장치를 수신하고 있습니다.
Monitoring sound card for recordings
Monitoring speaker sound v4
Input File : 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor' (pulseaudio)
Channels : 2
Sample Rate : 48000
Precision : 16-bit
Sample Encoding: 16-bit Signed Integer PCM
Level adjust : 5 (linear gain)
In:0.00% 00:01:18.42 [00:00:00.00] Out:0 [ | ] Clip:0
이것은 내 서비스입니다.
[Unit]
Description=Example systemd service.
[Service]
Type=simple
WorkingDirectory=/home/ahmad/recordings
ExecStart=/bin/bash /home/ahmad/recordings/myrec1
User=ahmad
[Install]
WantedBy=multi-user.target
하지만 그는 발표자를 기다리지 않고 나간 것 같습니다. 단지 데이터 덩어리가 보이는데 그것이 무엇인지 모르겠습니다(?)... 이와 같은 bash를 서비스로 실행하는 방법을 안내해 주십시오. 또는 이것이 가능하지 않은 경우 부팅 시 또는 사용자가 로그인한 후에 시작하는 가장 좋은 방법은 무엇입니까?
14:33:58 app bash[10581]: Channels : 2
جولای 24 14:33:58 app bash[10581]: Sample Rate : 48000
جولای 24 14:33:58 app bash[10581]: Precision : 16-bit
جولای 24 14:33:58 app bash[10581]: Sample Encoding: 16-bit Signed Integer PCM
جولای 24 14:33:58 app bash[10581]: Level adjust : 5 (linear gain)
جولای 24 14:34:57 app bash[10581]: [15.1K blob data]
جولای 24 14:34:57 app bash[10581]: Aborted.
جولای 24 14:34:57 app bash[10561]: /home/ahmad/recordings/record-07-24-14-33-58 was recorded
جولای 24 14:34:57 app systemd[1]: myservice.service: Succeeded.