June 2025
🔊
Audio
Challenge Instructions
Since the exams are over, we will have a more open monthly challenge focusing on one of the site's extensions - audio
You will need to use the 4 currently supported audio procedures: PLAYSOUND, SETFREQUENCY, SETVOLUME and STOPSOUND - see the sound demos for examples
You can also use the additional Event keyword to perform/modify actions based on key presses, clicks, mouse position etc - see the event demos for examples
Some example projects are given below
- Morse code player
- White noise generator
- Simple synthesiser
- Echo effect
- Hearing test - find out the min and max frequency you can hear
- Sound guessing game - users here two sounds one after another and have to guess which is louder/higher frequency/correct wave type etc
- Duration guess - user has to accurately guess duration between two beeps
- Doppler effect demo
- Theremin simulator - mouse position effects volume/frequency
- Play a simple tune - e.g. ringtone, Mario theme tune, Crazy Frog, Never Gonna Give You Up etc
- Metronome
- Sound encoded - encode text as sound - e.g. frequencies depending on a character's ASCII code
- MIDI player - can use/modify JavaScript code in description here to convert MIDIs to procedure calls
- Piano - using the additional Event procedures, create a piano the user can play by pressing keys in their keyboard
...etc - there are many different examples you can think of
As a target, let's try and have 10 programs submitted by members of the community for others to enjoy...good luck...and have fun!
Top Submissions
Submission Instructions
Create your program on the editor page, then click the upload button at the bottom of the code editor as shown below
Once you are confident your program is working well without obvious bugs, then give it a relevant name, choose the current monthly challenge from the dropdown box, choose some program categories if you want and submit it :)
Note: your submitted programs will be in blue and you can overwrite them by opening them, clicking the upload button again and selecting "overwrite"