The Realtime Raytracing Sketchpad


What's amray?

Amray is a sketchpad for 2D raytracing experiments. Primarily it's made for acoustic raytracing (Geometrical acoustics), but you can also use it for example to see how rays of light are reflected by mirrors.

Main acoustic use cases:

  • Find the points of the first reflections to optimize absorber/diffuser placement
  • Shape walls to build a RFZ (reflection free zone)
  • Find functional shapes for ceilings, tiers and boxes in theaters
  • Simply experiment with reflections from convex or concave shapes or in corners
  • Use it to quickly show customers why you chose to splay a wall or place a reflector
amray screenshot - reflection free zone studio by Simon Caby
An example by Simon Caby (designs and builds studio monitors for and designs studio acoustics in France)
Want to show your own project to the world? Feel free to send me your screenshots.

Why not in 3D?

Amray is not meant to be an alternative to existing room acoustics software that tries to be as accurate as possible. Amray tries to help you find solutions for very specific acoustical questions after just some seconds of painting.

How to use amray:

Toggle one of the edit modes to:

button for adding a wall ...add lines (walls)
button for removing a wall ...delete lines or points. If you delete points that connect multiple walls, all those walls are deleted.
button for moving a wall ...move lines or points
button for moving the 'paper' ...move the whole view
button for moving the source or move the source
button for moving the listener or move the listener. (The listener can only be placed if you chose the "beamtracing" algorithm)
button for setting a background image...load and place a background image you want to draw on. A blue print for example.

Choose the Raytracing Algorithm that fits your needs:

button for choosing the classic ray tracer This algorithm radiates rays in all directions. Use it to experiment with sound distribution in a shape/room. You can change the number of rays and the reflection order in the 'Settings' menu. 'Reflection Order' means the number of reflections that are calculated for each ray. Note that you have to place a sound source to raytrace.
button for choosing the beam tracer This algorithm finds ALL possible rays between the source and the listener. Therefore its perfect to find the right spots for acoustical elements like absorbers. You can chose the reflection order like before. The number of rays depends on the walls that lead to reflections between the source and the listener. It's better to not set the reflections order too high because the possible rays grow exponentially and the whole browser can get really slow calculating them! Note that you have to place a sound source and a listener to raytrace with this algorithm.

Save work

undo button redo button You have the possibility to undo/redo your steps
save button You can either save your work locally in your browsers storage or copy a string to save it by yourself or share it with colleagues.
load button In the load dialog you can either paste back the string you have got in the save dialog or from other users or you can simply load former saved work from the local browser storage.
help button This well known symbol will lead you to this help page again.


After adding a wall you can set the exact length of that wall by typing the value and pressing enter.

You can also press
  • 'A' to select all
  • 'DEL' to delete all selected objects
Want to place your ad here?
amcoustics for professionals

To use the free amcoustics tools for commercial projects, you must become a business-user on patreon!

Ensure quality and new features with that small fee.

Newsletter & Instagram

New tools are coming! Sign up to my newsletter and follow me on instagram to get informed early on.