Dove posso trovare un metronomo per la pratica musicale?


12

Questo è in qualche modo un seguito di questa domanda:

Come posso rilevare i BPM (battiti al minuto) di un brano?

Ma ora invece di rilevarli nelle canzoni, voglio generarli.


Sto cercando un'applicazione che emetta un suono (qualcosa di breve come un segnale acustico) un numero configurabile di volte al minuto.

Se dico 20 bpm, emetterà quel suono ogni 3 secondi. (60/20)
Se 60 bpm, ogni sec.
Se 120 bpm ogni mezzo secondo.

La ragione di ciò è che sto imparando a suonare la batteria e il bpm sembra davvero importante. Sto seguendo questo video su YouTube .

aggiornare

Sembra che vengano chiamati metronomese anche Google ne abbia uno. Roba forte.
https://www.google.com/search?q=metronomes
Grazie Nick.


1
Audacity può farlo (guarda sotto il menu "Genera"), anche se probabilmente ci sono programmi più semplici. I metronomi online sono numerosi, se prevedi di avere accesso a Internet durante la tua pratica.
Nick Weinberg,

2
gtick , klick , gtklick e kmetronome potrebbero essere altre opzioni, e sono tutti disponibili nei repository del software Ubuntu.
Nick Weinberg,

Sembra che i metronomi che funzionano sotto Linux siano fortemente obsoleti. Non funziona, almeno non fuori dalla scatola. È ora di scriverne uno :) @NickWeinberg Li ho provati tutti, non funziona (non più) sembra.
Jacob Vlijm,

Ehi @JacobVlijm Hai uno script Python che può fare questo? Dovrei davvero imparare il pitone ...
Parto

Ci proverò a breve!
Jacob Vlijm,

Risposte:


20

Come menzionato in un commento, non sono riuscito a far funzionare i metronomi menzionati (esistenti per Linux / Ubuntu) su 16.04, almeno non pronti all'uso. Non ho trascorso molto tempo a farlo funzionare , dal momento che praticamente tutti danno l'impressione di essere abbandonati.

È tempo di scriverne uno ...


Questa risposta ( lavori in corso ) dovrebbe infine portare a un metronomo, compresa la GUI. Un buon momento per menzionare le possibili funzionalità che desideri.

1. Metronomo CLI

La creazione di un metronomo semplice risulta sorprendentemente semplice:

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

Come usare

  1. Il metronomo ha bisogno di strumenti vorbis per riprodurre il suono

    sudo apt-get install vorbis-tools
    
  2. Copia lo script sopra in un file vuoto, salvalo come metronome.py
  3. Eseguilo con bpm come argomento:

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

    per esempio:

    python3 /path/to/metronome.py 100
    

    Per eseguirlo con 100 battiti al minuto

Nota

Per il suono, ho usato il file /usr/share/sounds/ubuntu/stereo/bell.ogg, che dovrebbe essere sul tuo sistema di default (testato 14.04 / 16.04). Puoi comunque usare qualsiasi ( .ogg) campione che ti piace. Nella versione finale, saranno disponibili diverse opzioni (suoni).


2. Versione della GUI incredibilmente semplice

Come passaggio successivo, una versione molto semplice, l'ultima versione senza un programma di installazione:

inserisci qui la descrizione dell'immagine

Il copione

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

L'immagine

inserisci qui la descrizione dell'immagine

Come usare

  1. Come la versione cli, anche questa ha bisogno di vorbis-tools:

    sudo apt-get install vorbis-tools
    
  2. Copia lo script in un file vuoto, salvalo come metro.py

  3. Pulsante destro del mouse sull'immagine qui sopra, salvarlo in una stessa directory dello script (esattamente) come: icon.png.
  4. Basta eseguire il metronomo con il comando:

    python3 /path/to/metro.py
    

3. PPA per il metronomo arancione

È fatta!

Il metronomo è pronto per l'installazione.
Orange Metronome viene fornito con una serie di suoni diversi tra cui scegliere e i ritmi possono essere raggruppati. Tutte le modifiche vengono applicate immediatamente sul metronomo in esecuzione:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Installare:

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

Lavoro da fare

  • Attualmente, il metronomo viene fornito con quattro suoni diversi tra cui scegliere. Probabilmente ne verranno aggiunti alcuni nei prossimi giorni, alcuni di essi verranno sostituiti / aggiornati

  • A più lungo termine
    A più lungo termine, sto pensando di aggiungere l'opzione per strutture (personalizzate) complesse come 3 + 3 + 2, 2 + 2 + 2 + 3 ecc., Che mi mancavano sempre nei metronomi esistenti.

Infine

L'ultima versione (attuale) 0.5.3aggiunge una serie di suoni, ma soprattutto l'opzione per eseguire ritmi irregolari (compositi). In questa versione, sono codificati. Sarà personalizzabile dalla versione> 1.

inserisci qui la descrizione dell'immagine


@Parto cool, continuerò su questo. Qual è la tua versione di Ubuntu a proposito?
Jacob Vlijm,

Bene, sarà qui. Versione di Ubuntu: 14.04.
Parto,

@Parto ... e la prima versione gui ...
Jacob Vlijm,

1
Ti darò il +15 per la risposta corretta ma +100 a Nick per portarlo a oltre 2K rep.
Parto,

1
@Parto assolutamente! Potrebbe volerci un giorno o due, vorrei aggiungere alcune opzioni.
Jacob Vlijm,

9

Sembra che tu stia cercando un metronomo!

Il software di editing audio Audacity è in grado di generare un battito o tono costante, simile a un metronomo (guarda sotto il menu "Genera"), anche se ci sono programmi più semplici che elencherò di seguito. Audacity si trova nei repository del software Ubuntu e può essere installato tramite il Software Center o digitando sudo apt install audacityuna finestra del terminale.

I metronomi online sono numerosi, se prevedi di avere accesso a Internet durante la tua pratica.

Altri software metronomo disponibili nei repository software Ubuntu includono gtick , klick , gtklick e kmetronome , anche se non ho provato nessuno di loro.


8

Metronomo di Bash semplice

uso

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

Informazioni

  • Di default suona a 120 bpm in 4
  • Ulteriori informazioni e uno script molto più sofisticato sono disponibili sul mio repository GitHub: metronome.sh . Lo script seguente è lì sottometronome-core.sh

Per esempio

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

copione

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

Anche fantastico. L'ho provato.
Parto,

1

suono la chitarra e utilizzo gtick , funziona abbastanza bene per me, posso regolare i battiti al minuto, il volume e anche le indicazioni del tempo, 1 / 4,2 / 4,3 / 4 e così via. puoi installarlo dalla riga di comando usando:

sudo apt-get install gtick

heres my gtick : i.imgsafe.org/f2dc6c70f2.png


Già citato da Nick. Inoltre non funziona sul mio sistema (Ubuntu Unity 16.04).
Jacob Vlijm,

So che è stato citato da Nick, ma ho usato gtick da solo, non l'ha fatto, come ha detto. Uso Ubuntu 16.04 LTS e funziona per me, ti mancano alcune dipendenze audio mancanti?
Abel Tom,

Vedi questo: dl.dropboxusercontent.com/u/1155139/error.png accade indipendentemente dalle impostazioni ecc., Su più sistemi. Leggi qualcosa a riguardo, l'aveva fatto girare con i trucchi in passato, non ricordare cosa fosse. Non voglio ricordare. Dovrebbe semplicemente funzionare. Se qualcosa del genere non viene risolto dopo anni, preferisco scrivere le mie cose.
Jacob Vlijm,

mi dispiace che non abbia funzionato per te, ecco il mio consiglio : i.imgsafe.org/f2dc6c70f2.png
Abel Tom

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.