Manim plugin for recorder
Project description
Manim Recorder
GUI (Using PySide6)
from manim import *
# from manim_recorder import VoiceoverScene
from manim_recorder.voiceover_scene import RecorderScene
# from manim_recorder.services.recorder import RecorderService
from manim_recorder.recorder.gui import RecorderService
class VoiceRecorder(RecorderScene):
def construct(self):
self.set_audio_service(
RecorderService()
)
circle = Circle()
square = Square().shift(2 * RIGHT)
with self.voiceover(text="This circle is drawn as I speak.") as tracker:
self.play(Create(circle), run_time=tracker.duration)
with self.voiceover(text="Let's shift it to the left 2 units.") as tracker:
self.play(circle.animate.shift(2 * LEFT),
run_time=tracker.duration)
with self.voiceover(text="Thank you for watching.") as tracker:
self.play(Uncreate(circle))
self.wait()
CLI (Pynput)
from manim import *
# from manim_recorder import VoiceoverScene
from manim_recorder.voiceover_scene import RecorderScene
# from manim_recorder.services.recorder import RecorderService
from manim_recorder.recorder.pynput import RecorderService
from pathlib import Path
class VoiceRecorder(RecorderScene):
def construct(self):
self.set_audio_service(
RecorderService(
device_index=0,
# cache_dir=Path(
# config.media_dir + "/voiceovers/" + self.__class__.__name__.lower()
# ),
)
)
circle = Circle()
square = Square().shift(2 * RIGHT)
with self.voiceover(text="This circle is drawn as I speak.") as tracker:
self.play(Create(circle), run_time=tracker.duration)
with self.voiceover(text="Let's shift it to the left 2 units.") as tracker:
self.play(circle.animate.shift(2 * LEFT),
run_time=tracker.duration)
with self.voiceover(text="Thank you for watching.") as tracker:
self.play(Uncreate(circle))
self.wait()
Termux Cli
from manim import *
from manim_recorder.voiceover_scene import RecorderScene
from manim_recorder.recorder.termux import RecorderService
from pathlib import Path
class Recordering(RecorderScene):
def construct(self):
self.set_speech_service(
RecorderService(
)
)
circle = Circle()
square = Square().shift(2 * RIGHT)
with self.voiceover(text="This circle is drawn as I speak.") as tracker:
self.play(Create(circle), run_time=tracker.duration)
# with self.voiceover("This circle is drawn as I speak.") as tracker:
# self.safe_wait(tracker.duration)
with self.voiceover(text="Let's shift it to the left 2 units.") as tracker:
self.play(circle.animate.shift(2 * LEFT),
run_time=tracker.duration)
with self.voiceover(text="Thank you for watching."):
self.play(Uncreate(circle))
self.wait()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
manim_recorder-0.2.3.tar.gz
(26.9 kB
view hashes)
Built Distribution
Close
Hashes for manim_recorder-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3368c2b52ac8ea06efbfa7669f4878fc97dc741f049a17e765dffab018582c6d |
|
MD5 | f3b698c309a3d5fe5dbc6172a3e71d22 |
|
BLAKE2b-256 | aa5a1c4ebdec3c67db8b48a084d03b0b5ac3cc44f4cabc17036558a13d33c520 |