ManimCommunity / manim-voiceover

Manim plugin for all things voiceover
https://voiceover.manim.community/en/stable
MIT License
187 stars 26 forks source link

Gradio #44

Open o-alexandre-felipe opened 1 year ago

o-alexandre-felipe commented 1 year ago

Add a recording service based on Gradio (https://gradio.app/) This enables one to record from the browser instead of the terminal. In particular it allows one to record when running manim on a different machine, e.g. via SSH, or in a docker container.

Also made some changes on the Recording service to record on a terminal without an X server.

osolmaz commented 1 year ago

@o-alexandre-felipe Thanks for adding the new service. I will go through it shortly. In the meanwhile, can you check out why the build failed?

o-alexandre-felipe commented 1 year ago

Thank you @osolmaz ,

The failure was because I renamed the class MyListener to something less personal, but I forgot one reference.

o-alexandre-felipe commented 1 year ago

@osolmaz just wanted to give you a heads up, as I imagine this was lost in your inbox.

osolmaz commented 1 year ago

Hey, sorry to keep you waiting, I was busy.

I've just built from your branch and am running into problems.

Also made some changes on the Recording service to record on a terminal without an X server.

Can you elaborate this? Does pynput not work on Windows?

Also, once we get rid of all the errors and the PR is up to par, I would need GradioService to be added to the documentation, i.e. https://voiceover.manim.community/en/stable/services.html and the API reference.

Btw I just merged changes from the main branch, fyi.

Thanks!

o-alexandre-felipe commented 1 year ago

No problem, thank you for looking into it.

I will try to run the RecordingService again (which OS are you using?)

Not sure about why gradio would hang for so long. What platform are you using.

No, the existing code don't run in windows (because windows doesn't have X server), but the worst part for me is that I was trying to run in a docker image that don't have audio input.

So I will probably use this for my own installing from my github for now.

osolmaz commented 1 year ago

I am on MacOS.

I also agree with you that there needs to be a web UI for this, for cross-platform compatibility. Gradio seems like a nice and quick solution, I'm super keen to get this merged once we iron the kinks out and get the API/docs in order :)

I will try to debug this when I have time soon, I am unfortunately unavailable during weekdays.