manim-recorder


Namemanim-recorder JSON
Version 0.2.9 PyPI version JSON
download
home_pageNone
SummaryManim plugin for recorder
upload_time2024-09-22 23:45:00
maintainerNone
docs_urlNone
authorAvN Learn
requires_python<3.13,>=3.9
licenseMIT
keywords voiceover manim recording math animations
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Manim Recorder

## GUI (Using PySide6)

![GUI Recorder 1](https://github.com/avnlearn/manim-recorder/blob/main/assets/GUI%20recording_001-0.2.5.png?raw=true)

![GUI Recorder 1](https://github.com/avnlearn/manim-recorder/blob/main/assets/GUI%20recording_002-0.2.5.png?raw=true)

![GUI Recorder 1](https://github.com/avnlearn/manim-recorder/blob/main/assets/GUI%20recording_003-0.2.5.png?raw=true)

```python
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)

```python
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

```python
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()
```


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "manim-recorder",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.9",
    "maintainer_email": null,
    "keywords": "voiceover, manim, recording, math animations",
    "author": "AvN Learn",
    "author_email": "avnlearn@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ed/13/36a9d84232c76b5a809c51fd9db43293626bbe365cb3d7c04ab9cd49763d/manim_recorder-0.2.9.tar.gz",
    "platform": null,
    "description": "# Manim Recorder\n\n## GUI (Using PySide6)\n\n![GUI Recorder 1](https://github.com/avnlearn/manim-recorder/blob/main/assets/GUI%20recording_001-0.2.5.png?raw=true)\n\n![GUI Recorder 1](https://github.com/avnlearn/manim-recorder/blob/main/assets/GUI%20recording_002-0.2.5.png?raw=true)\n\n![GUI Recorder 1](https://github.com/avnlearn/manim-recorder/blob/main/assets/GUI%20recording_003-0.2.5.png?raw=true)\n\n```python\nfrom manim import *\n# from manim_recorder import VoiceoverScene\nfrom manim_recorder.voiceover_scene import RecorderScene\n# from manim_recorder.services.recorder import RecorderService\nfrom manim_recorder.recorder.gui import RecorderService\n\n\nclass VoiceRecorder(RecorderScene):\n    def construct(self):\n        self.set_audio_service(\n            RecorderService()\n        )\n\n        circle = Circle()\n        square = Square().shift(2 * RIGHT)\n        \n        with self.voiceover(text=\"This circle is drawn as I speak.\") as tracker:\n            self.play(Create(circle), run_time=tracker.duration)\n\n        with self.voiceover(text=\"Let's shift it to the left 2 units.\") as tracker:\n            self.play(circle.animate.shift(2 * LEFT),\n                      run_time=tracker.duration)\n\n        with self.voiceover(text=\"Thank you for watching.\") as tracker:\n            self.play(Uncreate(circle))\n\n        self.wait()\n\n```\n\n## CLI (Pynput)\n\n```python\nfrom manim import *\n# from manim_recorder import VoiceoverScene\nfrom manim_recorder.voiceover_scene import RecorderScene\n# from manim_recorder.services.recorder import RecorderService\nfrom manim_recorder.recorder.pynput import RecorderService\nfrom pathlib import Path\n\n\nclass VoiceRecorder(RecorderScene):\n    def construct(self):\n        self.set_audio_service(\n            RecorderService(\n                device_index=0,\n                # cache_dir=Path(\n                #     config.media_dir + \"/voiceovers/\" + self.__class__.__name__.lower()\n                # ),\n            )\n        )\n\n        circle = Circle()\n        square = Square().shift(2 * RIGHT)\n        with self.voiceover(text=\"This circle is drawn as I speak.\") as tracker:\n            self.play(Create(circle), run_time=tracker.duration)\n\n        with self.voiceover(text=\"Let's shift it to the left 2 units.\") as tracker:\n            self.play(circle.animate.shift(2 * LEFT),\n                      run_time=tracker.duration)\n\n        with self.voiceover(text=\"Thank you for watching.\") as tracker:\n            self.play(Uncreate(circle))\n\n        self.wait()\n```\n\n## Termux Cli\n\n```python\nfrom manim import *\nfrom manim_recorder.voiceover_scene import RecorderScene\nfrom manim_recorder.recorder.termux import RecorderService\nfrom pathlib import Path\n\n\nclass Recordering(RecorderScene):\n    def construct(self):\n        self.set_speech_service(\n            RecorderService(\n            )\n        )\n\n        circle = Circle()\n        square = Square().shift(2 * RIGHT)\n        with self.voiceover(text=\"This circle is drawn as I speak.\") as tracker:\n            self.play(Create(circle), run_time=tracker.duration)\n\n        # with self.voiceover(\"This circle is drawn as I speak.\") as tracker:\n        #     self.safe_wait(tracker.duration)\n\n        with self.voiceover(text=\"Let's shift it to the left 2 units.\") as tracker:\n            self.play(circle.animate.shift(2 * LEFT),\n                      run_time=tracker.duration)\n\n        with self.voiceover(text=\"Thank you for watching.\"):\n            self.play(Uncreate(circle))\n\n        self.wait()\n```\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Manim plugin for recorder",
    "version": "0.2.9",
    "project_urls": null,
    "split_keywords": [
        "voiceover",
        " manim",
        " recording",
        " math animations"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "afb719315fcfd204e1c9327e2bb5dd1a9e3fed16e95253e41720f49cdc96d04d",
                "md5": "567b12aa5667f455cd7403b19c8b2d7b",
                "sha256": "437ac431a3252fd38804742c69e602c0c615c2ba4592471e3749ce5125132199"
            },
            "downloads": -1,
            "filename": "manim_recorder-0.2.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "567b12aa5667f455cd7403b19c8b2d7b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.9",
            "size": 39911,
            "upload_time": "2024-09-22T23:44:58",
            "upload_time_iso_8601": "2024-09-22T23:44:58.847051Z",
            "url": "https://files.pythonhosted.org/packages/af/b7/19315fcfd204e1c9327e2bb5dd1a9e3fed16e95253e41720f49cdc96d04d/manim_recorder-0.2.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed1336a9d84232c76b5a809c51fd9db43293626bbe365cb3d7c04ab9cd49763d",
                "md5": "ecbd2f9f444bc7c5c2f796ecee0322af",
                "sha256": "61b366e58532be489a00a4d4e3181d5a7ccbf7822594cfec9ce4b867bcc2d99d"
            },
            "downloads": -1,
            "filename": "manim_recorder-0.2.9.tar.gz",
            "has_sig": false,
            "md5_digest": "ecbd2f9f444bc7c5c2f796ecee0322af",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.9",
            "size": 29061,
            "upload_time": "2024-09-22T23:45:00",
            "upload_time_iso_8601": "2024-09-22T23:45:00.302962Z",
            "url": "https://files.pythonhosted.org/packages/ed/13/36a9d84232c76b5a809c51fd9db43293626bbe365cb3d7c04ab9cd49763d/manim_recorder-0.2.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-22 23:45:00",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "manim-recorder"
}
        
Elapsed time: 0.35695s