Agregar efectos de sonido de película al Terminal

9

Quiero tener efectos de sonido de estilo de película en el terminal. Ya sabes, cuando cada pulsación de tecla y línea emite un pequeño pitido genial. (Algo así). He usado KeyClick , pero eso es solo para teclear. También quiero efectos cuando los caracteres se leen en la pantalla, etc.

Sé que esto es superfluo como el infierno. Y probablemente me molestaré dentro de cinco minutos. Pero serán unos gloriosos cinco minutos.

    
pregunta chrismanderson 15.09.2011 - 17:04

2 respuestas

7

Pregunta divertida :)

No estoy seguro de cómo obtendrías efectos de sonido para todo, pero podrías hacer algo como esto para obtener efectos de sonido para algunas cosas:

1) Abra su archivo .profile (o .bashrc o donde desee guardar sus personalizaciones) abriendo una ventana de terminal y escribiendo:

open .profile

2) Agregue las siguientes líneas al final del archivo:

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) Intente escribir 'ls' para una lista de directorios o 'top' para ver la lista de procesos en ejecución & Podrás escuchar los resultados de estos comandos.

Al agregar estas dos líneas, estamos declarando dos nuevas funciones con los mismos nombres que los comandos de bash existentes. Anulamos el comando en sí mismo para que podamos reproducir un poco de audio y luego ejecutar el comando en sí (o viceversa, como se muestra en el ejemplo 'top').

Los archivos de audio que estoy usando actualmente son archivos de audio predeterminados (al menos en Lion) que se usan para funciones de accesibilidad. Los elegí para que pudieras cortar y pegar, y ver el truco en acción, pero podrías usar cualquier archivo de audio en lugar de estos.

Aquí hay un sitio con un montón de efectos de sonido de ciencia ficción que puedes usar en lugar de estos que tomo prestados del SO:

enlace

    
respondido por el Samuel Mikel Bowles 18.09.2011 - 03:50
0

No estoy seguro del bit de pulsación de tecla ... pero podría imprimir la salida de un comando de terminal como en las películas, es decir, cada línea se imprime carácter por carácter y emite un pequeño pitido para cada una. Se ve bien inicialmente y luego se vuelve realmente molesto. Sería divertido tener un terminal al que puedas encender y apagar. Obviamente, bastante limitado, pero podría ser un proyecto divertido para desarrollar.

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!")
    
respondido por el rookie 07.01.2018 - 18:09

Lea otras preguntas en las etiquetas