Где я могу найти метроном для музыкальной практики?

12

Это как-то продолжение этого вопроса:

Как я могу определить BPM (ударов в минуту) песни?

Но теперь вместо того, чтобы обнаруживать их в песнях, я хочу создать их.


Я ищу приложение, которое будет выводить звук (что-то короткое, как звуковой сигнал) настраиваемое число раз в минуту.

Если я скажу 20 ударов в минуту, он будет выводить этот звук каждые 3 секунды. (60/20)
Если 60 ударов в минуту, каждую секунду.
Если 120 ударов в минуту каждые полсек.

Причина в том, что я учусь играть на ударных установках, а удары в минуту выглядят очень важными. Я слежу за этим видео на YouTube .

Обновить

Кажется, они называются, metronomesи даже Google получил один. Классная вещь.
https://www.google.com/search?q=metronomes
Спасибо, Ник.

Parto
источник
1
Audacity может сделать это (смотрите в меню «Generate»), хотя, возможно, существуют более простые программы. Онлайн метрономов много, если вы планируете иметь доступ в Интернет во время практики.
Ник Вайнберг
2
gtick , Klick , gtklick и kmetronome могут быть и другие варианты, и все они доступны в репозиториях Ubuntu.
Ник Вайнберг
Метрономы, работающие под Linux, кажутся сильно устаревшими. Не работает, по крайней мере, не из коробки. Время написать один :) @NickWeinberg Я перепробовал их все, кажется, не работает (больше).
Джейкоб Влейм
Эй, @JacobVlijm Есть сценарий Python, который может сделать это? Я действительно должен выучить Python ...
Parto
Я дам ему шанс в ближайшее время!
Джейкоб Влейм

Ответы:

20

Как упоминалось в комментарии, я не смог заставить упомянутые метрономы (существующие для Linux / Ubuntu) работать 16.04, по крайней мере, не из коробки. Я не тратил много времени на то, чтобы заставить его работать , так как практически все они создают впечатление, что его бросили.

Время написать один ...


Этот ответ ( работа в процессе ) должна в конечном итоге привести к метроному, включая GUI. Хорошее время, чтобы упомянуть возможные функции, которые вы хотели бы.

1. CLI метроном

Создание простого метронома оказывается невероятно простым:

#!/usr/bin/env python3
import subprocess
import sys
import time

bpm = int(sys.argv[1])
pauze = 60/bpm

while True:
    time.sleep(pauze)
    subprocess.Popen(["ogg123", "/usr/share/sounds/ubuntu/stereo/bell.ogg"])

Как пользоваться

  1. Метроном нужен ворб-инструмент, чтобы играть звук

    sudo apt-get install vorbis-tools
    
  2. Скопируйте приведенный выше скрипт в пустой файл, сохраните его как metronome.py
  3. Запустите его с аргументом bpm:

    python3 /path/to/metronome.py <bpm>
    

    например:

    python3 /path/to/metronome.py 100
    

    Чтобы запустить его со 100 ударами в минуту

Заметка

Для звука я использовал файл /usr/share/sounds/ubuntu/stereo/bell.ogg, который должен быть в вашей системе по умолчанию (проверено 14.04 / 16.04). Однако вы можете использовать любой ( .ogg) сэмпл, который вам нравится. В финальной версии будет доступен ряд опций (звуков).


2. Шокирующе простая версия GUI

В качестве следующего шага, очень простая версия, последняя версия без установщика:

введите описание изображения здесь

Сценарий

#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
import sys
import subprocess
import time
from threading import Thread
import os

path = os.path.dirname(os.path.realpath(__file__))

class MetroWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="Shockingly simple Metronome")
        self.speed = 70
        self.run = False
        # maingrid
        maingrid = Gtk.Grid()
        maingrid.set_column_homogeneous(True)
        maingrid.set_row_homogeneous(False)
        maingrid.set_border_width(30)
        self.add(maingrid)
        # icon
        image = Gtk.Image(xalign=0)
        image.set_from_file(os.path.join(path, "icon.png"))
        maingrid.attach(image, 0, 0, 1, 1)
        # vertical slider,  initial value, min, max, step, page, psize
        self.v_scale = Gtk.Scale(
            orientation=Gtk.Orientation.VERTICAL,
            adjustment=Gtk.Adjustment.new(self.speed, 10, 240, 1, 0, 0)
            )
        self.v_scale.set_vexpand(True)
        self.v_scale.set_digits(0)
        self.v_scale.connect("value-changed", self.scale_moved)
        maingrid.attach(self.v_scale, 1, 0, 2, 1)

        self.togglebutton = Gtk.Button("_Run", use_underline=True)
        self.togglebutton.connect("clicked", self.time_out)
        self.togglebutton.set_size_request(70,20)
        maingrid.attach(self.togglebutton, 3, 3, 1, 1)

        # start the thread
        self.update = Thread(target=self.run_metro, args=[])
        self.update.setDaemon(True)
        self.update.start()

    def scale_moved(self, event):
        self.speed = int(self.v_scale.get_value())

    def time_out(self, *args):
        if self.run == True:
            self.run = False
            self.togglebutton.set_label("Run")
        else:
            self.run = True
            self.togglebutton.set_label("Pauze")

    def pauze(self):
        return 60/self.speed

    def run_metro(self):
        soundfile = "/usr/share/sounds/ubuntu/stereo/bell.ogg"
        while True:
            if self.run == True:
                subprocess.Popen([
                    "ogg123", soundfile
                    ])
            time.sleep(self.pauze())

def run_gui():
    window = MetroWindow()
    window.connect("delete-event", Gtk.main_quit)
    window.set_resizable(False)
    window.show_all()
    Gtk.main()

run_gui()

Изображение

введите описание изображения здесь

Как пользоваться

  1. Как и в случае с Cli-версией, нужна эта vorbis-tools:

    sudo apt-get install vorbis-tools
    
  2. Скопируйте скрипт в пустой файл, сохраните его как metro.py

  3. Щелкните правой кнопкой мыши на изображение выше, сохранить его в одном и том же каталоге, что и скрипт (точно) , как: icon.png.
  4. Просто запустите метроном по команде:

    python3 /path/to/metro.py
    

3. PPA для оранжевого метронома

Сделано!

Метроном готов к установке.
Оранжевый Метроном поставляется с набором различных звуков на выбор, и ритмы могут быть сгруппированы. Все изменения применяются немедленно к работающему метроному:

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Установить:

sudo apt-add-repository ppa:vlijm/orangemetronome
sudo apt-get update
sudo apt-get install orangemetronome

Работа, которую нужно сделать

  • В настоящее время метроном поставляется с четырьмя различными звуками на выбор. Вероятно, некоторые из них будут добавлены в ближайшие несколько дней, некоторые из них будут заменены / обновлены.

  • В более долгосрочной перспективе
    В долгосрочной перспективе я думаю о добавлении опции для (пользовательских) сложных структур, таких как 3 + 3 + 2, 2 + 2 + 2 + 3 и т. Д., Которые я всегда упускал в существующих метрономах.

в заключение

Последняя (текущая) версия 0.5.3добавляет ряд звуков, но, что более важно, возможность запуска нерегулярных (составных) ударов. В этой версии они жестко закодированы. Будет настраиваться с версии> 1.

введите описание изображения здесь

Якоб Влейм
источник
@ Парто круто, я продолжу в этом. Какая у вас версия Ubuntu?
Джейкоб Влейм
Круто, будет здесь. Версия Ubuntu: 14.04.
Парто
@Parto ... и первая версия
графического интерфейса
1
Я дам вам +15 за правильный ответ, но +100 к Нику, чтобы получить более 2К повторений.
Парто
1
@ Парто абсолютно! Может занять день или два, я бы хотел добавить несколько вариантов.
Джейкоб Влейм
9

Похоже, вы ищете метроном!

Программное обеспечение Audacity для редактирования аудио может генерировать устойчивый, похожий на метроном ритм или тон (см. Меню «Создать»), хотя есть более простые программы, которые я перечислю ниже. Audacity находится в репозиториях программного обеспечения Ubuntu и может быть установлен через Центр программного обеспечения или введя sudo apt install audacityв окне терминала.

Онлайн метрономов много, если вы планируете иметь доступ в Интернет во время практики.

Другое программное обеспечение метроном доступен в программном обеспечении Ubuntu хранилищ включает gtick , KLICK , gtklick и kmetronome , хотя я не пробовал ни один из них сами.

Ник Вайнберг
источник
8

Простой метроном Bash

использование

metronome.sh [beats per minute] [beats per measure]

Информация

  • Он играет на 120 ударов в минуту в 4 по умолчанию
  • Дополнительная информация и гораздо более сложный скрипт доступны на моем репозитории GitHub: metronome.sh . Ниже сценарий находится подmetronome-core.sh

Например

metronome.sh
metronome.sh 75     # 75 BPM
metronome.sh 120 3  # 120 BPM, 3 beats per measure

скрипт

#!/bin/bash
# metronome.sh - Is a metronome.
# Usage: metronome.sh [beats per minute] [beats per measure]

# Set BPM and beats per measure.
bpm="${1-120}"
msr="${2-4}"

# Get seconds per beat using bc.
# "-0.004" accounts for approximate execution time.
beat_time="$(bc -l <<< "scale=5; 60/$bpm-0.004")"

echo "Metronome playing $bpm BPM, $msr beats per measure"
echo -n "Press Ctrl+C to quit."

while true; do
    for ((i=1; i<=$msr; i++)); do
        if [[ $i -eq 1 ]]; then
            # Accentuated beat.
            canberra-gtk-play --id='dialog-information' &
        else
            # Unaccentuated beat
            canberra-gtk-play --id='button-toggle-on' &
        fi
        # Wait before next beat. Will exit if beat time is invalid.
        sleep "$beat_time" || exit
    done
done
wjandrea
источник
Круто тоже. Пробовал это.
Парто
1

Я играю на гитаре и использую gtick , он работает для меня довольно хорошо, я могу регулировать количество ударов в минуту, громкость и даже время, 1 / 4,2 / 4,3 / 4 и так далее. Вы можете установить его из командной строки, используя:

sudo apt-get install gtick

вот мой gtick : i.imgsafe.org/f2dc6c70f2.png

Абель Том
источник
Уже упоминается Ник. Также не работает в моей системе (Ubuntu Unity 16.04).
Джейкоб Влейм
Я знаю, что упомянул Ник, но я сам использовал gtick, а он, как он упоминал, нет. Я использую Ubuntu 16.04 LTS, и он работает для меня, вам не хватает пропавших звуковых зависимостей или так?
Авель Том,
Смотрите это: dl.dropboxusercontent.com/u/1155139/error.png происходит независимо от настроек и т. Д. На нескольких системах. Прочитайте что-нибудь об этом, было ли это с хитростями в прошлом, не помню, что это было. Не хочу помнить Это должно просто работать. Если что-то подобное не исправлено спустя годы, я предпочитаю писать свои собственные вещи.
Джейкоб Влейм
мне жаль, что это не сработало для вас, вот мой gtick : i.imgsafe.org/f2dc6c70f2.png
Абель Том
0

Вы пробовали кметроном? Должен быть в состоянии использовать apt-get / synaptic.

Jodamo117
источник
Также уже упоминается Ник.
Джейкоб Влейм