arecord -l
-- 출력 --
**** List of CAPTURE Hardware Devices ****
card 2: Audio [AB13X USB Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Card 2 에 Device 0 로 설정되어 있음으로
아래 스크립트의
MICROPHONE_DEVICE="plughw:2,0"
로 설정 해야함
6. 녹음 스크립트 작성
record.sh 파일 생성후 아래 내용 작성
저장 경로 및 시간 설정
#!/bin/bash
# 녹음 파일 저장 경로 (원하는 경로로 변경하세요)
OUTPUT_DIR="/mnt/synology/home/mic/rec01"
# 녹음 시간 (초) - 1시간 = 3600초
RECORD_DURATION="3600"
# --- 설정 ---
# 마이크 장치 설정: 'arecord -l' 명령어로 확인 후 정확한 장치 번호를 입력하세요.
# 예시: card 1: Device [USB Audio Device] -> plughw:1,0
MICROPHONE_DEVICE="plughw:2,0"
# 샘플링 레이트 (Hz)
SAMPLE_RATE="44100"
# 오디오 포맷 (S16_LE: 16비트 Signed Little Endian)
AUDIO_FORMAT="S16_LE"
# 채널 수 (1: 모노, 2: 스테레오)
CHANNELS="1" # 대부분의 마이크는 모노이므로 1로 설정합니다.
# 출력 디렉토리가 없으면 생성
if [ ! -d "$OUTPUT_DIR" ]; then
mkdir -p "$OUTPUT_DIR"
echo "녹음 파일 저장 디렉토리 '$OUTPUT_DIR'를 생성했습니다."
fi
echo "라즈베리 파이 음성 녹음을 시작합니다."
echo "스크립트를 중지하려면 Ctrl+C를 누르세요."
while true; do
# 현재 날짜와 시간을 기반으로 파일 이름 생성 (예: 2025-07-28_14-30-00.wav)
FILENAME=$(date +"%Y-%m-%d_%H-%M-%S").wav
FULL_PATH="$OUTPUT_DIR/$FILENAME"
echo "----------------------------------------------------"
echo "새로운 녹음 시작: $FULL_PATH (녹음 시간: $RECORD_DURATION 초 )"
echo "----------------------------------------------------"
# arecord 명령어로 녹음 시작
# -D: 장치 지정
# -f: 포맷 지정
# -r: 샘플링 레이트 지정
# -c: 채널 수 지정
# -d: 녹음 지속 시간 (초)
arecord -D "$MICROPHONE_DEVICE" -f "$AUDIO_FORMAT" -r "$SAMPLE_RATE" -c "$CHANNELS" -d "$RECORD_DURATION" "$FULL_PATH"
# arecord 명령이 성공했는지 확인
if [ $? -eq 0 ]; then
echo "녹음 완료: $FULL_PATH"
else
echo "오류 발생 또는 녹음이 중단되었습니다. ($FULL_PATH)"
# 오류 발생 시 잠시 기다린 후 다시 시도하거나, 로그를 남기는 등의 추가 처리를 할 수 있습니다.
sleep 5
fi
# 다음 녹음 시작 전 잠시 대기 (선택 사항, 필요에 따라 조절)
# sleep 1 # 1초 대기 후 다음 녹음 시작
done
7. 녹음 테스트
chmod +x record.sh
./record.sh
-- 출력 --
녹음 파일 저장 디렉토리 '/mnt/synology/home/mic/rec02'를 생성했습니다.
라즈베리 파이 음성 녹음을 시작합니다.
스크립트를 중지하려면 Ctrl+C를 누르세요.
----------------------------------------------------
새로운 녹음 시작: /mnt/synology/home/mic/rec02/2025-07-28_17-51-56.wav (녹음 시간: 60 초 )
----------------------------------------------------
Recording WAVE '/mnt/synology/home/mic/rec02/2025-07-28_17-51-56.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono