경고음이 나는 캐릭터로 어떻게 변환하나요?

경고음이 나는 캐릭터로 어떻게 변환하나요?

나는 Linux를 처음 접했고 최근에 나의 첫 번째(매우 간단한) 프로젝트인 모스 부호 생성기 작업을 시작했습니다. 번역을 완료했으며 이제 다음 단계를 진행하고 싶습니다.

문자 "."를 바꾸는 가장 좋은 방법은 무엇입니까? 삐 소리와 "-" 소리, 그리고 약간 긴 삐 소리? 나는 실제로 들을 수 있는 모스 부호를 생성할 수 있기를 원했습니다.

고급 사용자는 어떤 방법으로 이를 수행합니까? 아이디어가 있으시면 최대한 쉽게 설명해주세요.

노트:내 코드는 Pastebin에 있습니다.http://pastebin.com/K5Ap3p4S.

echo
echo "What would you like to translate today?"
read transmission
clear
echo $transmission | sed 's/.\{1\}/& /g' | sed 's/a/.-/g;
s/b/-.../g;
s/c/-.-./g;

답변1

마지막으로, 귀하의 질문에 정확하게 답변해드릴 수는 없지만 도움을 드릴 예정입니다.

소리를 생성하려면 프로그램이 필요합니다.주문하다beep도움이 될 수도 있습니다.

모든 세부 사항을 작성해 볼 수 있습니다.이 사람도 해봤으니까경고음을 사용하십시오. 2초 동안 1000Hz 톤을 스피커에 보내는 것과 같습니다(디버깅하면 수행 중인 작업이 정확히 표시됩니다).

beep --debug -f 1000 -l 2000

그러나 경고음은 경고음을 생성하는 데 컴퓨터 스피커만 사용합니다.
그리고 컴퓨터에 스피커가 설치되어 있지 않을 수도 있습니다.

그러나 Linux에서 사운드를 생성하는 것은 실제로 쉽습니다./dev/audio

$ echo "test" > /dev/audio

물론, "테스트"는 매우 열악한 음파이며 단순한 "충돌"처럼 들립니다.

실제로 유용한 톤을 생성하려면 사인파의 모든 값을 파일에 생성한 다음 해당 파일을 /dev/audio.and 로 보내야 합니다.다음은 아이디어의 대략적인 예입니다..


사실 이 모든 것은 이미모스 부호용으로 설계된 명령: ㄷㄷ
Debian 파생 제품에서는 다음 명령을 사용하여 설치합니다 apt-get cw.

그런 다음 다음을 실행하십시오.

echo "test" | cw

cw모든 작업이 귀하를 위해 완료되었기 때문에 "나는 귀하의 질문에 완전히 대답하지 않을 것입니다"라는 이유입니다 . 문자를 대시와 점으로 변환하고 각 문자에 대한 음파를 생성하여 사운드 카드로 보냅니다.

실제로 Linux가 아마추어 라디오 애호가에게 제공하는 도움의 양은 엄청납니다.

https://radio.linux.org.au/?sectpat=morse

그건오직모스 부호용.

답변2

당신은 그들을 대체 할 수 있습니다벨 캐릭터. "."을 하나의 벨 문자로 바꾸고 "-"를 두 개의 문자로 바꾸면 됩니다. 문자열을 확장해야 하므로 그리 어렵지는 않습니다. 예를 들어 문자열을 문자별로 복사하여 두 개의 벨 문자를 제자리에 배치할 수 있습니다.

그러나 벨소리 문자는 때때로 "작동하지 않습니다"(들을 수 없음). 보다 강력한 솔루션을 위해 다음 mpg123과 같은 외부 명령을 사용하여 사운드를 재생하는 간단한 파서와 같은 것을 작성할 수 있습니다. "."이 나타나면 소리를 재생합니다. 또는 "-"를 선택하고 명령을 기다립니다("소리 없음" 트랙도 재생됩니다! :)).

의사코드는 다음과 같습니다:

For every character in string:
   If character is '.':
     play "shortBeep"
   else if character is '-'
     play "shortBeep"
     play "shortBeep" # or play "longBeep"
   else
     play "noBeep" # or wait

답변3

주어진 텍스트를 모스 부호로 변환할 수 있었으며 이제 해당 모스 부호를 오디오 경고음으로 변환하려고 합니다.

두 사운드에 대해 두 개의 파일(짧은 경고음이 있는 점의 경우 DOT.wav, 긴 경고음이 있는 대시의 경우 DASH.wav)을 다운로드(또는 생성)한 다음 루프 내의 신호를 사용 speaker-test하거나 sox반복하여 현재 사운드 신호와 일치하는 항목을 생성합니다.

다양한 명령줄 옵션을 사용하면 이 두 파일이 필요하지 않을 수도 있으며 지정된 주파수와 지속 시간의 사운드를 생성할 수 있습니다.

인용하다:
http://manpages.ubuntu.com/manpages/trusty/man1/speaker-test.1.html
http://sox.sourceforge.net/

스피커 테스트 또는 sox 대안에 대한 설치를 확인하면 재생, 경고음, siggen,tonegen 등과 같은 도구를 찾을 수 있습니다. 확인하다https://en.wikipedia.org/wiki/List_of_Linux_audio_software더 알아보기.

관련 정보