Play simple beep with python without external library
Asked Answered
L

3

30

Using only the modules that come with a standard python 2.6 installation, would it be possible to play a simple beeping noise?

Linseylinseywoolsey answered 17/12, 2010 at 2:44 Comment(3)
See: https://mcmap.net/q/120187/-python-sound-quot-bell-quotSleepwalk
So I would have to go through the default os's speech to text program? Also I am not using a mac all of the time. This would have to be cross platform.Linseylinseywoolsey
@a sandwhich: Read the answers at the link, not the question.Arturoartus
L
38

If you're on a Unix terminal, you can print "\a" to get a terminal bell:

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

Of course, that will print a newline too… So sys.stdout.write("\a") might be better. But you get the idea.

Laure answered 17/12, 2010 at 3:1 Comment(5)
you can also do print "\a", and it won't do newlinebArdoin
also works on macs however it uses your speaker so if say you have headphones in it will use your headphones or if it is muted it won't work.Poop
Works fine for me on Windows 7, even through headphones.Californium
what is the main difference between print "\a" and sys.stdout.write("\a")?Jiujitsu
@Jiujitsu that… is actually a more complex question than it seems. In this case, print "\a" is basically the same as sys.stdout.write("\a\n"); sys.stdout.write("\a") won't always work because sys.stdout is usually line buffered (so you won't "see" the write until a newline is written). For more, see #3264172Laure
W
20

On windows:

import winsound         # for sound  
import time             # for sleep

winsound.Beep(440, 250) # frequency, duration
time.sleep(0.25)        # in seconds (0.25 is 250ms)

winsound.Beep(600, 250)
time.sleep(0.25)

34.4. winsound — Sound-playing interface for Windows:

http://docs.python.org/2.6/search.html?q=sound&check_keywords=yes&area=default

See also: Clear screen and beep for various platforms. (Python recipe) http://code.activestate.com/recipes/577588-clear-screen-and-beep-for-various-platforms/

Witherite answered 8/3, 2014 at 2:14 Comment(0)
C
2

On Android with QPython this is how it goes:

import androidhelper
droid=androidhelper.Android()
droid.generateDtmfTones('0',100)

This will place a beep of a certain frequency for certain time.

Curtis answered 15/10, 2020 at 5:52 Comment(1)
It's generateDtmfTones(). You're missing an f. kylelk.github.io/html-examples/androidhelper.htmlTrent

© 2022 - 2024 — McMap. All rights reserved.