gridsound / daw

GridSound (0.46.0) wants to be an open source online digital audio workstation following the new WebAudio API 🎛🎹🎵✨ -- If you can, please sponsor us a little on our Patreon ❤️
https://gridsound.com
GNU Affero General Public License v3.0
1.55k stars 132 forks source link

Brave Shields "Block Audio fingerprinting" breaks drums #102

Open RmbRT opened 1 month ago

RmbRT commented 1 month ago

I just found this project because a friend was complaining about having to use windows for his DAW needs. I figured, since linux DAWs suck, there could be a free web DAW. Looks solid to me. However, I came across a problem using brave:

In the left bar where you can select the different drum sounds, they play properly when you click on the samples. But once I drag them into the drum window, and play them from there, I only hear a white noise. And afterwards, the sound of the corresponding drum sample in the library on the left is also white noise. The piano works properly. On firefox, or with Brave Shields' "Audio fingerprinting" protection off, everything works.

Screenshot on the left: linux, brave, shields up: Note how the samples are even shown as a flat line. Screenshot on the right: same machine, firefox: Note how the samples are displayed properly. It also looks that way with shields down. image image

I recommend either detecting this case and notifying the user that they should try to disable brave shields within the app, or finding some workaround that either doesn't trigger the shields, or uses another way to play audio. Although I'm not familiar with the web audio API. But it seems somewhat trivial to at least detect this, as you can simply read the canvas of the audio wave in the drums menu, and check whether it's a flat line.

Interestingly, it doesn't always break the samples in the library. I just tested it again and a few samples broke and a few didn't. The waveform canvas in the library is not affected even on broken samples.

mr21 commented 1 month ago

Hi, thanks to let me know this, indeed webaudio can provide some way to fingerprint so im not surprised everything can be block if some shield are up, i will write something somewhere to make the users aware of it.

It's normal that the sample library shows the waveform anyway because they are pre-computed, all the waveform are downloaded at the start of the software to not have to load them all