Haga que el cursor del terminal bash parpadee al ritmo de Survivor - "ojo del tigre"

61

Estaba escuchando Survivor - "Eye of the Tiger" y escribiendo algo de documentación en Vim y noté que el cursor que no parpadeaba al ritmo comenzó a molestarme. ¿Se puede arreglar esto?

Estoy usando Terminatory bash.

0x7c0
fuente
20
Qué idea tan deliciosamente horrible, +1 :).
terdon
44
Sospecho que lo más difícil es determinar programáticamente cuál es el "ritmo" de la canción.
KA
12
Necesito aclaraciones sobre esta pregunta. @StephenMartin, ¿quieres que los ritmos sean solo el monotónico "duh, duh, duh, duh, duh" implícito en la melodía? ¿O quieres que sea el irregular "DUNT! Duh, duh, DUNT! Duh, duh DUNT! Dun dun duuuuuuuuuh"? ¿O quieres el pizzicato tympani beats como en "tztztztztztztztz"? Además, necesitamos una forma de indicar la intensidad del latido Terminatorcon un brillo de parpadeo variable o algo así si desea los latidos irregulares.
allquixotic
3
Mientras estás en eso, quiero que el color del cursor cambie según las letras cuando toco Jimi Bold As Love.
ott--
2
@allquixotic Lo veo parpadeando cada medio tiempo para la introducción de duna duna duna, pero permaneciendo encendido para los golpes de acordes de poder. Luego, cuando golpea el ritmo principal, golpea en los bpm regulares pero nuevamente se detiene en la posición de encendido para los acordes de potencia.
0x7c0

Respuestas:

26

Mira mi plugin Rhythmbox, rbpitch para cambiar el tono / tempo / velocidad de la canción que se está reproduciendo. Sé que es un truco, y tendrás que calcular manualmente el tempo correcto para configurarlo para que parpadee sincronizado con tu cursor, pero para esta tarea extremadamente importante y práctica, pensé que sería importante darte un solución temporal hasta que alguien descubra cómo trabajar una tubería de gstreamer utilizando el complemento de detección de latidos en bashcualquier terminal virtual que esté utilizando.

Ya sabes, ahora que lo mencionas, hacer esto no sería tan difícil, y probablemente podría codificarlo en aproximadamente un día usando la clase BPMDetect de SoundTouch.

Deja de darme ideas sobre cómo lucir ocupado codificando mientras pierdes tiempo.

allquixotic
fuente
11
Amigo, me alegra que reconozcas la importancia de esta pregunta. Probaré su solución temporal como un problema temporal, pero creo que el cursor debe ajustarse al tempo de la pista. No me importa si solo coincide con esta pista, ya que es la única pista que tengo y la escucho constantemente en un bucle.
0x7c0
9
#!/bin/bash
trap 'tput cnorm' EXIT
states=("$(tput civis)" "$(tput cnorm)")
state=0
while :; do
    printf %s "${states[state=!state]}"
    sleep .1
done

Sincronización musical un ejercicio para el lector.

ormaaj
fuente