Faça o cursor do terminal bash piscar ao ritmo do Survivor - "olho do tigre"

61

Eu estava ouvindo Survivor - "Eye of the Tiger" e escrevendo alguma documentação no Vim e notei que o cursor que não piscava na batida começou a me irritar. Isso pode ser corrigido?

Eu estou usando Terminatore bash.

0x7c0
fonte
20
Que idéia deliciosamente horrível, +1 :).
terdon
4
O que seria mais difícil, suspeito, é determinar programaticamente qual é a "batida" da música.
KA
12
Preciso de esclarecimentos sobre esta questão. @StephenMartin, você quer que as batidas sejam apenas o monotônico "duh, duh, duh, duh, duh, duh" implícito na melodia? Ou você quer que seja o irregular "DUNT! Duh, duh, DUNT! Duh, duh DUNT! Dun dun duuuuuuuuuh"? Ou você quer o pizzicato tympani bate como em "tztztztztztztztz"? Além disso, precisamos de uma maneira de indicar a intensidade da batida Terminatorcom brilho variável ou algo assim, se você quiser batidas irregulares.
allquixotic
3
Enquanto você estiver nisso, quero que a cor do cursor mude de acordo com a letra quando estiver tocando no Jimi Bold As Love.
ott--
2
@allquixotic Eu vejo isso piscando a cada meia batida para a introdução do duna duna duna, mas permanecendo atento aos acertos de acordes poderosos. Então, quando ele atinge a batida principal, atinge as bpm regulares, mas novamente faz uma pausa na posição ligado para os acordes de energia.
0x7c0

Respostas:

26

Confira meu plugin Rhythmbox, rbpitch , para alterar o tom / andamento / velocidade da música em execução. Eu sei que é um hack, e você precisará definir manualmente o andamento correto para que ele pisque em sincronia com o cursor, mas, para esta tarefa extremamente importante e prática, pensei que seria importante fornecer a você um solução temporária até que alguém descubra como trabalhar um pipeline de gstreamer usando o plug-in de detecção de batida no bashterminal virtual que você estiver usando.

Agora que você mencionou, não seria muito difícil fazer isso, e eu provavelmente poderia codificá-lo em cerca de um dia usando a classe BPMDetect do SoundTouch.

Pare de me dar idéias sobre como ficar com a codificação ocupada, enquanto realmente está perdendo tempo.

allquixotic
fonte
11
Cara, fico feliz que você reconheça a importância dessa pergunta. Vou tentar sua solução alternativa como uma mensagem temporária, mas sinto que o cursor deve se ajustar ao andamento da faixa. Eu não me importo se ele corresponder apenas a essa faixa, pois é a única faixa que possuo e a ouço constantemente em um 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

Sincronização de música, um exercício para o leitor.

ormaaj
fonte