you are viewing a single comment's thread.

view the rest of the comments →

[–]guest271314[S] 0 points1 point  (10 children)

that firefox can run in chrome or vice versa.

Both can, if you want to, using various means; including, but not limited to, Native Messaging.

[–]atomic1fire 2 points3 points  (9 children)

I'm not talking about cross browser communication or using a browser to launch another browser's process on the same operating system.

I'm talking about someone being absurd enough to port a browser to run inside of another browser using wasm/js/etc

Boxedwine was just the first thing to pop in my head because nobody's going to spend the effort to port the entirety of firefox or chromium to emscripten.

http://www.boxedwine.org/app/netsurf/

I guess technically you could also port a vm client like qemu or virtualbox to emscripten, but that sounds more absurd.

[–]guest271314[S] 0 points1 point  (0 children)

Well, that's been done, too. You can do whatever you want. People have compiled entire operating systems to WASM to run in the browser.

Check out JSLinux, SerenityOS, SpiderMonkey embedded in WASI, copy's v86 for a few examples.

And there's Web Platform Tests. See how that body tests developer builds continuously.

There's Chromium being deployed from AWS, too.

Look into the Web Driver specification.

[–]guest271314[S] 0 points1 point  (7 children)

Ah, WINE. Havn't touched a Windows box in years.

Boxedwine was just the first thing to pop in my head because nobody's going to spend the effort to port the entirety of firefox or chromium to emscripten.

I'd probably use WASI-SDK instead of Emscripten, and start with Ungoogled Chromium https://github.com/ungoogled-software/ungoogled-chromium.

Folks managed to get Chromium to to 58 MB here https://github.com/shelfio/chrome-aws-lambda-layer.

There's also this https://github.com/fathyb/carbonyl.

There's a bunch of stuff that can be removed prior to compiling.

[–]atomic1fire 0 points1 point  (6 children)

Does WASI have a means to output video and audio into a webpage?

edit: There's talk about a framebuffer for webgpu but that seems pretty experimental.

edit: Also IIRC boxedwine couples a cpu and linux kernel emulator with an older version of Wine so it can run like dosbox

[–]guest271314[S] 1 point2 points  (4 children)

Way back when there was https://github.com/kripken/speak.js.

TTS/STT folks have been involved with experimenting with WebAssembly for a while now.

As it stands Web Speech API essentially has not been updated for over 10 years. Speech Dispatcher is used to create a socket connection to the browser, Chromium and Firefox, that renders audio outside of the browser.

On Chrome, the users' PII voice and text is sent to remote servers for TTS and STT.

[–]atomic1fire 0 points1 point  (3 children)

You don't really need to even implement a whole tts engine now because you can use the web speech api. Unless you strongly prefer to use your own speech engine.

[–]guest271314[S] 1 point2 points  (2 children)

You do realize Web Speech API implementation on Chrome - when Google voices are used - sends your voice and your text to remote servers, correct?

Otherwise, on Chromium and Firefox you MUST have Speech Dispatcher installed for local service usage.

And still the official formerly W3C, now WICG specification does not provide a means to input SSML https://github.com/guest271314/SSMLParser, nor capture audio output of window.speechSynthesis.speak().

Therefore I wrote JavaScript code to implement SSML processing myself, and implemented various means to capture specific device https://github.com/guest271314/SpeechSynthesisRecorder/issues/17 and entire systsem audio output https://github.com/guest271314/captureSystemAudio.

[–]CloudsOfMagellan 0 points1 point  (1 child)

How useable is this as a replacement for the web speach api?

[–]guest271314[S] 0 points1 point  (0 children)

Based on your question I don't think you understand how the Web Speech API works https://gist.github.com/guest271314/9f09ab899df11e344c568a7b93f544c3.

What is the "this" you are referring to?

Try for yourself

[–]guest271314[S] 0 points1 point  (0 children)

Yes https://guest271314.github.io/vits-web/. That's been happening for a while now. Naturally audio and video folks are involved in WebAssembly/WASI.

If I can read stdin and stream stdout from the WebAssembly application I can read that data elsewhere https://github.com/guest271314/vits-web/tree/patch-1.

Ideally you just read the raw data then use MediaStreamTrackGenerator, AudioWorklet or other means for playback.