There are certain high-quality audio applications that can function within a web browser, however, the capability for real-time audio is limited to Chromium-based browsers with no option for real-time input.
Only Chromium browsers support high-priority audio threads in Audio Worklets, which are essential for stable and real-time audio processing.
The WebMIDI API is confined to the main thread, rendering it ineffective for real-time input.
While the WebUSB API is threadable, it does not allow communication with audio-class devices like MIDI controllers and soundcards.
Keyboard, touch, and mouse events currently can only be handled by the main thread.
In summary, there is currently no practical way to manage real-time audio in Chromium browsers, and achieving real-time audio reliably on other platforms is challenging.
Note: The request to include support for WebMIDI workers was made nine years ago, and the issue remains unresolved, even for inclusion in the specification.
Note: Although Electron enables access to protected USB device classes such as Audio and MIDI, support for Electron WebUSB is still in development. NWJS does have WebUSB support, but lacks access to protected device classes. While WebUSB functionality may eventually be available on these platforms, implementing web drivers for controllers, even those that are class-compliant, will still be necessary, making it less than ideal even when functional.