터미널에 영화 스타일의 사운드 효과 추가


9

터미널에서 영화 스타일의 음향 효과를 원합니다. 모든 키 스트로크와 라인이 시원하고 작은 경고음을 내 보냅니다. (이와 같은 일) KeyClick을 사용 했지만 키보드 입력에만 해당됩니다. 또한 화면 등에서 문자를 읽을 때 효과를 원합니다.

나는 이것이 지옥과 같은 슈퍼 플로우 스라는 것을 알고 있습니다. 그리고 아마 5 분 안에 화가 날 것입니다. 그러나 영광스러운 5 분이 될 것입니다.


4
나는 당신에게 답이 없지만, 당신의 질문은 나를 웃게합니다. 감사!
Chris 페이지

3
이것은 오디오 효과는 아니지만 Cathode 터미널 에뮬레이터의 놀라운 시각 효과가 재미 있을 수 있습니다 . secretgeometry.com/apps/cathode 아마도 오디오 효과를 추가하도록 제안 할 수 있습니다. 잘 맞을 것입니다.
Chris Page

PROMPT_COMMAND예를 들어 PROMPT_COMMAND="say 'something silly'"( say일부 샘플의 명령 행 오디오 재생으로 대체) bash를 사용하여 모든 라인에서 사운드를 재생할 수 있습니다 .
Ingmar Hupp

내가 전에 음극을 본 적이 없다 믿을 수 없어. 정말 훌륭하지만 '쓸모없는'앱입니다! :)
chrismanderson

답변:


10

재미있는 질문 :)

나는 당신이 모든 것에 대해 음향 효과를 얻는 방법을 모르겠지만 몇 가지에 대한 음향 효과를 얻기 위해 이와 같은 것을 할 수 있습니다.

1) 터미널 창을 열고 다음을 입력하여 .profile (또는 .bashrc 또는 사용자 정의를 유지하려는 곳)을 엽니 다.

open .profile

2) 파일 맨 아래에 다음 몇 줄을 추가하십시오.

function top() { afplay /System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/accessibility/Sticky\ Keys\ ON.aif; command top;}
function ls() { command ls; afplay /System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/accessibility/Slow\ Keys\,\ Key\ Registered.aif; }

3) 디렉토리 목록에 'ls'를 입력하거나 실행중인 프로세스 목록을 보려면 'top'을 입력하면 이러한 명령의 결과를들을 수 있습니다.

이 두 줄을 추가하여 기존 bash 명령과 이름이 같은 두 개의 새로운 함수를 선언합니다. 우리는 약간의 오디오를 재생할 수 있도록 명령 자체를 재정의 한 다음 명령 자체를 실행합니다 (또는 '맨 위'예와 같이 그 반대).

현재 사용중인 오디오 파일은 내게 필요한 옵션 기능에 사용되는 기본 오디오 파일 (적어도 Lion에서는)입니다. 잘라서 붙여 넣기를하고 트릭을 실제로 볼 수 있도록 이들을 선택했지만 대신 오디오 파일을 사용할 수 있습니다.

다음은 OS에서 빌린이 대신 사용할 수있는 많은 공상 과학 사운드 효과가있는 사이트입니다.

http://fxhome.com/sounds/


1
Snow Leopard에서 경로는 /System/Library/Components/CoreAudio.component/Contents/Resources/SystemSounds/accessibility/입니다. 그건 그렇고 좋은 발견; 그것들은 사용하기 좋은 소리입니다. Mouse Keys ON.aif텍스트를 화면에 인쇄 하는 소리가 마음에 듭니다 .
styfle

정보에 감사드립니다-캐릭터가 화면에 그려 질 때 소리가 크게 확장되지는 않지만 .profile을 수정하는 대신 완전히 다른 터미널 환경이 필요한 것처럼 보입니다.
chrismanderson

0

키 스트로크 비트는 확실하지 않지만 ... 영화에서와 같이 터미널 명령의 출력을 인쇄하도록 할 수 있습니다. 즉, 각 줄은 문자별로 인쇄되고 각 줄마다 약간의 경고음이 울립니다. 처음에는 시원해 보이고 정말 짜증납니다. 이 스위치를 켜고 끌 수있는 터미널이 있으면 재미있을 것입니다. 분명히 꽤 제한적이지만 개발하기에 재미있는 프로젝트가 될 수 있습니다.

from subprocess import PIPE, Popen
import os

from time import *
import sys
from playsound import playsound

def print_immediately(string):
    sys.stdout.write(string)
    sys.stdout.flush()

def backspace():
    print('\r', end='')

def printline(x, silent=False):
    n = len(x)
    for i in range(n):
        print_immediately(x[:(i+1)])
        if not silent:
            beep()
        sleep(0.01)
        backspace()
    sys.stdout.write('\n')
    sys.stdout.flush()

def printlines(x, silent=False):
    result = str(x.decode("utf-8"))
    lines = str.split(result, "\n")
    for line in lines:
        printline(line, silent=False)

def beep():
    playsound('/Users/Blah/Projects/console/beep.wav', block=False)

def cmdline(command):
    process = Popen(
        args=command,
        stdout=PIPE,
        shell=True
    )
    return process.communicate()[0]

while True:
    command = input("user: ")
    if(command == 'exit'):
        break
    else:
        try:
            if command.find("cd ") != -1:
                dir = command.replace("cd ", "")
                os.chdir(os.path.expanduser(dir))
                print(dir)
            else:
                printlines(cmdline(command))
        except:
           print("Error!")
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.