একটি মন্তব্যে উল্লিখিত হিসাবে, আমি উল্লিখিত মেট্রোনোমগুলি (লিনাক্স / উবুন্টুর জন্য বিদ্যমান) 16.04-এ কাজ করতে পারিনি, কমপক্ষে বাক্সের বাইরে না। আমি এটি কাজ করতে খুব বেশি সময় ব্যয় করিনি , যেহেতু কার্যতঃ তারা সবাই ত্যাগ করার ধারণা দেয়।
একটি লেখার সময় ...
এই উত্তরের ( কাজ চলছে ) শেষ পর্যন্ত জিইউআই সহ একটি মেট্রোণোমে নিয়ে যাওয়া উচিত। আপনার পছন্দের সম্ভাব্য বৈশিষ্ট্যগুলি উল্লেখ করার জন্য একটি ভাল সময়।
1. সি এল এল মেট্রোনম
সোজা মেট্রোণোম তৈরি করা হতভম্বভাবে সহজ হিসাবে প্রমাণিত:
#!/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"])
কিভাবে ব্যবহার করে
শব্দটি বাজানোর জন্য মেট্রোনোমের ভের্বিস-সরঞ্জামগুলির প্রয়োজন
sudo apt-get install vorbis-tools
- উপরের স্ক্রিপ্টটি একটি খালি ফাইলে অনুলিপি করুন, এটিকে metronome.py হিসাবে সংরক্ষণ করুন as
যুক্তি হিসাবে এটি বিপিএম দিয়ে চালান:
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. শোকজনকভাবে সহজ জিইউআই সংস্করণ
পরবর্তী পদক্ষেপ হিসাবে, একটি খুব বেসিক সংস্করণ, ইনস্টলার ছাড়াই শেষ সংস্করণ:
এই পান্ডুলিপি
#!/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()
ইমেজ
কিভাবে ব্যবহার করে
ক্লাইপ সংস্করণটির মতো এটিরও প্রয়োজন vorbis-tools
:
sudo apt-get install vorbis-tools
একটি ফাঁকা ফাইলে স্ক্রিপ্টটি অনুলিপি করুন, এটি সংরক্ষণ করুন metro.py
- উপরের ছবিতে ক্লিক করুন ডান, এটি সংরক্ষণ করুন এক এবং স্ক্রিপ্ট হিসাবে একই ডিরেক্টরির (ঠিক) হিসাবে:
icon.png
।
কমান্ড দ্বারা সহজভাবে মেট্রোণোম চালান:
python3 /path/to/metro.py
৩. অরেঞ্জ মেট্রোনোমের পিপিএ
হয়ে গেল!
মেট্রোনম ইনস্টলেশন জন্য প্রস্তুত।
অরেঞ্জ মেট্রোনোম বিভিন্ন ধরণের শোনার একটি সেট আসে যা থেকে চয়ন করতে পারে, এবং বেটগুলি গ্রুপ করা যায়। সমস্ত পরিবর্তনগুলি চলমান মেট্রোনোমে তত্ক্ষণাত প্রয়োগ করা হয়:
স্থাপন করা:
sudo apt-add-repository ppa:vlijm/orangemetronome
sudo apt-get update
sudo apt-get install orangemetronome
কাজ করতে হবে
বর্তমানে মেট্রোনোমটি বেছে নিতে চারটি আলাদা শব্দ নিয়ে আসে। সম্ভবত আগামী কয়েক দিনের মধ্যে কয়েকটি যুক্ত করা হবে, তাদের মধ্যে কিছুগুলি প্রতিস্থাপন / আপডেট করা হবে
দীর্ঘমেয়াদী উপর
দীর্ঘমেয়াদী জন্য, আমি মত 3 +3 + + 2, 2 + 2 + 2 + 3 ইত্যাদি, যা আমি সবসময় বিদ্যমান metronomes মিস (কাস্টম) জটিল কাঠামো জন্য বিকল্প যোগ করার চিন্তা করছি।
পরিশেষে
সর্বশেষ (বর্তমান) সংস্করণটি 0.5.3
বেশ কয়েকটি শব্দ যুক্ত করে, তবে আরও গুরুত্বপূর্ণ, অনিয়মিত (যৌগিক) বীট চালানোর বিকল্প। এই সংস্করণে, তারা কঠোর কোডেড। সংস্করণ> 1 থেকে অনুকূলিতকরণযোগ্য হবে।