태그 보관물: application-development

application-development

음악 연습을위한 메트로놈을 어디에서 찾을 수 있습니까? BPM (분당 비트 수)을 어떻게 감지합니까? 그러나 이제는

이것은 어떻게 든이 질문에 대한 후속 조치입니다.

노래의 BPM (분당 비트 수)을 어떻게 감지합니까?

그러나 이제는 노래에서 감지하는 대신 생성하고 싶습니다.


분당 구성 가능한 횟수만큼 소리 (삐 소리와 같은 짧은 소리)를 출력하는 응용 프로그램을 찾고 있습니다.

20bpm이라고하면 3 초마다 그 소리가 출력됩니다. (60/20)
60bpm이면 매 초
0.5 초마다 120bpm 인 경우

그 이유는 드럼 세트를 연주하는 방법을 배우고 bpm이 정말 중요해 보이기 때문입니다. YouTube 에서이 동영상을 팔로우하고 있습니다.

최신 정보

그들은 전화를 받았으며 metronomes심지어 구글조차 하나를 얻었다. 멋진 것.
https://www.google.com/search?q=metronomes
감사합니다 Nick.



답변

의견에서 언급했듯이 적어도 16.04에서 언급 한 메트로놈 (Linux / Ubuntu에 존재)을 얻을 수 없었습니다. 나는 그것이 실제로 작동하는 데 많은 시간을 소비하지 않았다. 사실상 그들 모두는 버려지는 인상을주기 때문이다.

하나 쓸 시간 …


이 답변 ( 진행중인 작업 )은 결국 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-tools가 필요합니다.

    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

끝났습니다!

메트로놈을 설치할 준비가되었습니다.
Orange Metronome에는 선택할 수있는 다양한 사운드 세트가 있으며 비트를 그룹화 할 수 있습니다. 모든 변경 사항은 실행중인 메트로놈에 즉시 적용됩니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

설치하기 위해서:

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

해야할 일

  • 현재 메트로놈에는 선택할 수있는 네 가지 사운드가 있습니다. 아마도 몇 일 안에 몇 개가 추가 될 것이며, 일부는 교체 / 업데이트 될 것입니다

  • 장기에
    장기적를 들어, 나는 항상 기존의 메트로놈 놓친 + 2 3 + 3, 2 등 + 2 + 2 + 3처럼 (사용자 정의) 복잡한 구조에 대한 옵션을 추가 할 생각입니다.

드디어

최신 (현재) 버전 0.5.3은 여러 가지 소리를 추가하지만 더 중요한 것은 불규칙한 (복합) 비트를 실행하는 옵션입니다. 이 버전에서는 하드 코딩되어 있습니다. 버전> 1에서 사용자 정의 할 수 있습니다.

여기에 이미지 설명을 입력하십시오


답변

메트로놈을 찾는 것처럼 들립니다!

오디오 편집 소프트웨어 인 Audacity 는 아래에 나열 할 간단한 프로그램이 있지만 꾸준한 메트로놈과 같은 비트 또는 톤 ( “생성”메뉴 아래 참조)을 생성 할 수 있습니다. Audacity는 Ubuntu 소프트웨어 리포지토리에 있으며 소프트웨어 센터를 통해 또는 sudo apt install audacity터미널 창 에 입력하여 설치할 수 있습니다 .

연습 중에 인터넷에 접속할 계획이라면 온라인 메트로놈이 풍부합니다.

Ubuntu 소프트웨어 리포지토리에서 사용할 수있는 다른 메트로놈 소프트웨어에는 gtick , klick , gtklickkmetronome이 포함 되어 있지만 직접 시도하지는 않았습니다.


답변

간단한 배쉬 메트로놈

용법

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

정보

  • 기본적으로 4에서 120 bpm으로 재생됩니다.
  • 자세한 내용과 훨씬 더 정교한 스크립트는 내 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


답변

나는 기타를 연주하고 gtick을 사용 하며 , 그것은 나를 위해 잘 작동합니다. 분당 비트 수, 음량 및 박자표, 1 / 4,2 / 4,3 / 4 등을 조정할 수 있습니다. 다음을 사용하여 명령 행에서 설치할 수 있습니다.

sudo apt-get install gtick

여기 내 gtick : i.imgsafe.org/f2dc6c70f2.png


답변

kmetronome을 사용해 보셨습니까? apt-get / synaptic을 사용할 수 있어야합니다.


답변