Tzina is an interactive cinema piece, created by Shirin and whose development was headed by Avner Peled. I got involved in the development of the piece with two concrete tasks. The first one, was making a full-stack implementation of the pigeons that served as avatars for the other users that were experiencing the piece. The other task, was to develop a sonic feedback virtual effect, that was associated with the change of chapter.


I created a Node Socket based server that managed the data from each user of the interactive piece (using web sockets). The other part consisted on loading and placing the animated 3d model of the bird in the corresponding coordinates of the scenery, and switch smoothly between animations of the bird according to whether the user was entering the scene, walking, or standing. I was also required to optimize the sockets for speed, so the communications had to be designed at byte level of detail.
The sonic feedback virtual effect was intended to produce an effect of abstracting from the scene. Working with Or Fleisher, we ideated that the sound should produce a sensation of blur. I chose a combination of a convulsion reverb with a low pass filter, whose parameters could be faded according to the required level of blur.



A snippet for infinite function stacking, and also for when you have time critical tasks that need to be interleaved with slow tasks that are not time critical.

ROS wall overview
Original from Toptal

Original from Toptal
“Web Audio API can be quite hard to use for some purposes, as it is still under development, but a number of JavaScript libraries already exist to make things easier. In this case I am going to show you how to get started with the Web Audio API using a library called Tone.js. With this, you will be able to cover most of your browser sound needs from only learning the basics.”

See the article in the toptal blog:




Today I needed to make a sample that would play a portion of a sample instead of playing the whole sample, from a nexus ui waveshape element. There are three problems that disallowed this:

Next Page »