Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
System Beep in Node.js
function alertTerminal(){
console.log("\007");
}
@shovon
Copy link

shovon commented Feb 7, 2013

This is what I've been looking for. Thanks!

@shovon
Copy link

shovon commented Feb 7, 2013

If you are a pedant like me, and you want to prevent a new-line character from displaying onto the console, then you can use,

process.stderr.on("\007");

Instead of console.log.

@danielchatfield
Copy link

danielchatfield commented Aug 14, 2013

If you are using 'use strict' (which you should be) then use "\x07" instead of "\007"

@marlonbernardes
Copy link

marlonbernardes commented Mar 8, 2014

Yet another option:
process.stdout.write('\x07');

@benlipp
Copy link

benlipp commented Jan 18, 2015

None of these work for me, but I guarantee that my speaker works. Tips?

@Emuentes
Copy link

Emuentes commented Oct 26, 2015

@jayralencar
Copy link

jayralencar commented Nov 30, 2015

@darylteo
Copy link

darylteo commented Feb 1, 2017

If anyone else comes by confused by process.stderr.on("\007"); it should be process.stderr.write("\007"); instead.

@aneilbaboo
Copy link

aneilbaboo commented Jul 16, 2018

No sounds with any of the following on macOS High Sierra, node 8.10.0:

$ node --version
v8.10.0
$ node
> console.log('\x07')
> console.log('\007')
> console.log('\u0007')
> process.stderr.write('\x07')
> process.stderr.write('\007')
> process.stderr.write('\u0007')

node-beep seems to be built only for windows.

@aleclarson
Copy link

aleclarson commented Jul 22, 2018

@aneilbaboo You need to unfocus the terminal tab/window and make sure the "Audible bell" setting is enabled
in Preferences > Advanced

$ node
> setTimeout(() => console.log('\x07'), 1250)
// Unfocus the terminal before the timeout expires.

@mayeaux
Copy link

mayeaux commented Jun 20, 2019

Thanks @aleclarson . I needed to unclick 'Silence bell' in my iTerm 2 profile under 'Notifications'

@mr-yt12
Copy link

mr-yt12 commented Nov 15, 2019

Is it possible to change the beep frequency and duration with nodejs? Some languages have something like: Beep(hertz, milli) (https://stackoverflow.com/questions/38883092/how-to-make-motherboard-beep-through-c-code)
Or
SoundBeep, Frequency, Duration
(AutoHotKey: https://www.autohotkey.com/docs/commands/SoundBeep.htm)

@EminQasimov
Copy link

EminQasimov commented Jan 25, 2021

in git bash terminal
echo -e "\a"

@mohemos
Copy link

mohemos commented Aug 22, 2021

@mayeaux Mine didn't work because I was running the code in VSCode terminal, after switching to main terminal it worked

@dazhbog
Copy link

dazhbog commented Jan 22, 2022

windows or wsl

require("child_process").exec("powershell.exe [console]::beep(500,600)");

Mac

require("child_process").exec("afplay /System/Library/Sounds/Glass.aiff");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment