Заставьте курсор терминала bash мигать в такт Survivor - «глаз тигра»


61

Я слушал Survivor - «Eye of the Tiger» и писал некоторую документацию в Vim и заметил, что курсор, не мигающий в такт, начал меня раздражать. Это можно исправить?

Я использую Terminatorи bash.


20
Какая восхитительно ужасная идея, +1 :).
Тердон

4
Я подозреваю, что самое сложное - это программно определить, какой «ритм» песни.
KA

12
Мне нужно разъяснение по этому вопросу. @StephenMartin, ты хочешь, чтобы удары были только монотонным "duh, duh, duh, duh" в мелодии? Или вы хотите, чтобы это было нерегулярно "DUNT! Дух, Дух, DUNT! Дух, Дух, DUNT! Дун Дун Дууууууууух"? Или вы хотите, чтобы pizzicato tympani бился, как в "tztztztztztztztz"? Кроме того, нам нужен способ указать интенсивность ударов Terminatorс переменной яркостью мигания или что-то еще, если вы хотите нерегулярные удары.
allquixotic

3
Пока вы работаете над этим, я хочу, чтобы цвет курсора менялся в соответствии с лирикой, когда я играю Джими Bold As Love.
ot--

2
@allquixotic Я вижу, как он мигает каждую половину удара для вступления к Duna Duna Duna, но остается на время для ударов пауэр-аккордов. Затем, когда он ударяет по основному удару, бьет по обычному ударов в минуту, но снова останавливается во включенной позиции для аккордов.
0x7c0

Ответы:


26

Проверьте мой плагин Rhythmbox, rbpitch для изменения высоты тона / темпа / скорости воспроизводимой песни. Я знаю, что это хак, и вам придется вручную определить правильный темп, чтобы установить его синхронизацию с вашим курсором, но для этой чрезвычайно важной и практической задачи я подумал, что было бы важно дать вам временный обходной путь, пока кто-нибудь не поймет, как работать с конвейером gstreamer, используя плагин обнаружения ударов в bashлюбом виртуальном терминале, который вы используете.

Знаете, теперь, когда вы упомянули об этом, сделать это было бы не так уж сложно, и я мог бы, вероятно, написать код примерно за один день, используя класс SoundTouch BPMDetect.

Прекратите давать мне идеи о том, как выглядеть занятым кодированием, фактически теряя время


11
Чувак, я рад, что ты подтверждаешь важность этого вопроса. Я попробую ваш обходной путь как временную путаницу, но чувствую, что курсор должен подстраиваться под темп дорожки. Меня не волнует, соответствует ли он только этому треку, так как это единственный трек, которым я владею, и я постоянно слушаю его в цикле.
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

Синхронизация музыки упражнение для читателя.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.