cat /dev/urandom
가능한 모든 "값"의 무작위 시퀀스를 생성합니다.cat /dev/urandom | padsp tee /dev/audio > /dev/null
이러한 "값"을 오디오 장치로 전달하여 "무작위 노이즈" 또는 "무작위 톤"으로 전환합니다(참조:엔터테인먼트를 위해 /dev/snd/에서 무작위 노이즈 생성)
그런데 어떻게 똑같은 일을 할 수 있습니까? 무작위 소음/톤 대신 하나를 선택합니다.하나의가능한 모든 값 중 값을 선택하고cat
저것오디오 장치에 무기한 전송하시겠습니까(임의의 값 대신 동일한 값의 시퀀스 생성)?
이렇게 하면 일관된 단일 톤이 생성됩니다.
상호 작용
다른 값을 수동으로 시도할 수 있지만 가상의 "인터페이스"를 사용하면 원하는 값을 더 쉽게 선택/클릭할 수 있습니다.
- 빈도(Hz) 예: 440
- 진폭(0 - 1) 예를 들어 0.8
차라리아니요오디오 사용문서, file.wav, file.mp3, file.ogg 등과 같은 bash 스크립트와 기본 cli 애플리케이션(예 cat
: file.mp3 padsp
, file.ogg 등)만 있으면 됩니다.
답변1
sin
수학( 특히)을 수행하고 숫자를 표준 출력에 문자로 쓰는 모든 것을 시도해 볼 수 있습니다 . 예를 들어:
awk --characters-as-bytes 'BEGIN { freq=2200; amp=0.3; for (i=0; i>=0; i++) { printf "%c", 127+ amp*(127.0*sin(2*3.14159265/44100*i*freq)); } }' | padsp tee /dev/audio > /dev/null
설정 방법에 따라 freq
사이렌 소리처럼 들릴 수도 있습니다. 사용 사례에 따라 가지고 놀 수 있는 것일 수도 있습니다.
amp
진폭은 최대 1.0까지 조정할 수 있습니다 .
저는 GNU awk를 사용하고 있으므로 --characters-as-bytes
작동합니다. stdout에 쓸 때 문자가 UTF-8로 인코딩되는 것을 원하지 않습니다!
또한 시스템에 따라 기본 샘플링 속도가 다른 경우 44100을 48000 또는 다른 숫자로 바꿔야 할 수도 있습니다.