একটি মেট্রোনোম তৈরি করা


36

ভূমিকা

কিছু দিন আগে আমার কোনও কিছুর জন্য একটি মেট্রোণোম দরকার ছিল। আমার কোনও উপলব্ধ ছিল না তাই আমি অ্যাপ স্টোর থেকে একটি অ্যাপ্লিকেশন ডাউনলোড করেছি। অ্যাপটির আকার ছিল 71 এমবি !!!
টিক টোক তৈরির জন্য 71 এমবি ...!?
তাই কোড-গল্ফ আমার মনে আসল এবং আমি ভাবছিলাম যে আপনারা কেউ কেউ এটির উন্নতি করতে পারেন কিনা।

চ্যালেঞ্জ

গল্ফ কিছু কোড যা কিছু শব্দ আউটপুট করে। এটি বেশ অপ্রাসঙ্গিক কি ধরণের শব্দ। প্রয়োজনে কিছু শব্দ ফাইল তৈরি করুন ... তবে একটি সিস্টেম বীপও কাজটি করবে। ( এখানে আমি তৈরি কিছু শব্দ ... বিশেষ কিছুই নয়। )

ইনপুট : প্রতি মিনিটে বিটগুলি মেট্রোনম আউটপুটগুলি।

উদাহরণ

এটি একটি গল্ফযুক্ত জাভা সংস্করণ! এটি আপনাকে কেবল টাস্কটি দেখানোর জন্য।

public class Metronome {
  public static void main(String[] args) throws InterruptedException {
    int bpm = Integer.valueOf(args[0]);
    int interval = 60000 / bpm;

    while(true) {
        java.awt.Toolkit.getDefaultToolkit().beep();
        // or start playing the sound
        Thread.sleep(interval);
        System.out.println("Beep!");

    }
  }
}

বিধি

আপনি বহিরাগত bণপত্র ব্যবহার নাও করতে পারেন, কেবল ভাষার সরঞ্জামই মঞ্জুরিপ্রাপ্ত।
কেবলমাত্র সোর্স কোড গণনার বাইটগুলি ... সাউন্ড ফাইল নয়।

এটি , তাই সর্বনিম্ন পরিমাণ বাইটের সাথে জমাটি জয়!

সম্পাদনা করুন:

উদাহরণ আউটপুট: সুতরাং এর মতো কিছু হবে 120 বিপিএস : লিঙ্কের আউটপুট


1
আপনি কি I / O এর জন্য কয়েকটি উদাহরণ যুক্ত করতে পারেন (কিছু শব্দ রেকর্ড করুন এবং এটি আপলোড করুন, লিঙ্কগুলি এখানে পোস্ট করুন)?
অ্যাডিসন ক্রম্প 14

2
প্রশ্ন: আপনি যখন "বাহ্যিক গ্রন্থাগারগুলি" বলবেন, তখন কি ভাষাটির সাথে পরামর্শ দেওয়া লাইব্রেরিগুলি অন্তর্ভুক্ত করে? (আমি এটি ব্যবহার করব না, তবে এর একটি উদাহরণ ভিটসিতে রয়েছে যেখানে আমি শেল বা জেএস অ্যাক্সেস করতে পারি (তবে জেএসটি বিল্টইন))
অ্যাডিসন

3
আপনি কি লিডারবোর্ড স্নিপেট এ যোগ করতে পারেন ?
অ্যাডিসন ক্রম্প 21

1
আপনি যে অ্যাপ্লিকেশনটি ডাউনলোড করেছেন তার বেশিরভাগই চমত্কার গ্রাফিক্স এবং সাউন্ড এফেক্ট। এটি সেই ফ্ল্যাশলাইট অ্যাপগুলির মতো যা স্ক্রিনটি সব সাদা করার পরিবর্তে কিছুই করে না তবে এখনও কয়েক দশক এমবি ব্যবহার করতে পারে ...
ড্যারাল হফম্যান

1
নির্ভুলতার উপর প্রয়োজনীয়তা কী? আপনার নমুনায়, উভয় beep()এবং কনসোল আউটপুট হ'ল তাত্ক্ষণিক আইআইআরসি নয়। sleep()উভয়ই সঠিক মৌমাছির জন্য পরিচিত নয় ।
Num Lock

উত্তর:


19

গণিত, 26 বাইট

Pause[Beep[];60/#]~Do~∞&

Doস্বাভাবিকভাবে হিসাবে ব্যবহার করা হয় একটি সরু অর্থে লুপ "জন্য": প্রতিটি কোড এই টুকরা পুনরাবৃত্তি iথেকে xথেকে y... বা এমনকি শুধু কোড এই টুকরা পুনরাবৃত্তি nবার। একটি সংখ্যার পরিবর্তে nআমরা এটিকে অনন্ত দিতে পারি যদিও অসীম লুপ তৈরি করি। লুপ বডিটি Pause[Beep[];60/#]যা লেখার কেবল একটি দৃষ্টিনন্দন উপায় Beep[];Pause[60/#]যেখানে #ফাংশন আর্গুমেন্ট।

যদি কল স্ট্যাকটি শেষ পর্যন্ত উড়িয়ে দেওয়ার সমাধানটি গ্রহণযোগ্য হয় তবে আমরা পুনরাবৃত্ত সমাধানের মাধ্যমে একটি বাইট সংরক্ষণ করতে পারি:

#0[Beep[];Pause[60/#];#]&

আমি জানতাম না যে ~Do~∞এটি সম্ভব ছিল। একটি Forলুপ আমাকে 29 বাইটে পেয়েছে। (এছাড়াও, আমি ব্যক্তিগতভাবে বিশ্বাস করি যে 26-বাইট সংস্করণটি কেবলমাত্র বৈধ একটি))
LegionMammal978

@ LegionMammal978 দুর্ভাগ্যক্রমে, ~Do~∞কোনও ভেরিয়েবল থেকে আসে বলে মনে হয় না work (আপনার সত্যের মেশিনটি গল্ফ করার সময় আমি এটি ব্যবহার করার চেষ্টা করেছি))
মার্টিন এেন্ডার

1
Attributes[Do]অন্তর্ভুক্ত HoldAll, তাই আমার অনুমান যে _~Do~∞একটি বিশেষ মূল্যায়ন প্যাটার্ন আছে।
LegionMammal978

@ LegionMammal978 এটি ভেরিয়েবলগুলির মতো আরও বেশি মনে হয়, কারণ Do[...,a]যেখানে অনন্তত্ব aরয়েছে তার জন্য ত্রুটি বার্তাটি কল হিসাবে প্রদর্শিত হয় Do[...,{a}]
মার্টিন এন্ডার

14

পাইথ, 11 10 9 বাইট

আমাকে স্মরণ করিয়ে দেওয়ার জন্য আদনানকে ধন্যবাদ #

#C7.dc60Q

সর্বদা ( #), মুদ্রণ Cহার কোড 7। তারপরে ঘুম ( .d) 60সেকেন্ডে ( c) ইনপুট ( Q) দ্বারা বিভক্ত ।


@ আদনান সে সম্পর্কে ভুলে গেছেন। ধন্যবাদ।
পূর্কাকুডারী

আপনার কি জায়গা দরকার?
lirtosiast

@ থমাসকওয়া হ্যাঁ আইআইআরসি 7.একটি নম্বর হিসাবে পার্স করা হবে।
কনর ও'ব্রায়ান

5
উহু. #pythnoob
কনর ও'ব্রায়ান

2
আমি চেষ্টা করেও ঘুমাতে পারিনি .ড। এটি ইউনিক্সের সময় মুদ্রণ রেখেছিল
বুসুকসুয়ান

8

জাভাস্ক্রিপ্ট, 36 45 42 41 34 বাইট

@ রিকারডাব্লু ধন্যবাদ 1 বাইট সংরক্ষণ করা

@ বুদ্ধিমানের জন্য 1 টি বাইট সংরক্ষণ করা হয়েছে

n=>{for(;;sleep(60/n))print("\7")}

এটি একটি ফাংশন।

যদি আমি ব্যবহার করি তবে `\7`স্পাইডারমনকি অভিযোগ করেছেন যে অক্টাল লিটারালগুলি হ্রাস করা হয়েছে।

বিকল্প, 31 বাইট

n=>{for(;;sleep(60/n))print``}

সমস্যাটি হ'ল অপ্রিন্টেবলগুলি ছিনতাই করা হয় তবে এটি কাজ করা উচিত।


দাম্মিত, আমি এই জাতীয় কিছু পোস্ট করতে চলেছিলাম। আমি এখনও এটি পোস্ট করতে যাচ্ছি (কারণ এটি নোড এবং সমস্ত ব্যবহার করে) কারণ আমি ভিন্ন পদ্ধতির ব্যবহার করি।
অ্যাডিসন ক্রম্প 18

আমি প্রশ্নটি যেভাবে দেখেছি তা যদি আপনি এটি দেখতে পান তবে পুনরাবৃত্তির সমাধান সম্ভব হবে না। মেট্রোনোমগুলি কাজ এবং কাজের জন্য তৈরি করা হয় ... কিছু সময়ের পরে ক্রাশ হওয়ার জন্য নয়।
নাশপাতি

@PEAR এটি ক্রাশ করা উচিত নয় কারণ কোনও ভেরিয়েবল ইনক্রিমেন্ট হচ্ছে না। কেবলমাত্র এটির কারণেই এটি ক্র্যাশ হতে পারে টার্মিনাল বাফারটি আধুনিক কম্পিউটারগুলিতে ব্যতীত যা> 50-100 বছর আমার মনে হতে পারে
ডাউনগোট

এটি কোন পরিবেশের অধীনে চলে? আমি ক্রোম এবং নোড.জেএস চেষ্টা করেছি, কিন্তু আমি এটি কাজ করতে পারি না।
স্টারবিয়াম্রেনবোলাবস

@ স্টারবিআমরিনবোলাবস এটি জাভাস্ক্রিপ্ট শেল (স্পাইডারমনকি) ব্যবহার করে
ডাউনগোট

8

বাশ, 53 55 41 বাইট

14 ডাইট 1 শেভ করার জন্য @ ডেনিসকে ধন্যবাদ

ঠিক আছে, সত্য সময়: আমি গল্ফিং ব্যাশে ভয়ানক। কোনও সহায়তা তাই খুব প্রশংসা হবে।

echo " ";sleep `bc -l<<<60/$1`;exec $0 $1
      ^ That's ASCII char 7

1 পবিত্র জঞ্জাল। অবাক হওয়ার কিছু নেই যে কেউ ডেনিসকে ছাড়িয়ে যেতে পারে না।


কি while 1সম্ভব?
পিয়ার

@ পেয়ার নূপি - ইতিমধ্যে এটি চেষ্টা করে।
অ্যাডিসন ক্রম্প 19

while printf \\aসম্ভবত?
নীল

এটি কার্যকর হয় না কারণ বাশ পূর্ণসংখ্যা বিভাগ ব্যবহার করে। আপনার ব্যবহার করা দরকার bc
একটি স্প্যাগেটো

1. বিএল চরিত্রটি বাশের পক্ষে বিশেষ নয়, সুতরাং আপনার উদ্ধৃতিগুলির প্রয়োজন নেই। ২. আপনি যদি সিএলএ হিসাবে ইনপুটটি পড়েন তবে আপনার প্রয়োজন হবে না read। ৩. echoকোডটি সহ উপস্থিত রয়েছে, সুতরাং আপনি সেই বিবৃতিটি পরিবর্তে ব্যবহার করতে পারেন true
ডেনিস

7

জাভাস্ক্রিপ্ট ES6 (ব্রাউজার), 43 বাইট

এটি নিয়মগুলি প্রসারিত করতে পারে:

x=>setInterval('new Audio(1).play()',6e4/x)

এই ফাংশনটিকে একটি নাম দিন (উদাঃ F=x=>...) এবং এটি এই পৃষ্ঠায় ব্রাউজার কনসোলে প্রবেশ করুন । তারপরে আপনার বিপিএস সহ ফাংশনটি কল করুন, যেমন F(60), এবং যাদুটি হওয়ার জন্য অপেক্ষা করুন। :-)

কেন এই কাজ করে? ওয়েল,b.html ফাইল হিসাবে একই ফোল্ডারে 1, যা ওপি থেকে নমুনা শব্দ ফাইল। আমি নিশ্চিত নই যে এটি নিয়মের মধ্যে রয়েছে কিনা (আমার ধারণা এটি শেল সংস্করণের মতো; এটি একটি নির্দিষ্ট পরিবেশে চালানো দরকার) তবে এটি শট করার মতো ছিল।

নিরাপদ সংস্করণ, 57 বাইট

উপরের কোডটি যদি কোনও কারণে অনুমোদিত না হয় তবে পরিবর্তে এটি ব্যবহার করে দেখুন:

x=>setInterval('new Audio("//ow.ly/Xrnl1").play()',6e4/x)

যে কোনও পৃষ্ঠায় কাজ করে!


এটি একটি আন্তঃসম্পর্কীয় সমাধান। আপনি ফাইলটি ডাউনলোড এবং নাম পরিবর্তন করার সময় এটি আরও ছোট হয়, তাই না?
পেরোয়ার

@ পিএআর এটি সংক্ষিপ্ত হবে তবে চালানোর জন্য একই ফোল্ডারে সাউন্ড ফাইল সহ এটির নিজস্ব ওয়েবপেজ দরকার।
ETH প্রোডাকশনস

ওহ, এটা জাভাস্ক্রিপ্ট xD ... তুমি ডান
PEAR

@ পেয়ার, আমি এটি করেছি। নিয়মের মধ্যেই কি এই নতুন সমাধান?
ইটিএইচ প্রডাকশনগুলি

হাহ। আপনি নির্দিষ্ট ওয়েবপৃষ্ঠা সহ এটি জেএস উল্লেখ করতে পারেন। এটি একটি পূর্বনির্ধারিত দোভাষী, সুতরাং এটি একটি বৈধ ভাষা।
অ্যাডিসন ক্রম্প 19

6

05AB1E , 31 বাইট

কোড:

I60s/[7ç?D.etime.sleep(#.pop())

আমার যদি এন সেকেন্ড অপেক্ষা করার জন্য অন্তর্নির্মিত থাকে তবে এটি 11 বাইট হতে পারে। দুর্ভাগ্যক্রমে, এটি ক্ষেত্রে নয়। এখানে ব্যাখ্যা:

I                               # Push input
 60                             # Push 60
   s                            # Swap the top 2 items
    /                           # Divide the top 2 items
     [                          # Infinite loop
      7ç                        # Push the character \x07
        ?                       # Output it, which give a sound
         .e                     # Evaluate the following as Python code
           time.sleep(       )  # Wait for N seconds
                      #         # Short for stack
                       .pop()   # Pop the last item

আইএসও 8859-1 এনকোডিং ব্যবহার করে।


এই প্রথম 05AB1E উত্তর এক o.Ô এটি দেখতে খুব অদ্ভুত দেখায় হতে হবে time.sleepএবং .pop()যে মত কোড মাঝখানে। ;)
কেভিন ক্রুইজসেন

6

osascript, 39 বাইট

on run a
repeat
beep
delay 60/a
end
end

আক্ষরিক অর্থে কি বিপ নামে একটি আদেশ আছে? Sweeeet!

সীমাবদ্ধ লাইসেন্সের কারণে কেবল ম্যাক ওএস এক্সে চলমান, তবে চালানোর জন্য, করুন:

osascript -e "on run a
repeat
beep
delay 60/a
end
end" bpm

6

পাইথন, 68 67 57 বাইট

@ ফ্ল্যাগএএসপিএমে ধন্যবাদ 1 বাইট সংরক্ষণ করা হয়েছে

@ আদনানকে 9 টি বাইট সংরক্ষণ করা হয়েছে

import time
a=input()
while 1:print"\7";time.sleep(60./a)

এছাড়াও লাইন এন্ডিংগুলি ইউনিক্স ফর্ম্যাটে রূপান্তর করার পরে এটি 2 বাইট কম নিয়েছিল।

পুরানো সংস্করণ, এটি কমান্ড লাইন আর্গুমেন্ট হিসাবে বিপিএম লাগে (by 66 বাইট):

import sys,time
while 1:print"\7";time.sleep(60./int(sys.argv[1]))

4
তুমি কি পারবে না print"\7";? আমি নিশ্চিত নই, তবে আমি নিশ্চিত যে এটি কার্যকর।
অ্যাডিসন ক্রম্প

@ অ্যান্ডন নো, ইনপুট () ব্যবহারকারী থেকে ইনপুট অনুরোধ করে। আমি জানি না যে এটি কোনও বৈধ ইনপুট হিসাবে বিবেচিত হয়েছে। এছাড়াও সংখ্যায় রূপান্তর প্রয়োজন যাইহোক।
ওয়েবওয়্যার 21

1
কীভাবে a=input()এবং aপ্রতিস্থাপন int(sys.argv[1])? আমি সবসময়ই ভেবেছিলাম পাইথন 2 স্বয়ংক্রিয়ভাবে ইনপুটকে মূল্যায়ন করে এবং তাই ইনট রূপান্তরটির প্রয়োজন নেই তবে আমি ভুল হতে পারি।
আদনান

@ অ্যান্ডান input()আসলে অটো মূল্যায়ন করে। আমি সেই বৈশিষ্ট্যটি ভুলে গেছি। এটি বরং অযৌক্তিক - সম্ভবত পুরানো কাল থেকে একটি উত্তরাধিকার।
ওয়েবওয়ারিওর

সম্পূর্ণ অপসারণের time.sleep(60./a)সাথে time.sleep(60./input()), প্রতিস্থাপন করা যাবে a=input()?
হাততালি


4

Vitsy, 14 বাইট

a6*r/V1m
<wVO7

ভার্বোজ মোড (দোভাষী খুব শীঘ্রই আসছেন):

0:                              // a6*r/V1m
push a; // 10
push 6;
multiply top two; // 60
reverse stack; // bpm on top
divide top two; // bpm/60
save/push permanent variable; 
push 1;
goto top method; // goes to 1
1:                              // <wVO7
go backward; // infinite loop, from the bottom of 1
wait top seconds;
save/push permanent variable; // pushes the bpm in terms of seconds of delay
output top as character;
push 7;

মূলত, আমি অসীম লুপটি মুড়ে wনির্দিষ্ট দ্বারা সেকেন্ডের নির্দিষ্ট সংখ্যার জন্য অপেক্ষা করতে অপারেটরটি ব্যবহার করি bpm/60। তারপরে, আমি ASCII অক্ষর 7 ( BEL) এর টার্মিনাল আউটপুট দিয়ে শব্দ করব ।


দেখতে সুন্দর লাগছে, তবে আমি কীভাবে এটি পরীক্ষা করতে পারি? :)
পিয়ার এয়ার

@PEAR আপনাকে দোভাষীটি ডাউনলোড করতে হবে (শিরোনামে এটি লিঙ্ক করতে ভুলে গেছেন)। এটি একটি ফাইলে সংরক্ষণ করুন এবং এটি দিয়ে চালান java -jar Vitsy.jar <filename>
অ্যাডিসন ক্রম্প 19

4

সি #, 118 বাইট

class A{static int Main(string[]a){for(;;System.Threading.Thread.Sleep(60000/int.Parse(a[0])))System.Console.Beep();}}

বেসিক সমাধান।


কেন ASCII চর 7 মুদ্রণ করবেন না?
অ্যাডিসন ক্র্যাম্প

@ ফ্ল্যাগএএসপ্যাম এটি দীর্ঘ: সিস্টেম বীপ ব্যবহার করে System.Console.Beep();এবং অক্ষরটি ব্যবহার করে মুদ্রণ করে System.Console.Write('<\a character>');
LegionMammal978

ওহো। একটি চরিত্র লেখার জন্য এটি অনেক কিছুই।
অ্যাডিসন ক্রম্প 19

4

জাভা, 103 82 বাইট

21 জ্যাকেট কামিয়ে দেওয়ার জন্য @ জাস্টিনকে ধন্যবাদ!

ওহ, গীজ

void x(int b)throws Exception{for(;;Thread.sleep(60000/b))System.out.print('\7');}

নমুনা প্রোগ্রামটির পদ্ধতি এবং গল্ফ সংস্করণ।


এর System.out.print('\7');পরিবর্তে কেন java.awt.Toolkit.getDefaultToolkit().beep();?
জাস্টিন

@ জাস্টিন \ কেবলমাত্র রেগেক্স অক্ষর থেকে বেরিয়ে আসার জন্য।
অ্যাডিসন ক্রম্প

1
কোন ব্যাকস্ল্যাশ একটি অব্যাহতি ক্রম হয়। '\7'বেল চরিত্রটি, যা মুদ্রিত হওয়ার পরে একটি শব্দ করে
জাস্টিন

@ জাস্টিন হু আমি সর্বদা এটিতে ত্রুটি ফেলেছি (ডাবল উদ্ধৃতি ব্যবহার করার সময়)। আমার ভুল. ধন্যবাদ! : ডি
অ্যাডিসন ক্রম্প 11

3

GMC-4 মেশিন কোড, 21.5 বাইট

সরলীকৃত নির্দেশ সেট এবং কম্পিউটারে অ্যাসেম্বলি ভাষার নীতিগুলি শেখানোর জন্য গ্যাককেন নামে একটি সংস্থা জিএমসি -4 একটি 4-বিট কম্পিউটার। এই রুটিন 0x5Dমাধ্যমে ডেটা মেমরি ঠিকানার ইনপুট নেয়0x5F বিগ-এন্ডিয়ান দশমিক (যেটি প্রতি নিম্বল প্রতি এক অঙ্ক) এর ।

অ্যালগোরিদম মূলত ইনপুটটি মেমরিটিতে যুক্ত করে 0.1s অপেক্ষা করে, যতক্ষণ না এটি অন্তত 600 হয়, এবং তারপরে একটি অসীম লুপে 600 বিয়োগ করে এবং বীপিং করছে। যেহেতু জিএমসি -4 এ একগুচ্ছ নিবন্ধক অদলবদল কার্য রয়েছে তবে নিবন্ধের অনুলিপি নেই ফাংশন নেই, এটি কঠোর উপায়ে করা হয়।

হেক্সে (দ্বিতীয় লাইনটি মেমরিতে অবস্থান):

A24A14A04 80EC AF5A2EF AE5A1EF AD5A0EF 8A6 F2AF09 86ADEEE9F09
012345678 9ABC DEF0123 4567890 ABCDEF0 123 456789 ABCDEF01234

সমাবেশে:

    tiy 2     ;ld y, 0x2
    AM        ;ld a, [0x50 + y]
    tiy 1
    AM
    tiy 0
    AM
start:
    tia 0     ;ld a, 0x0
    cal timr  ;pause for (a+1)*0.1 seconds
    tiy F
    MA        ;ld [0x50 + y], a
    tiy 2
    cal DEM+  ;add a to [0x50 + y]; convert to decimal and carry.
    tiy E     ;do the same for the second digit
    MA
    tiy 1
    cal DEM+
    tiy D     ;and the third.
    MA
    tiy 0
    cal DEM+
    tia A
    M+
    jump beep
    jump start
beep:
    tia 6
    tiy D
    cal DEM-
    cal SHTS  ;'play short sound'
    jump start

দাবি পরিত্যাগী:

আমি আসলে জিএমসি -4 এর মালিক নই। আমি অনলাইনে ডকুমেন্টেশন সহ সাবধানতার সাথে এই প্রোগ্রামটি চেক করেছি, তবে আমার কোনও ভুল হতে পারে। আমিও শেষ কথা জানি না। দেখে মনে হচ্ছে GMC-4 বিগ-এন্ডিয়ান, তবে আমি নিশ্চিত নই। যদি কেউ GMC-4 এর মালিক এবং এটি যাচাই করতে / GMC-4 এর অন্তর্নিহিততা আমাকে বলতে পারে, আমি এটির অনেক প্রশংসা করব।


3

সি, 48 বাইট

void f(int b){while(printf(""))Sleep(60000/b);}
                            ^ literal 0x07 here

একটি উইন্ডোজ-কেবল সমাধান (স্লিপ () ফাংশন, নির্দিষ্ট করার জন্য)।

আমি (আব) সত্যটি ব্যবহার করেছি যে প্রিন্টফ () মুদ্রিত অক্ষরের সংখ্যাটিকে অসীম লুপ শর্ত হিসাবে ব্যবহার করতে প্রত্যাবর্তন করে।

প্রিন্টফ () কলটিতে ডাবল-কোটসের মধ্যে একটি চরিত্র রয়েছে তবে এটি কোনও কারণে এখানে প্রদর্শিত হয় না। যদি সন্দেহ হয়, সাব্লাইম পাঠ্য 2 বা নোটপ্যাড ++ এ অনুলিপি করুন এবং আটকান, চরিত্রটি হিসাবে প্রদর্শিত হবেBEL

এটি সি ++ সমাধান হিসাবে শুরু হয়েছিল তবে এটি সি ++ এর সি-উপসেটে পড়েছে (কারণ আপনি জানেন যে এর Sleep()চেয়ে খানিকটা খাটো std::this_thread::sleep_for(std::chrono::milliseconds())) এবং এর printf()চেয়ে সংক্ষিপ্ত std::cout<<)।


3

অ্যাপলস্ক্রিপ্ট 94 বাইট

আমি জানি যে আমি বেশ দেরি করেছি, এবং এটি এখানে আমার প্রথম পোস্ট, তবে যাই হোক না কেন।

কথোপকথন "" ডিফল্ট উত্তর "" প্রদর্শন করুন
এক্স সেট করে 60000 / ফলাফলের পাঠ্য ফিরে আসল
পুনরাবৃত্তি
হুইসেল
বিলম্ব এক্স
শেষ

Ungolfed:

কথোপকথন "" ডিফল্ট উত্তর "" প্রদর্শন করুন
এক্স সেট করুন 60000 / (ফলাফলের পাঠ্য ফিরে এসেছে)
পুনরাবৃত্তি
    হুইসেল
    বিলম্ব এক্স
শেষ পুনরাবৃত্তি

আরে, নতুন উত্তর :) দুর্ভাগ্যবশত আমি ম্যাক না থাকলে আমি আপনার পোস্টটি চেষ্টা করতে পারছি না;) - তবে অনেক ধন্যবাদ
পিয়ার

@PEAR আপনাকে স্বাগতম :)
আপনি

প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্বাগতম। এটি ভাল উত্তর, +1। উত্তর দিন!
wizzwizz4

2

ভিবিএস স্ক্রিপ্ট, 113 66 বাইট

a=InputBox("")
Do
WScript.Echo(Chr(7))
WScript.Sleep(60000/a)
Loop

এই প্রোগ্রামটি যথেষ্ট সহজ; এটি ইনপুট নেয়, বিএল চরিত্রটি প্রতিধ্বনিত করে এবং অপেক্ষা করে। প্রায় অর্ধেক প্রোগ্রাম শেভ করার জন্য নিলকে ধন্যবাদ!


এর সাথে কী হয়েছে WScript.Echo CHR(7)? এছাড়াও, আপনি বোঝাতে চেয়েছিলেন 60000?
নীল

@ নীল আহ, হ্যাঁ তাদের সম্পর্কে ভুলে গেছি ;;
কনর ও'ব্রায়ান

2

রুবি, 37 33 বাইট

m=->b{loop{puts"\7"
sleep 6e1/b}}

অনেকটাই অকপট.

এটি ল্যাম্বদা ফাংশন। আপনি 60 BPM চেয়েছিলেন, আপনি করতে চাই: m[60]


তাত্ত্বিকভাবে $><<?\aবীপের জন্যও কাজ করা উচিত। আর তোমার proc জন্য একটি নাম দিতে হবে না কোন (চর্বি তীর ফাংশন সঙ্গে সব জাভাস্ক্রিপ্ট সমাধান এটি হস্তান্তর করা হয়নি ছেড়ে চলে যান), আপনি এটি বেনামে খুব কল করতে পারেন: ->b{loop{$><<?\a;sleep 6e1/b}}[60]
manatwork

@ মান্যাটওয়ার্ক আমার কেবল রুবি ২.x আছে, তাই আমি পরীক্ষা করতে পারিনি ?\a; আপনার কি রুবি ১.x আছে? যদি তাই হয়, আপনি পরীক্ষা করতে পারেন যে এটি কাজ করে?
জাস্টিন

ঠিক আছে, আমার একটি রুবি রয়েছে 1.9.3 এবং কোডটি এতে কোনও ত্রুটি উত্থাপন করে না। তবে পরীক্ষার সাথে আমার আরও একটি সমস্যা আছে: আমার মেশিনে কোনও বীপ নেই। রুবি বা অন্য কিছু না। একবার কিছু সেট করুন, কোন ধারণা নেই।
manatwork

2

জাপট, 30 বাইট

6e4/U i`?w Au¹o('../1').play()

?আক্ষরিক বাইট হওয়া উচিত 9Aএটি অনলাইন পরীক্ষা! (পপ-আপটি প্রথম কয়েকটি মারতে দেরি করার জন্য দুঃখিত; এটি শীঘ্রই সরানো হবে))

কিভাবে এটা কাজ করে

6e4/U i"new Audio('../1').play()  // Implicit: U = input bps
6e4/U                             // Calculate 60000 / U.
      i                           // Set a timed event every that many milliseconds,
       "new Audio('../1').play()  // running this code every time.
                                  // ../1 is the path to the file used in my JS entry.

2

মাম্পস, 18 বাইট

R I F  H 60/I W *7

বিপিএমটি ভেরিয়েবল আইতে পড়ুন, তারপরে এফ {এর পরে দুটি স্পেস সহ inf একটি ইনফিনেট লুপ। 60 সেকেন্ড / বিপিএমের জন্য স্থগিত করুন, তারপরে output CHR (7) {Ascii: BEL write স্ট্যান্ডার্ড আউটপুটটিতে লিখুন, প্রয়োজনীয় অডিও আউটপুট প্রদান করুন, তারপরে অসীম লুপটিতে পুনরায় চালু করুন।


2

জাভা, 321 অক্ষর

খুব ভাল শোনাচ্ছে. কেবল এমআইডিআই সমর্থন সহ সিস্টেমে কাজ করে।

import javax.sound.midi.*;import java.util.*;class A{public static void main(String[] a) throws Exception{int d=new Scanner(System.in).nextInt();Synthesizer b=MidiSystem.getSynthesizer();b.open();MidiChannel c=b.getChannels()[0];c.programChange(116);while(true){c.noteOn(0,100);Thread.sleep((int)(d/.06));c.noteOff(0);}}}


দেখতে দুর্দান্ত লাগছে, তবে এটি আমার পক্ষে কাজ করে না: পেস্টবিন.কম
পিয়ার

@PEAR স্থির আমি একটি কাস্ট ভুলে গেছি।
ব্যবহারকারীর নাম

@PEAR এবং একটি আমদানি
ব্যবহারকারীর নাম

@ পিইআর, আমি কোনও শব্দ না থাকার কারণে কিছু অপস বদল করেছি
ব্যবহারকারীর

2

চুক , 90 বাইট

সাদা শব্দ যা প্রতি দুটি টিকিটে চালু এবং বন্ধ হয়।

60./Std.atoi(me.arg(0))*1000=>float s;while(1){Noise b=>dac;s::ms=>now;b=<dac;s::ms=>now;}

ব্যাখ্যা

60./Std.atoi(me.arg(0)) //Convert the input to an int and divide 60 by it
*1000                   //Multiply by 1000 (in order to avoid s::second)
=>float s;              //Store it as a float in variable s
while(1)                //Forever,
{Noise b=>dac;          //Connect a noise generator b to the audio output
s::ms=>now;             //Wait for s milliseconds
b=<dac;                 //Disconnect b from the audio output
s::ms=>now;}            //Wait for s milliseconds

এটি একটি বীটে শব্দটি চালু করার জন্য তৈরি করা হয়, তারপরে এটি পরে বিটটি বন্ধ করে দিন।

98 93 বাইট সংস্করণ (ফ্যানসিয়ার)

সাদা টাইট প্রতি 10 মিলিসেকেন্ডের জন্য খেলেছে।

60./Std.atoi(me.arg(0))*1000-9=>float s;while(1){Noise b=>dac;10::ms=>now;b=<dac;s::ms=>now;}

ধ্রুব শব্দটি চালু এবং বন্ধ হওয়ার পরিবর্তে এটি ক্লিক করে তৈরি করা হয়।


2

পার্ল 5, 36 বাইট

{{$|=print"\a";sleep 60/$_[0];redo}}

একটি subroutine; হিসাবে এটি ব্যবহার করুন

sub{{$|=print"\a";sleep 60/$_[0];redo}}->(21)

sleepসেকেন্ডে হয়, সুতরাং আপনার প্রতি মিনিটে 60 এর বেশি বীপ থাকতে পারে না, এটির প্রয়োজন কিনা তা নিশ্চিত নন। এছাড়াও, আপনি সম্ভবত একই বাইট গণনা রাখতে পারেন তবে এমন কিছু করে একটি সম্পূর্ণ প্রোগ্রাম রাখতে পারেন: $|=<>;{print"\a";sleep 60/$|;redo}(এখনই এটি পরীক্ষা করতে পারবেন না)।
চ্যাটারঅন

@ চ্যাটারঅন, এর ডকুমেন্টেশন অনুসারে, আপনি ঠিক বলেছেন sleep। কিন্তু এটা আমার জন্য কাজ করেন।
এমএস 210

1

জলফ, 7 বাইট, নন-কেপটিং ing

এটি খুব সূক্ষ্ম চ্যালেঞ্জ হওয়ার পরে আমি শব্দগুলি যুক্ত করেছি।

TΑa/Αaj
T       set an interval
 Αa      that plays a short beep (Α is Alpha)
   /Αaj  every 60000 / j (the input) seconds. (Αa returns 60000)

আপনি যদি এই শব্দটি সাফ করার ইচ্ছা করেন তবে আউটপুটটি নোট করুন। বলুন যে সংখ্যাটি x। অন্য জल्फ কমান্ড কার্যকর করুন ~CP"x", এবং অন্তর সাফ হয়ে যাবে।


1

Zsh , 32 বাইট

<<<$'\a'
sleep $[60./$1]
. $0 $1

শীর্ষস্থানীয় বাশ উত্তরের উপর ভিত্তি করে sourceএস এর পরিবর্তে execএস। $0:aমূল ফাইলটি কীভাবে কার্যকর করা হয় তার কারণে টিআইও লিঙ্কের উত্স , তবে এটি ছাড়া এটি কাজ করবে।

এটি অনলাইন চেষ্টা করুন!


আপনি পার্টিতে দেরী করেছেন তবে এটি দেখতে দুর্দান্ত সমাধানের মত দেখাচ্ছে!
পেরিয়ার 9:30

আমি জানি যে আমি দেরি করে এসেছি, তবে আজকে আমি কেবল গল্ফের মতো অনুভব করেছি। মজাদার জন্য সঙ্গীত ট্যাগটি চেক করার সিদ্ধান্ত নিয়েছে এবং এই চ্যালেঞ্জটি পেয়েছে found ভাল, বিটিডব্লিউ!
গামা ফাংশন

0

বাশ + বিসি + > <> , 44 বাইট

> << দোভাষী আপনাকে একটি টিক সময় নির্ধারণ করতে দেয়:

python fish.py -t $(bc -l<<<"2/$1/60") -c 7o

সিস্টেম বিপ তৈরি করে, > << কোডটি অক্ষরটি 7oআউটপুট করা উচিত BEL। বাধা না দেওয়া পর্যন্ত এটি লুপ হবে। মান (2 / আরপিএম) / 60 যাতে পুরো কোড গাওয়া হয় আরপিএম * 60 প্রতি সেকেন্ডে বার সেট করা হয়।
-t


কিছুটা সময় প্রকাশের পরে একটি নতুন উত্তরের জন্য অনেক ধন্যবাদ। আমার জন্য কাজ করে না :( আমার সিস্টেমের সমস্যা বা অন্য কিছু আছে কিনা তা নিশ্চিত নয় I আমি গিটহাব থেকে ফিশ.পি ডাউনলোড করেছি এবং আপনার কমড (ওপেনসুএস) কার্যকর করেছি this .py [-h] (<স্ক্রিপ্ট ফাইল> | -c <কোড>) [<অপশন>] fish.py: ত্রুটি: যুক্তি -t / - টিক্ টিক্ শব্দ: প্রত্যাশিত একটি আর্গুমেন্ট
PEAR

আপনি bcইনস্টল করা আছে? দেখে মনে হচ্ছে $(bc -l<<<"2/$1/60")কোনও আউটপুট উত্পাদন করেনি। আমি এটিকে উত্তরের ভাষার তালিকায় যুক্ত করব। আমি এখনও আমার উত্তরটি পুরোপুরি পরীক্ষা করতে সক্ষম হইনি, সুতরাং কিছুটা ত্রুটিও থাকতে পারে।
অ্যারন

0

স্মাইলব্যাসিক, 26 বাইট

INPUT B$BGMPLAY@8T+B$+"[C]

এটি যে কোনও সাধারণ মিডি উপকরণ খেলতে পারে, যদিও 9 এর উপরে যে কোনও কিছু বাইট ব্যবহার করবে।


0

স্ট্যাক্স, 17 বাইট

ü7»♥O╚⌂╥☻≈OyM╜Δ∩`

বা, প্যাকযুক্ত:

4|A48*x/W2|A]pc{| }*

প্রোগ্রামটি আউটপুট করে দেয় যে, কমান্ড লাইন সরঞ্জামের মাধ্যমে ডিফল্ট সেটিং দিয়ে অ্যাপ্লে সরবরাহ করা হলে একটি মেট্রোনোম শব্দ হয়। ইনপুটটি বিপিএম হিসাবে ব্যবহৃত হয়

উদাহরণ:

example-stax-interpreter metronome.stax -i "60" | aplay

কাঙ্ক্ষিত বিপিএমে আপনার একটি ভয়ঙ্কর বীপিং শোনা উচিত

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.