manim-recorder


Namemanim-recorder JSON
Version 0.2.8 PyPI version JSON
download
home_pageNone
SummaryManim plugin for recorder
upload_time2024-09-13 00:59:24
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/0c/a3/af4b85a97730ceaa1faa996eee5283ebb502d31f7de7dcf2f9b8a227ce53/manim_recorder-0.2.8.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.8",
    "project_urls": null,
    "split_keywords": [
        "voiceover",
        " manim",
        " recording",
        " math animations"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "876a80d87d05bc73049152a731210c6592ecbb0ffed8fe94a4fa45cd9691aeb1",
                "md5": "e0cffb08da95f739320726bf1adbf38f",
                "sha256": "23e5d5c9fbb0c43689d8bda7c9c8a4c5bbf0af7788fcadadbfee41739628dd8b"
            },
            "downloads": -1,
            "filename": "manim_recorder-0.2.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e0cffb08da95f739320726bf1adbf38f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.9",
            "size": 38566,
            "upload_time": "2024-09-13T00:59:23",
            "upload_time_iso_8601": "2024-09-13T00:59:23.130981Z",
            "url": "https://files.pythonhosted.org/packages/87/6a/80d87d05bc73049152a731210c6592ecbb0ffed8fe94a4fa45cd9691aeb1/manim_recorder-0.2.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ca3af4b85a97730ceaa1faa996eee5283ebb502d31f7de7dcf2f9b8a227ce53",
                "md5": "5e747eee7f9d3c17ff2d34e3b96ff9a8",
                "sha256": "830f47f120cfcdc0a57394375b57c9005db0036db1fa36e1eeb6be9e9f420904"
            },
            "downloads": -1,
            "filename": "manim_recorder-0.2.8.tar.gz",
            "has_sig": false,
            "md5_digest": "5e747eee7f9d3c17ff2d34e3b96ff9a8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.9",
            "size": 27769,
            "upload_time": "2024-09-13T00:59:24",
            "upload_time_iso_8601": "2024-09-13T00:59:24.441101Z",
            "url": "https://files.pythonhosted.org/packages/0c/a3/af4b85a97730ceaa1faa996eee5283ebb502d31f7de7dcf2f9b8a227ce53/manim_recorder-0.2.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-13 00:59:24",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "manim-recorder"
}
        
Elapsed time: 0.35979s