Di mana saya dapat menemukan metronom untuk latihan musik?

12

Ini entah bagaimana merupakan tindak lanjut dari pertanyaan ini:

Bagaimana saya bisa mendeteksi BPM (detak per menit) dari sebuah lagu?

Tapi sekarang alih-alih mendeteksinya dalam lagu, saya ingin membuatnya.


Saya mencari aplikasi yang akan mengeluarkan suara (sesuatu yang pendek seperti bunyi bip) beberapa kali per menit yang dapat dikonfigurasi.

Jika saya katakan 20bpm, itu akan mengeluarkan suara itu setiap 3 detik. (60/20)
Jika 60bpm, setiap detik.
Jika 120bpm setiap setengah detik.

Alasan untuk ini adalah bahwa saya belajar cara memainkan set drum dan bpm terlihat sangat penting. Saya mengikuti video ini di youtube .

memperbarui

Sepertinya mereka dipanggil metronomesdan bahkan Google punya satu. Hal-hal keren
https://www.google.com/search?q=metronomes
Terima kasih Nick.

Parto
sumber
1
Audacity dapat melakukan ini (lihat di bawah menu "Hasilkan"), meskipun mungkin ada program yang lebih sederhana. Metronom online berlimpah, jika Anda berencana memiliki akses internet selama latihan.
Nick Weinberg
2
gtick , klick , gtklick , dan kmetronome mungkin merupakan opsi lain, dan semuanya tersedia di repositori perangkat lunak Ubuntu.
Nick Weinberg
Metronom yang berjalan di Linux sepertinya sudah ketinggalan zaman. Tidak bekerja, setidaknya tidak di luar kotak. Saatnya menulis satu :) @NickWeinberg Saya mencoba semuanya, tidak bekerja (lagi) sepertinya.
Jacob Vlijm
Hey @JacobVlijm Punya skrip python yang bisa melakukan ini? Saya benar-benar harus belajar python ...
Parto
Saya akan mencobanya sebentar lagi!
Jacob Vlijm

Jawaban:

20

Seperti disebutkan dalam komentar, saya tidak bisa mendapatkan metronom yang disebutkan (ada untuk Linux / Ubuntu) bekerja pada 16,04, setidaknya tidak di luar kotak. Saya tidak menghabiskan banyak waktu untuk membuatnya bekerja , karena praktis semuanya memberi kesan ditinggalkan.

Saatnya menulis satu ...


Jawaban ini ( sedang berlangsung ) pada akhirnya harus mengarah ke metronom, termasuk GUI. Saat yang tepat untuk menyebutkan kemungkinan fitur yang Anda inginkan.

1. Metronom CLI

Membuat metronom langsung ternyata sangat sederhana:

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

Cara Penggunaan

  1. Metronom membutuhkan vorbis-tools, untuk memainkan suara

    sudo apt-get install vorbis-tools
    
  2. Salin skrip di atas ke dalam file kosong, simpan sebagai metronome.py
  3. Jalankan dengan bpm sebagai argumen:

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

    misalnya:

    python3 /path/to/metronome.py 100
    

    Untuk menjalankannya dengan 100 ketukan per menit

Catatan

Untuk suara, saya menggunakan file /usr/share/sounds/ubuntu/stereo/bell.ogg, yang seharusnya ada di sistem Anda secara default (diuji 14.04 / 16.04). Namun Anda dapat menggunakan ( .ogg) sampel yang Anda suka. Dalam versi final, Sejumlah opsi (suara) akan tersedia.


2. Versi GUI yang mengejutkan sederhana

Sebagai langkah selanjutnya, versi yang sangat mendasar, versi terakhir tanpa penginstal:

masukkan deskripsi gambar di sini

Naskah

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

Foto

masukkan deskripsi gambar di sini

Cara Penggunaan

  1. Seperti versi cli, yang ini membutuhkan vorbis-tools:

    sudo apt-get install vorbis-tools
    
  2. Salin skrip ke file kosong, simpan sebagai metro.py

  3. Klik kanan pada gambar di atas, simpan Dalam satu dan direktori yang sama seperti naskah (persis) seperti: icon.png.
  4. Cukup jalankan metronom dengan perintah:

    python3 /path/to/metro.py
    

3. PPA untuk Metronom Oranye

Sudah selesai!

Metronom siap dipasang.
Orange Metronome hadir dengan serangkaian suara berbeda untuk dipilih, dan ketukan dapat dikelompokkan. Semua perubahan diterapkan segera pada metronom yang sedang berjalan:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Untuk memasang:

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

Pekerjaan yang harus dilakukan

  • Saat ini, metronom hadir dengan empat suara berbeda untuk dipilih. Mungkin beberapa akan ditambahkan dalam beberapa hari ke depan, beberapa dari mereka akan diganti / diperbarui

  • Pada jangka panjang
    Untuk jangka panjang, saya berpikir untuk menambahkan opsi untuk struktur kompleks (khusus) seperti 3 + 3 + 2, 2 + 2 + 2 + 3 dll, yang selalu saya lewatkan dalam metronom yang ada.

Akhirnya

Versi terbaru (saat ini) 0.5.3menambahkan sejumlah suara, tetapi yang lebih penting, opsi untuk menjalankan irama (gabungan) yang tidak teratur. Dalam versi ini, mereka dikodekan dengan keras. Akan dikustomisasi dari versi> 1.

masukkan deskripsi gambar di sini

Yakub Vlijm
sumber
@Parto keren, saya akan melanjutkan ini. Apa versi Ubuntu Anda?
Jacob Vlijm
Keren, akan ada di sini. Versi Ubuntu: 14.04.
Parto
@Parto ... dan versi gui pertama ...
Jacob Vlijm
1
Saya akan memberi Anda +15 untuk jawaban yang benar tetapi +100 untuk Nick untuk membuatnya menjadi lebih dari 2K perwakilan.
Parto
1
@Parto benar-benar! Mungkin butuh satu atau dua hari, saya ingin membangun beberapa opsi.
Yakub Vlijm
9

Sepertinya Anda sedang mencari metronom!

Perangkat lunak pengedit audio Audacity dapat menghasilkan ketukan atau nada yang stabil, seperti metronom (lihat di bawah menu "Buat"), meskipun ada program yang lebih sederhana yang akan saya daftarkan di bawah ini. Audacity ada dalam repositori perangkat lunak Ubuntu dan dapat diinstal melalui Pusat Perangkat Lunak atau dengan mengetikkan sudo apt install audacityjendela terminal.

Metronom online berlimpah, jika Anda berencana memiliki akses internet selama latihan.

Perangkat lunak metronom lain yang tersedia di repositori perangkat lunak Ubuntu termasuk gtick , klick , gtklick , dan kmetronome , walaupun saya belum pernah mencobanya.

Nick Weinberg
sumber
8

Metronom Bash sederhana

Pemakaian

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

Info

  • Ini diputar pada 120 bpm dalam 4 secara default
  • Info lebih lanjut dan skrip yang jauh lebih canggih tersedia di repo GitHub saya: metronome.sh . Script di bawah ini ada di bawahmetronome-core.sh

Sebagai contoh

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

Naskah

#!/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
sumber
Mengagumkan juga. Mencobanya.
Parto
1

saya memainkan Gitar dan saya menggunakan gtick , itu bekerja cukup baik untuk saya, saya dapat menyesuaikan ketukan per menit, volume dan bahkan tanda tangan waktu, 1 / 4,2 / 4,3 / 4, dan seterusnya. Anda dapat menginstalnya dari baris perintah menggunakan:

sudo apt-get install gtick

Inilah gtick saya : i.imgsafe.org/f2dc6c70f2.png

Abel Tom
sumber
Sudah disebutkan oleh Nick. Juga tidak berfungsi di sistem saya (Ubuntu Unity 16.04).
Jacob Vlijm
Saya tahu itu disebutkan oleh Nick, tetapi saya sendiri sudah menggunakan gtick, dia belum, seperti yang dia sebutkan. Saya menggunakan Ubuntu 16.04 LTS dan ini berfungsi untuk saya, apakah Anda melewatkan beberapa dependensi audio yang hilang?
Abel Tom
Lihat ini: dl.dropboxusercontent.com/u/1155139/error.png terjadi terlepas dari pengaturan, dll., Pada banyak sistem. Baca sesuatu tentang itu, sudah jalankan dengan trik di masa lalu, tidak ingat apa itu. Tidak ingin mengingat. Ini seharusnya bekerja. Jika sesuatu seperti ini tidak diperbaiki setelah bertahun-tahun, saya lebih suka menulis barang-barang saya sendiri.
Jacob Vlijm
Saya minta maaf itu tidak bekerja untuk Anda, ini adalah gtick saya : i.imgsafe.org/f2dc6c70f2.png
Abel Tom
0

Sudahkah Anda mencoba kmetome? Harus bisa menggunakan apt-get / synaptic.

Jodamo117
sumber
Juga sudah disebutkan oleh Nick.
Jacob Vlijm