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

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

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

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


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

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

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

обновление

Кажется, что их называют metronomes и даже Google получил тот. Интересный материал.
https://www.google.com/search? q=metronomes
Спасибо Nick.

12
задан 6 February 2019 в 15:11

5 ответов

Как упомянуто в комментарии, я не мог получить упомянутые метрономы (существующий для 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. Метроному нужны vorbis-инструменты, для проигрывания звука

    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

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

enter image description here

Сценарий

#!/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()

Изображение

enter image description here

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

  1. Как cli версия, эти потребности vorbis-tools:

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

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

    python3 /path/to/metro.py
    

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

Это сделано!

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

enter image description here

enter image description here

enter image description here

Устанавливать:

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.

enter image description here

20
ответ дан 23 November 2019 в 03:29

Это кажется на поиск метронома!

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

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

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

9
ответ дан 23 November 2019 в 03:29

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

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

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

Информация

  • Это играет в 120 bpm в 4 значением по умолчанию
  • [еще 1111], информация и намного более сложный сценарий доступны на моем GitHub repo: 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
8
ответ дан 23 November 2019 в 03:29

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

sudo apt-get install gtick

наймы мой gtick: i.imgsafe.org/f2dc6c70f2.png

1
ответ дан 23 November 2019 в 03:29

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

0
ответ дан 23 November 2019 в 03:29

Другие вопросы по тегам:

Похожие вопросы: