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

This comment has been minimized.

Copy link

@shovon shovon commented Feb 7, 2013

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

@shovon

This comment has been minimized.

Copy link

@shovon 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

This comment has been minimized.

Copy link

@danielchatfield danielchatfield commented Aug 14, 2013

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

@marlonbernardes

This comment has been minimized.

Copy link

@marlonbernardes marlonbernardes commented Mar 8, 2014

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

@benlipp

This comment has been minimized.

Copy link

@benlipp benlipp commented Jan 18, 2015

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

@Emuentes

This comment has been minimized.

@jayralencar

This comment has been minimized.

Copy link

@jayralencar jayralencar commented Nov 30, 2015

@darylteo

This comment has been minimized.

Copy link

@darylteo 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

This comment has been minimized.

Copy link

@aneilbaboo 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

This comment has been minimized.

Copy link

@aleclarson 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

This comment has been minimized.

Copy link

@mayeaux mayeaux commented Jun 20, 2019

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

@Sentero-esp12

This comment has been minimized.

Copy link

@Sentero-esp12 Sentero-esp12 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

This comment has been minimized.

Copy link

@EminQasimov EminQasimov commented Jan 25, 2021

in git bash terminal
echo -e "\a"

@mohemos

This comment has been minimized.

Copy link

@mohemos 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

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