Some functionality not working in Firefox, only when loaded on twitch player

So i’ve stripped down the code and the same issue remains:

const Tone = require('tone')
const $ = require('jquery');
Tone.Transport.start();
var synth = new Tone.Synth().toMaster();
var part = new Tone.Part(function(time, value){
	//the value is an object which contains both the note and the velocity
	synth.triggerAttackRelease(value.note, "8n", time, value.velocity);
}, [{"time" : 0, "note" : "C3", "velocity": 0.9},
	   {"time" : "0:2", "note" : "C4", "velocity": 0.5}
])
$(document).ready(function(){
    part.loop = true;
    part.start(0)
})

This code above will just continually play 2 notes over and over again.
To quickly use the code, I download jquery and Tone.js from npm, bundle the above js with browserify, add the bundle to an html file, load that onto twitch, load in chrome on live channel, the 2 notes play, load in firefox, no sound.

I though this might be caused by the iframe the extension is hosted in (don’t know much about iframes). I loaded the same code through an iframe on a local test and sound still played, so I don’t think its related to that.

Would anyone be able to try this code on their end and see if they have the same issues? I have no idea how to continue to troubleshoot.