あなたの「耳年齢」測ります
で書いたスクリプトを実行ファイルに変換してみました。
exeだからって、どういうわけでもないのですが、一応公開します。
Webページ
一応ついでにsetup.pyと本体ソースも掲載。
#encoding:utf-8 #setup.py from distutils.core import setup import py2exe py2exe_options = dict( compressed = 1, optimize = 0, includes = [], excludes = "unicodedata select ssl socket bz2 bz".split(), dll_excludes = [], packages = [], bundle_files = 3, ) setup( options = {'py2exe': py2exe_options}, windows = [ dict( script = 'mosquito.py', other_resources = [], icon_resources = [(1, "mos.ico")], ) ], data_files = [], zipfile = None )
#encoding:utf-8 #mosquito.py from __future__ import ( with_statement, division, print_function, ) import os import sys from functools import partial from Tkinter import * from tkFont import * import webbrowser Author = u"doloop" Webpage = u"http://doloopwhile.blogspot.com/" import winsound def beepsound(frequency, duration): winsound.Beep(frequency, duration) ##try: ## import winsound ##except ImportError: ## import subprocess ## def beepsound(frequency, duration): ## #apt-get install beep ## subprocess.call("beep -f {0} -l {1}".format(frequency, duration)) ##else: ## def beepsound(frequency, duration): ## winsound.Beep(frequency, duration) class MainFrame(Frame): def __init__(self, *a, **kw): Frame.__init__(self, *a, **kw) self.duration_var = IntVar(self, 1000) beep_panel = LabelFrame(self, text=u"Beep the PC窶冱 speaker(Hz).") beep_panel.pack() self.beep_buttons = [] buttons = Frame(beep_panel) for freq in xrange(1000, 20000 + 1, 1000): row = (freq - 1000) // 5000 column = (freq - 1000) % 5000 text = unicode(freq).center(5) btn = Button(buttons, text=text, command=partial(self.beep, freq) ) btn.grid(row=row, column=column, sticky=N+S+W+E) buttons.pack() dur_panel = LabelFrame(self, text=u"duration of sound(milliseconds).") dur_panel.pack() dur_scale = Scale( dur_panel, orient=HORIZONTAL, from_=0, to=2000, resolution=100, tickinterval=500, variable=self.duration_var ) dur_scale.pack(fill=BOTH) url_label = Label( self, cursor="hand2", fg="blue", text="{0}({1})".format(Author, Webpage), takefocus=True, ) font = Font(font=url_label["font"]) font["underline"] = True url_label["font"] = font url_label.bind('', self.on_url_clicked) url_label.pack() def on_url_clicked(self, event): webbrowser.open(Webpage) def beep(self, freq): beepsound(freq, self.duration_var.get()) def main(): root = Tk() for freq in xrange(1000, 20000 + 1, 1000): beepsound(freq, 100) root.title(os.path.basename(sys.argv[0])) f = MainFrame(root) f.pack() root.mainloop() if __name__ == "__main__": main()