Pertanyaan Bunyi alarm ketika kode selesai


Saya berada dalam situasi di mana kode saya membutuhkan waktu sangat lama untuk dijalankan dan saya tidak ingin menatapnya sepanjang waktu tetapi ingin tahu kapan itu selesai.

Bagaimana saya bisa membuat kode (Python) semacam suara "alarm" ketika selesai? Saya merenungkan membuatnya memainkan file .wav ketika mencapai akhir kode ...

Apakah ini bahkan ide yang layak? Jika demikian, bagaimana saya bisa melakukannya?


75
2018-05-15 19:04


asal


Jawaban:


Di Windows

import winsound
duration = 1000  # millisecond
freq = 440  # Hz
winsound.Beep(freq, duration)

Frekuensi di mana frekuensi dalam Hz dan durasi dalam milidetik.

Di Linux (dan Mac)

import os
duration = 1  # second
freq = 440  # Hz
os.system('play --no-show-progress --null --channels 1 synth %s sine %f' % (duration, freq))

Untuk menggunakan contoh ini, Anda harus menginstal sox.

Di Debian / Ubuntu / LinuxMint Anda harus menjalankan di terminal Anda:

sudo apt install sox

Berikut adalah cara macports melakukan itu ... jalankan ini terminal Anda:

sudo port install sox

Pidato di Mac

Dan sesuatu yang sangat keren jika Anda menggunakan mac di terminal, mungkin bisa melakukan hal yang sama di windows, tetapi saya hanya tahu pasti untuk mac, ini akan memberi tahu Anda bahwa ini sudah selesai:

import os
os.system('say "your program has finished"')

Pidato di Linux

import os
os.system('spd-say "your program has finished"')

Anda perlu menginstal speech-dispatcher paket di Ubuntu (atau paket terkait pada distro lain):

sudo apt install speech-dispatcher

125
2018-05-15 19:23



Yang ini tampaknya bekerja pada Windows dan Linux * (dari pertanyaan ini):

def beep():
    print "\a"
beep()

Di Windows, dapat diletakkan di bagian akhir:

import winsound
winsound.Beep(500,1000)

where 500 is the frequency in Herz
      1000 is the duration in miliseconds

*: untuk bekerja di Linux, Anda mungkin perlu melakukan hal-hal berikut (dari komentar QO):

  • di terminal, ketik 'cd /etc/modprobe.d' lalu 'gksudo gedit blacklist.conf'
  • komentar baris yang mengatakan 'blacklist pcspkr', lalu reboot
  • periksa juga bahwa preferensi terminal memiliki 'Terminal Bell' dicentang.

21
2018-05-15 19:13



 print('\007')

memainkan bunyi lonceng


20
2018-05-13 16:32



Pemulai bicara ubuntu dapat digunakan:

import subprocess
subprocess.call(['speech-dispatcher'])        #start speech dispatcher
subprocess.call(['spd-say', '"your process has finished"'])

15
2018-04-12 14:42



Jawaban Kuchi tidak berhasil untuk saya di OS X Yosemite (10.10.1). Saya menemukan sebuah perintah yang berfungsi, yang bisa Anda panggil dari Python. Ini berfungsi terlepas apakah lonceng terdengar Terminal diaktifkan dan tanpa pustaka pihak ketiga.

os.system('afplay /System/Library/Sounds/Sosumi.aiff')

6
2018-02-20 18:05



Lihat: Python Sound ("Bell")
Ini membantu saya ketika saya ingin melakukan hal yang sama.
Semua kredit pergi ke gbc

Kutipan:

Sudahkah Anda mencoba:

import sys
sys.stdout.write('\a')
sys.stdout.flush()

Yang bekerja untuk saya di sini di Mac OS 10.5

Sebenarnya, saya pikir usaha awal Anda juga bekerja dengan sedikit modifikasi:

print('\a')

(Anda hanya perlu tanda kutip tunggal di sekitar urutan karakter).


5
2018-05-15 19:17



Ini dapat dilakukan dengan kode sebagai berikut:

import time
time.sleep(10)   #Set the time
for x in range(60):  
    time.sleep(1)
    print('\a')

4
2018-06-30 20:02



import subprocess

subprocess.call(['D:\greensoft\TTPlayer\TTPlayer.exe', "E:\stridevampaclip.mp3"])

2
2018-05-02 12:36



Mengapa menggunakan python sama sekali? Anda mungkin lupa untuk menghapusnya dan memeriksanya ke repositori. Jalankan saja perintah python Anda dengan && dan perintah lain untuk menjalankan untuk melakukan peringatan.

python myscript.py && 
    notify-send 'Alert' 'Your task is complete' && 
    paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga

atau menjatuhkan fungsi ke .bashrc Anda. Saya menggunakan apython di sini tetapi Anda bisa mengganti 'python'

function apython() {
    /usr/bin/python $*
    notify-send 'Alert' "python $* is complete"
    paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
}

2
2017-09-28 16:53



Saya berasumsi Anda menginginkan lonceng sistem standar, dan tidak ingin menyibukkan diri dengan frekuensi dan durasi dll, Anda hanya ingin lonceng jendela standar.

import winsound
winsound.MessageBeep()

1
2018-04-04 21:42