কোনও স্ক্রিপ্টের শেষে আর বিপ / শব্দ বাজানোর কোনও উপায় আছে কি?


149

আমি যখন আর স্ক্রিপ্টগুলি চালিত করি তখন অন্য ডেস্কটপে অন্য কিছু করতে যাই। আমি যদি ঘন ঘন চেক না করি তবে কখনই শেষ হবে জানি না know আমার স্ক্রিপ্টের শেষে কি কোনও বীপ (সিস্টেম বীপের মতো) অনুরোধ করার বা একটি শব্দ বাজানোর জন্য আর পেতে বা কোনও কোডের মাধ্যমে গ্রেলকে অবহিত করার কোনও উপায় আছে?

উত্তর:


98
alarm()

বিপদাশঙ্কা ফাংশন। এটি \aকনসোলে প্রেরণ করে কাজ করে


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

@ মুলোন: আমার জন্য কাজ করে, ম্যাকোএসএক্স 10.11.1, আর 3.2.2; আপনি ম্লান "পাম্প" শব্দ শুনতে পাচ্ছেন।
বেনিয়ামিন

5
উইন্ডোজ 7, ​​x64, আর 3.2.2 এ আমার জন্য কাজ করে না। beeprকাজ নিচে প্যাকেজ জরিমানা যদিও।
অগস্টিন

159

আমার কাছে একটি প্যাকেজ রয়েছে ( beepr) আরে নোটিফিকেশন শোনার একমাত্র উদ্দেশ্য যা ক্রস-প্ল্যাটফর্মের কাজ করা উচিত। বিপার ইনস্টল করতে এবং একটি শব্দ তৈরি করতে নিম্নলিখিতটি চালান:

install.packages("beepr")
library(beepr)
beep()

গিথুবে আরও তথ্য: https://github.com/rasmusab/beepr


1
আরে রাসমাস, দেখতে দুর্দান্ত লাগছে। আমি ভেবেছিলাম যে আমি এখানে জিজ্ঞাসা করব যেহেতু এই পৃষ্ঠার প্রচুর দৃশ্যমানতা রয়েছে: বিকল্পগুলি থেকে অর্থাত্ বীফারকে কল করা যেতে পারে, বিকল্পগুলি (ত্রুটি = বিপার (শব্দ = 9))? সফল রান করার পরে এটিকে কল করা দরকারী ইউ এবং আমি এটি ব্যবহার করব তবে কোডটি ক্র্যাশ হলে এটি কল করাও দুর্দান্ত লাগবে ... চিয়ার্স!
dez93_2000

4
নিশ্চিত! আপনি শুধুমাত্র এই মত একটি ফাংশন সেটিকে মোড়ানো আছে: options(error = function() {beep(9)})। দুর্দান্ত জ্বলন্ত যদিও :)
রাসমাস বুথ

3
হুররে! অন্যান্য উইন্ডোজ machine মেশিনে কাজ করে যখন অন্যান্য কিছু প্রস্তাবনা দেয় নি।
জেরেমি টাউনসলে 20'15

5
এটি এখন dplyr কে আমার প্রিয় প্যাকেজ হিসাবে ছাড়িয়ে গেছে: ডি
মুল্লেফা

2
@ ব্লুকা কি আমার while (1) beepr::beep(3) পক্ষে যেমনটি ছিল ততটাই অদ্ভুত ছিল? :}
rawr

59

ম্যাকোএসএক্স-এ আপনি কম্পিউটারকে কথা বলতে পারবেন:

system("say Just finished!")

এবং আপনি যে কৃত্রিম ভয়েস বলবেন তাও পরিবর্তন করতে পারবেন:

system("say -v Kathy Just finished!")

আপনি আপনার কম্পিউটারে উপলব্ধ যে কোনও ভয়েস চয়ন করতে পারেন। ইয়োসেমাইটে আপনি দেখতে পাচ্ছেন যে সিস্টেমের পছন্দগুলিতে -> ডিকটেশন এবং স্পিচ -> পাঠ্য থেকে স্পিচে কোন ভয়েস ইনস্টল করা আছে ।


50

এটি সম্পন্ন হওয়ার পরে আপনার এটি টুইট করা উচিত: http://cran.r-project.org/web/packages/twitteR/index.html


2
কেন: উনি উজ্জ্বল! এখন আমাকে একই ঘরে ঝুলতেও হবে না। আমি কোনও ডিএম বলার কোডটি না দেখতে পারা পর্যন্ত আমি খুশি সময় যেতে পারি এবং একটি বিয়ার বা কয়েকটি রাখতে পারি! আমি এটি চেষ্টা করেছিলাম এবং এটি দুর্দান্ত কাজ করে।
মাইসৌরা

33

alarm আমার উইন্ডোজ মেশিনে কাজ করে না তাই আমি এমন একটি ফাংশন তৈরি করেছি যা আসলে শব্দ করে।

beep <- function(n = 3){
    for(i in seq(n)){
        system("rundll32 user32.dll,MessageBeep -1")
        Sys.sleep(.5)
    }
}

এটি পরিষ্কারভাবে কেবল উইন্ডোজে কাজ করতে পারে তবে আমি গ্যারান্টি দিচ্ছি না যে এটি এমনকি নির্বিচারে উইন্ডোজ কম্পিউটারে চলে will আমি এটি কেবল আমার মেশিনে পরীক্ষা করেছি তবে আমি বুঝতে পেরেছিলাম যে কারও সাথে alarmআমার যেমন সমস্যা হয় সে ক্ষেত্রে আমি এটি পোস্ট করতাম ।


1
রহস্যময়। alarm()আমার মেশিনটি শব্দ করে তোলে (এক্সপি, ইন্টারেক্টিভভাবে আর চলছে)
বেনবার্নস

1
ডেসনের কোডটি আমার উইন্ডোজ 7 মেশিনে কাজ করছে বলে মনে হচ্ছে না।
রাসেলপিয়ের্স

@drknexus অন্যান্য বিকল্পগুলি আমার মেশিনে কাজ করে না। এই আমার মেশিনে কাজ করেছে। আমি কখনই দাবি করি না যে এটি কোনও নির্বিচারে মেশিনে কাজ করবে তবে এটি কেবল সরবরাহ করেছিল যেহেতু alarm()আমার মেশিনে কাজ করেনি এবং কোনও কারণে এটি করে।
Dason

29

বিড়াল ('হ্যালো ওয়ার্ল্ড! \ এ')


দুঃখিত মারিও কিন্তু এটি কিছুতেই সহায়তা করে না। আমি যদি স্ক্রিনটি দেখতে পারি তবে আমি কখন অবশ্যই এটি বলতে পারি তা কখন শেষ। আমার আর কিছু আউটপুট করার দরকার নেই। আমি শ্রবণযোগ্য কিছু খুঁজছিলাম দুঃখিত আমি আপনার উত্তরটি ডিনেজ করে ফেলেছি (এটিকে পূর্বাবস্থায় ফেরাতে পারে না)।
মাইসৌরা

5
কেন এটাকে বঞ্চিত করা হচ্ছে? তাকান alarmউৎস এবং আপনি যে এটি কী শুধু একটি দেখতে পাবেন cat("\a")কল।
নিকো

ঠিক আছে, আপনি কী জানেন ... এখানে একটি বিবরণ দেওয়া হয়েছে: ব্যবহারকারীকে শ্রবণযোগ্য বা ভিজ্যুয়াল সংকেত দেয়। কিন্তু এটি একই জিনিস cat("foo\a")। ব্যবহারকারীরা কি এটিকে পড়েছেন cat("Hello world!\n")? বলা শক্ত ...
এএল

2
অ্যালার্ম () = বিড়াল ('\ a') বুঝতে পারেনি, টিপটির জন্য ধন্যবাদ। পার্শ্ব নোট হিসাবে কেউ সি এবং সি ++ এও '\ a' করতে পারে (যা আমি এটি আমার কাজকর্ম সম্পর্কে অবহিত করতে ব্যবহার করছি)। দ্বিতীয় পক্ষের নোট, যদি আপনি ওএস এক্সে থাকেন এবং 'সিস্টেমের পছন্দসমূহ'> 'ইউনিভার্সাল অ্যাক্সেস'> 'শ্রবণ'> 'স্ক্রিনটি ফ্ল্যাশ করুন ...' সক্ষম করুন যখন 'এ' কার্যকর করা হবে তখন আপনার পুরো পর্দা জ্বলজ্বল করে।
এমপিকে

17

শুধু তাই নয়, প্রোগ্রামটি লুপিংয়ের সময় আপনি ইউটিউব থেকে কিছু মহাকাব্য সংগীতও রাখতে পারেন :) (উবুন্টু / ডেবিয়ানের জন্য :)

system("xdg-open 'http://www.youtube.com/watch?v=9jK-NcRmVcw'")

হ্যাঁ, দুর্ভাগ্যক্রমে ... এটি অপসারণ করা হয়েছিল ... তবে ধারণাটি স্পষ্ট :)
মোল্ডোভেন

1
আমি এটি চেষ্টা করতে চাই, দয়া করে অন্য একটি অনুলিপি খুঁজে বার করুন! :)
ওয়াল্ডির লিওনসিও

12

shell.exec("url")উইন্ডোজে কিছু ইউটিউব ক্লিপ খোলার জন্য দয়া করে ব্যবহার করুন


এই পদ্ধতির আন্ডাররেটেড হয়। তুলনামূলকভাবে দীর্ঘ সিগন্যাল কিন্তু সহজেই নিঃশব্দ সংকেত উত্পন্ন হয় (সংক্ষিপ্ত / a এর বিপরীতে)।
রাসেলপিয়ের্স

... আমি নীচে একই ধরণের একটি উত্তর সরবরাহ করি যা উইন্ডোজ ব্যতীত অন্য প্ল্যাটফর্মগুলিতে কাজ করা উচিত।
রাসেলপিয়ের্স

11

হালনাগাদ:

ম্যাকোস ১০.৯ (ম্যাভেরিক্স) এবং তারপরে, আপনি সরল অ্যাপলস্ক্রিপ্ট ব্যবহার করে বিজ্ঞপ্তিগুলি পোস্ট করতে পারেন:

theTitle <- "A Title"
theMsg <- "A message here"

cmd <- paste("osascript -e ", "'display notification ", '"', theMsg, '"', ' with title ', '"', theTitle, '"', "'", sep='')
system(cmd)

এটি terminal-notifierনীচে রেফারেন্সযুক্ত ইনস্টল করার প্রয়োজনীয়তা সরিয়ে দেয় ।

-

কমান্ড লাইন থেকে ডেস্কটপ বিজ্ঞপ্তি পেতে আমার ম্যাকে টার্মিনাল-বিজ্ঞাপক ইনস্টল করেছি । তারপরে আপনি system()কমান্ডটিতে এইভাবে কলটি গুটিয়ে রাখতে পারেন (স্পষ্টতই পথ পরিবর্তন করুন):

notify <- function(msgString='Message from R', titleString='Message from R', speakIt=FALSE) {
    cmd <- paste('~/terminal-notifier/terminal-notifier.app/Contents/MacOS/terminal-notifier -message ', '"', msgString, '"  -title "', titleString, '"', sep='')
    system(cmd)

    if (speakIt) {
        system(paste('say', msgString))
    }

}

আপনি এইভাবে ফাংশন কল করতে পারেন

notify("R is done", "Message from R", speakIt=TRUE)

এই মত একটি বার্তা পেতে:

এখানে চিত্র বর্ণনা লিখুন

আপডেট: অন্তর্ভুক্ত @ ভিএলসির sayকমান্ড।


10

জিইআইআই এবং ওয়েব ব্রাউজারগুলির সাথে ওএসের জন্য যুক্তিসঙ্গতভাবে ওএস স্বতন্ত্র কিছু সম্পর্কে কীভাবে? এমনকি এটি আরস্টুডিও সার্ভারেও কাজ করে!

browseURL('https://www.youtube.com/watch?v=QH2-TGUlwu4')

4
আমি রিক রোলটির অর্ধেক আশা
করছিলাম

8

অথবা আপনি যদি জিএনইউ / লিনাক্স ডিস্ট্রো ব্যবহার করে থাকেন এবং পিসিএসপিকিআর মডিউলটিকে কালো তালিকাভুক্ত করেন (পিসি স্পিকার সর্বদা আমাকে বিরক্ত করছিল), systemকিছু শ্রুতি / ভিজ্যুয়াল বিজ্ঞপ্তির সাথে মিলিয়ে চেষ্টা করুন , যেমন

system("aplay -t wav /usr/share/sounds/phone.wav") # for auditive bell (an I mean it literary)
system("zenity --title=\"R script info\" --text=\"Script has finished with zero exit status\" --info") # for GTK dialog

আপনি না পরীক্ষা করতে zenity ম্যানুয়াল যদি আপনি, বলে, প্রজ্ঞাপন এলাকা সতর্কতা পছন্দ ... কিন্তু, সঙ্গে systemফাংশন, আপনি প্রায় কাছাকাছি কিছু করতে পারেন: একটি ইমেল পাঠাতে, কিছু অন্যান্য স্ক্রিপ্ট চালানোর জন্য, মেশিন পুনরায় বুট, sudo rm -rf *.*ইত্যাদি কিছু ... এবং আমি এটা বোঝাতে চেয়েছেন.

তবে এটি কেবলমাত্র যদি আপনি জিএনইউ / লিনাক্স (বা ইউএনআইএক্স) বিতরণ চালাচ্ছেন তবে অন্যথায় উইন্ডোজ নির্দিষ্ট কমান্ডগুলিতে আটকে থাকুন, যদিও সে ক্ষেত্রে আমি আপনাকে বেশি তথ্য দিতে পারি না ...


7
এর সমপরিমান ম্যাকোএসএক্স হ'লgrowlnotify স্ক্রিপ্ট (গ্রোল ( গ্রেগল.info এর সাথে প্যাকেজড ) রয়েছে:system("growlnotify -t 'R script info' -m 'Finished!'")
মাইকেল ডান

6

দ্বারা অনুপ্রাণিত beepr, এই ফাংশনটি আমি বর্তমানে এই ধরণের সমস্যার জন্য ব্যবহার করছি: ডি

work_complete <- function() {
  cat("Work complete. Press esc to sound the fanfare!!!\n")
  on.exit(beepr::beep(3))

  while (TRUE) {
    beepr::beep(4)
    Sys.sleep(1)
  }
}


5

এই প্যাকেজটি একবার দেখুন: আরপুশ বুলেট

কম্পিউটার, ফোন এবং ট্যাবলেটগুলির মধ্যে দ্রুত এবং দক্ষ বিজ্ঞপ্তিগুলি (এবং ফাইল ট্রান্সফার) সরবরাহ করে এমন পুশবুলেট মেসেজিং পরিষেবাটিতে একটি আর ইন্টারফেস

আরপুশবুলেট সম্পূর্ণ ফ্রি এবং মাল্টি প্ল্যাটফর্ম। আপনার প্রশ্নের হিসাবে, আপনি আপনার ব্রাউজারে একটি পুশ পাঠাতে এই লাইব্রেরিটি ব্যবহার করতে পারেন, তবে স্পষ্টতই এটি আশ্চর্যজনক হয়ে ওঠে যখন আপনি দূরে থাকাকালীন আপনাকে অবহিত করার চেয়ে কিছু প্রয়োজন হয়। তদুপরি, আর প্যাকেজটির নির্মাতা হলেন সুপরিচিত আরসিপ্পি, ডর্ক এডেলবুয়েটেল একই। আমি বলতে পারি এটি একটি শট মূল্য!



0

এই অনেক ধারণার কারণে, আমি ইন্টারনেট অ্যাক্সেস ছাড়াই একটি সমাধান তৈরি করেছি, কারণ আমি উইন্ডোজ সহ একটি ভিপিএন ক্লায়েন্টের সাথে কাজ করি। সুতরাং এটি একটি সাধারণ উইন্ডোজ শব্দ বাজায়, যা সাধারণত কোনও উইন্ডোজ অপারেটিং সিস্টেমে থাকে।

#Function with loop, press Esc to stopp      
    alarm2 <- function(){
      while(TRUE){
        system("cmd.exe",input="C:/Windows/WinSxS/amd64_microsoft-windows-shell-sounds_31bf3856ad364e35_10.0.17134.1_none_fc93088a1eb3fd11/tada.wav")
        Sys.sleep(1)
      }
    }

লুপ ছাড়াই ফাংশন

    alarm3 <- function(){
        system("cmd.exe",input="C:/Windows/WinSxS/amd64_microsoft-windows-shell-sounds_31bf3856ad364e35_10.0.17134.1_none_fc93088a1eb3fd11/tada.wav")
        Sys.sleep(1)
    }

1
যদিও আপনি এই প্রশ্নের উত্তর ভাল ফর্ম্যাটে দিয়েছেন, উত্তর দেওয়ার আরও ভাল উপায়ের জন্য দয়া করে এই সহায়তা পৃষ্ঠাটি উল্লেখ করুন আমি কীভাবে একটি ভাল উত্তর লিখব?
ভি 8-ই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.