다음의 출력을 캡처/전송하려고 합니다.
arecord -f S16_LE -qd 5 파일&& sox 파일 -n stat
산출:
샘플 읽기: 8000 길이(초): 1.000000 스케일: 2147483647.0 최대 진폭: 0.992188 최소 진폭: -0.992188 중간선 진폭: 0.000000 평균 표준: 0.093221 평균 진폭: -0.015338 RMS 진폭: 0.232947 최대 증분: 0 .6 17188 최소 증분: 0.000000 평균 증가: 0.001067 RMS 증가: 0.009643 대략 주파수: 52 볼륨 조정: 1.008
json으로 변환하려면 데이터를 캡처해야 합니다. 문제는 "SOX"가 표준 출력을 캡처/파이프하는 데 일반적으로 사용하는 방법에 어긋나는 것 같다는 것입니다. 어떤 제안이 있으십니까?
답변1
Sox는 이 출력을 stderr로 보냅니다.
stderr를 리디렉션하려면 다음을 실행해 보세요.
arecord -f S16_LE -qd 5 file && sox file -n stat 2> output.txt
또는 파이프로 보냅니다(예 wc
: ).
arecord -f S16_LE -qd 5 file && sox file -n stat 2>&1 | wc