            noHover: true
                });
                this.ui.add(this.graph);
            }

            static initAudio() {
                WebAudio.init({ sampleRate: 48000 });

                // Shoutcast streams append a semicolon (;) to the URL
                WebAudio.load({ protonradio: 'https://shoutcast.protonradio.com/;' });

                AudioController.init(this.ui, this.graph);
            }

            static initPanel() {
                PanelController.init(this.ui);
         