Recording and Playback


cool bug and other problem.
I tried the 10 jitterbuffer thing u suggested @John_Laury no joy

just had a long mess about with both the server audio jitter buffer and frames setting in the viewer and the stack manager to see if anything improved or made it worse.
neither seemed to influence it


@Atlante45 I noticed that when I have the recorder in use and happen to have voxel build toggled on, as well as activating the recorder functions via the icons, the UNDERLYING area has voxels placed too. The mouse focus ought to be JUST on the recorder control panel when hovering over that. I.e. the icons and mini recorder panel ought to work like the other tool buttons do.

I tested the voxel build toggle for example, and that definitely does not have a voxel build effect under it when build mode is on.


@Judas Thanks for the feedback, yeah the stereo is not handled, I’ll add that in.
For the audio breaking up, it looks likes it’s been introduced when I threaded the audio playback. I’m looking into it.

@Be_Austin This is a known not issue not tied to the recorder.
This will happen with any overlay not created by editVoxels.js since editVoxels doesn’t have knowledge of overlay not created by itself.
I have an idea though on how we could fix it, I’ll take a look at that later.


@Atlante45 Noticed a small bug in your record script. If you press play before recording anything it crashes the viewer on windows.


@Atlante45 would be cool if the .rec file could be opened to get to the sound and animation parts. when i open it in notepad++ its all @@@@@@@@@@@*. maybe then the recorded elements could be used in different ways


Wanted to try the recorder last day. But the first problem is that you dont know what all the buttons are doing and no clear any recorder button. pressed a few the 3e click chrashed the whole interface.exe. so, until i know at least wich buttons tto press i cannot try it. short picture text description.would be nice.


@Richardus watch this video:


Hey @Judas,

Fixing up stereo and the audio breakups.
Do you still get the audio breakups on latest? Tried to repro but I can’t get it to break up.


@Atlante45 yeah still choppy on 1053 windows. It shows up more playing guitar than just speech
Annoying cos between gaps it sounds great


Hmmmmmm… the jitter bug…


The recorded sound Is a lot better today no big gaps
Its still a touch jittery but only the same as the normal voice.

I noticed some wierdness between recording with one avatar and playing back with another. in that the avatar gets flipped on its back. I recorded some with my judas ava ( jsfs head and jude3 body
) and some with Phils avatar. and whilst they worked dressed correctly the 2 recordings weren’t interchangeable.
It would be good if the recording stored the avatar like in @Thoys demonstration


Yes, if the rigs are not exactly the same, the playback won’t work correctly since the joints indices aren’t the same.

The models are actually stored in the new format. You also have access to several new options:



I was happy that recorder.js was working again and wanted to try out some new stuff with it but… this morning when I tried an old recording that worked just the other day, nothing happened and when I looked in the log it said the recording file had bad format and was missing the header, etc.

So… I thought maybe someone tweaked the .hfr file format and I will have to rerecord stuff. I tried making a simple recording and then saved it and attempted to play it back.

The new recording played as expected but, at the end where it should have looped and started over, Interface froze, the mouse got disconnected from the display cursor and when I clicked on Interface it indicated no response and crashed.

I tried this a couple of times with the same result.


This is such a great app! and it has so much potential! reading all the comments here really got me thinking about how this could be used to trigger animations of NPCs in world.
Looking at the code of recorder.js I’m a bit overwhelmed by all the things its doing, there are a few basic things I would love to do.

1- trigger a recording simply using an invisible cube’s “enterEntity” comand, so that when a user enters it,
it triggers one of the recordings infront of him on a particular x,y,z coordinate.

2- have the animation play only once.

psedudo code:

// pseudo JavaScript code
//code on a cube “invisible” to trigger a recording done by recorder.js

(function () {

// On enter entity
this.enterEntity = function (entityID) {


    // On exit entity

    this.leaveEntity = function (entityID) {		



Looking at recorder.js I’m not sure what pieces of code I would need to copy onto this script so that I can load a particular recording for example: /recordings/20180316-144827.hfr

on to a particular x,y,z instead of using “MyAvatar” position: “MyAvatar.startPlaying();”

I think this is a very important topic, and as the comments here have said, there is a lot of potential to take these recordings and use them in a world.
If anyone has any suggestions on how to take some of the pieces of the original recorder.js script to trigger a recording from a cube’s OnEnter command that would be awesome. I’m going to start experimenting with the code on recorder.js to see if I can port the functionality I need into my cube, I’ll be posting my findings here on this thread.
I know the guys from FumbleLand are using this functionality already to make their amazing animated movies that I got to watch the other day…really incredible work by those guys and it shows the huge potential it has.