Fai lampeggiare il cursore del terminale bash al ritmo di Survivor - "occhio della tigre"


61

Stavo ascoltando Survivor - "Eye of the Tiger" e scrivendo alcuni documenti in Vim e ho notato che il cursore che non lampeggiava sul ritmo ha iniziato a infastidirmi. Questo può essere risolto?

Sto usando Terminatore bash.


20
Che idea deliziosamente orribile, +1 :).
terdon,

4
La cosa più difficile che sospetto sia determinare programmaticamente qual è il "ritmo" della canzone.
KA

12
Ho bisogno di chiarimenti su questa domanda. @StephenMartin, vuoi che i battiti siano solo il monotono "duh, duh, duh, duh, duh" implicito nella melodia? O vuoi che sia l'irregolare "DUNT! Duh, duh, DUNT! Duh, duh DUNT! Dun dun duuuuuuuuh"? O vuoi i battiti pizzici di timpani come in "tztztztztztztztz"? Inoltre, abbiamo bisogno di un modo per indicare l'intensità del battito Terminatorcon una luminosità del lampeggio variabile o qualcosa del genere se vuoi i battiti irregolari.
allquixotic

3
Mentre ci sei, voglio che il colore del cursore cambi in modo appropriato ai testi quando suono Jimi Bold As Love.
ott--

2
@allquixotic Lo vedo lampeggiare ogni mezzo battito per l'introduzione di duna duna duna, ma rimanendo attivo per i colpi di power chord. Quindi quando colpisce la battuta principale colpendo sul normale bpm ma fermandosi di nuovo in posizione on per gli accordi di potenza.
0x7c0,

Risposte:


26

Dai un'occhiata al mio plug-in Rhythmbox, rbpitch per cambiare intonazione / tempo / velocità della canzone in riproduzione. So che è un hack e dovrai elaborare manualmente il tempo corretto da impostare per farlo lampeggiare in sincronia con il cursore, ma per questo compito estremamente importante e pratico, ho pensato che sarebbe importante darti un soluzione temporanea fino a quando qualcuno non capisce come lavorare una pipeline gstreamer usando il plug-in di rilevamento battute basho qualunque terminale virtuale si stia utilizzando.

Sai, ora che lo dici, farlo non sarebbe poi così difficile, e probabilmente potrei codificarlo in circa un giorno usando la classe BPMDetect di SoundTouch.

Smetti di darmi idee su come guardare la programmazione impegnata mentre in realtà stai perdendo tempo.


11
Amico, sono contento che tu abbia riconosciuto l'importanza di questa domanda. Proverò la tua soluzione alternativa come messaggio temporaneo, ma sento che il cursore dovrebbe adattarsi al tempo della traccia. Non mi importa se corrisponde solo a questa traccia come l'unica traccia che possiedo e la ascolto costantemente su un loop.
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

La sincronizzazione della musica è un esercizio per il lettore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.