Is it possible to make a metronome?

I’m a musician, and would like to write a metronome application for mac. I have no idea where to start. I hope I don’t sound rude, I’m seriously lost. I tried going through Paul Hudson’s Swift material but am having trouble grasping it. I am unsure of what languages can be used to go about this. Thank you in advance for any replies.

Yes, it’s possible.

Can you describe how you imagine it working?

  • Would it have a visual animation of a pendulum swinging back and forth?
  • Would it be purely audio?
  • Will it have controls of some kind?
  • is speed the only input? (time sig?)
  • Is it just for you or is it to be a website anyone can use?
  • Will it be used mainly on your computer or your phone?
  • Other features?

Do you want to learn programming or you just want a digital metronome?

I found a decent metronome that works well written in HTML/CSS and JavaScript:

https://codepen.io/mnichols08/pen/jEEOejW?editors=0010

You can examine the source code but creating this would require you to learn basic HTML and CSS and JavaScript. You can do this, if you are interested, right here: https://www.freecodecamp.org/learn/full-stack-developer/

I almost want to suggest ChucK though, which is a programming language for musicians.

https://chuck.cs.princeton.edu/

You can look at some ChucK tutorials here and see what you think.
https://www.youtube.com/watch?v=toFvb6uqiDc&list=PL-9SSIBe1phI_r3JsylOZXZyAXuEKRJOS&index=1

I have a rough conception in my head. The window of the app itself would have a dark colored background with a small flashing light near the center. The light would be the visual indicator.

I’m not sure what you mean by purely audio but I was thinking of using a single sine wave or an audio file to act as the click. It’ll have controls such as tempo, time signature, and potentially a small interface where the user can choose which beats they want to click in a single measure. This interface is directly influenced by the time signature. I’m not sure how realistic this is.

I see it as an app available for free and potentially open source if people are interested. I want to develop it for macOS first but am unsure if I can start for that platform.

I do want to learn programming but am not interested in web or game development. I’m most interested in musical software. I’m not sure what I’m supposed to do first, though.

The ChucK language seems interesting and I like how specific it is for musicians. I don’t know which route would be most efficient for a metronome.

Thank you for replying to me.

In that the metronome would be purely audio with no visual dots or lights. I don’t think ChucK does this, but I’m not really sure.

I think ChucK might be the quickest and easiest to learn if you want to make an audio metronome.

Here you are describing a visual interface which might suggest going the HTML/CSS and JavaScript route. This has an advantage that it will be a webpage which is easy to share on any device that uses a browser.

No problems there

This sounds like ChucK. If you go through the tutorials you will need to learn all of the same basic programming concepts that are the same for all languages (variables, loops).

If you want some kind of interface, I highly suggest MaxMSP (I think its just called Max now)

https://www.youtube.com/watch?v=MunWXgvxnbE

https://www.youtube.com/watch?v=e88LZD25YII

I think Max sounds like a very good start for you. It actually has a metronome object to get started.

Whatever you choose, just look up a beginners tutorial. You can download Max here https://cycling74.com/downloads

1 Like

Thank you. This is helpful. I think I will start with ChucK.

2 Likes