본문 바로가기

터미널에서 간단한 소리 내기 (feat. macOS)

기술적인 이야기/터미널 및 셸 2025. 7. 8.
반응형

터미널에 돌린 커맨드 중에 소리를 들려줘야 할 경우가 있었다. 간단한 비프(BEEP) 음만 나오면 되는 과제였는데 하다 보니 음성이나 PCM 파일 플레이 등등도 가능했다. 그래서 찾아본 김에 알게 된 몇 가지 커맨드를 기록해 본다.

예제 중 하나의 스크린샷인데 이걸 따라하진 말자

일반적인 방법

POSIX 호환 OS에서의 일반적인 터미널에서 비프음을 내는 방법은 이런 것들이 있다.

tput bel
echo "\x07"
echo -e "\a"

macOS 상에서 iTerm3로 확인해 본 결과 셋 다 동일한 짧고 가벼운 소리가 나는 것 같다. 다만 시스템 설정이나 사용하는 터미널에 따라 소리 자체나 작동 여부가 갈릴 가능성이 있다.

macOS 전용

macOS에서 돌아가는 터미널 한정이라면 추가 방법이 있다. 대표적으로 애플 스크립트를 쓸 수 있다.

osascript -e 'beep'

위 명령을 실행시키니 앞서 소개인 일반적인 방법과 동일한 소리가 들렸다. 다만 애플 스크립트(AppleScript), 정확히는 OSA 스크립트 인터프리터이기 때문에 macOS 전용이라는 점이 다를 듯하다.

그밖에 macOS의 내장 TTS를 활용하는 방법도 있다.

say -v Bells "ding dong"

이전에 터미널에서 타이머를 흉내내기 글에서 소개했던 say 커맨드를 활용한 macOS 내장 TTS를 활용하는 방법으로 -v 옵션으로 목소리를 고를 수 있다. 위는 Bells라는 이름이긴 하지만 구식 로봇 목소리 연출 같은 기계음에 가까운 소리가 난다. 참고로 Bells 음성으로 한글을 플레이시키면 이상한 소리가 나니 조심(?)하자.

기본 음성일 경우는 링크한 글에서 소개한 대로 한글을 입력으로 넘겨서 한국어를 말하게 할 수도 있다.

say "한글도 잘 되요"

간혹 기본 목소리가 작동하지 않는 경우도 있는데 버그 같다. 그 외에 많은 목소리가 제공되긴 하는데 한글을 쓸 수 있는 목소리가 따로 있는지는 잘 모르겠다.

마지막으로 PCM 소리 파일을 직접 플레이하는 방법도 있는데 afplay라는 내장 커맨드를 이용하면 가능하다.

afplay /System/Library/Sounds/Pop.aiff

위는 그저 예제이며 'Pop.aiff'가 플레이하는 파일 이름이니 원하는 소리는 위 디렉터리 안에서 미리보기로 들어보고 파일을 고르면 될 것 같다.

이 외에도 여러 방법이 있을 순 있지만 여기까지가 그나마 간단한 것 같다.


 

터미널에서 타이머를 굴려보자 (macOS 위주)

어떤 목적을 위해 정확한 시간을 잠깐 기다릴 때는 타이머라는 도구를 사용한다. 이 타이머는 이제는 흔해서 필요하다면 주면의 아이폰 같은 스마트폰에서 살짝 찾아봐도 쉽게 기능을 찾을 수

seorenn.tistory.com

728x90
반응형

댓글