Name | manim_onvoice JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | Manim Onvoice Termux for Manim |
upload_time | 2024-08-18 12:34:48 |
maintainer | None |
docs_url | None |
author | None |
requires_python | None |
license | None |
keywords |
recorder
manim
termux
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Manim Onvoice
Manim plugin for adding speech to videos.
Special thanks to [manim-voiceover](https://github.com/ManimCommunity/manim-voiceover), which Manim Onvoice is heavily based on.
manim-voiceover feature is only supported recorder
- [Manim Onvoice](#manim-onvoice)
- [Requirement](#requirement)
- [Usage](#usage)
## Requirement
* [manim](https://docs.manim.community/en/stable/installation.html)
```sh
pkg install manim
```
* [python-slugify](https://github.com/un33k/python-slugify)
* [sox](https://github.com/marl/pysox)
* [mutagen](https://github.com/quodlibet/mutagen)
* [pydub](https://github.com/jiaaro/pydub)
## Usage
```python
from manim import *
from manim_onvoice.voiceover_scene import VoiceoverScene
from manim_onvoice.services.recorder import RecorderService
class HelloWorld(VoiceoverScene):
def construct(self):
self.set_speech_service(RecorderService(silence_threshold=-40.0))
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="Now, let's transform it into a square.") as tracker:
self.play(Transform(circle, square), 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_onvoice",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "recorder, manim, termux",
"author": null,
"author_email": "AvN Learn <avnlearn@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/b4/8a/3790e42054be6637aff22eb542ea12ff16d9af96ffa8288bfbfb97a80b64/manim_onvoice-1.0.0.tar.gz",
"platform": null,
"description": "# Manim Onvoice\n\nManim plugin for adding speech to videos.\n\nSpecial thanks to [manim-voiceover](https://github.com/ManimCommunity/manim-voiceover), which Manim Onvoice is heavily based on.\n\nmanim-voiceover feature is only supported recorder\n\n- [Manim Onvoice](#manim-onvoice)\n - [Requirement](#requirement)\n - [Usage](#usage)\n\n## Requirement\n\n* [manim](https://docs.manim.community/en/stable/installation.html)\n\n```sh\npkg install manim\n```\n\n* [python-slugify](https://github.com/un33k/python-slugify)\n* [sox](https://github.com/marl/pysox)\n* [mutagen](https://github.com/quodlibet/mutagen)\n* [pydub](https://github.com/jiaaro/pydub)\n\n## Usage\n\n```python\nfrom manim import *\nfrom manim_onvoice.voiceover_scene import VoiceoverScene\nfrom manim_onvoice.services.recorder import RecorderService\n\n\nclass HelloWorld(VoiceoverScene):\n def construct(self):\n self.set_speech_service(RecorderService(silence_threshold=-40.0))\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), run_time=tracker.duration)\n\n with self.voiceover(text=\"Now, let's transform it into a square.\") as tracker:\n self.play(Transform(circle, square), 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\n",
"bugtrack_url": null,
"license": null,
"summary": "Manim Onvoice Termux for Manim",
"version": "1.0.0",
"project_urls": {
"Home": "https://github.com/avnlearn/manim-onvoice-termux.git"
},
"split_keywords": [
"recorder",
" manim",
" termux"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b90ecfa33c137ae4816767930ebf895508c56091e2f57f27d5046b8dbfcc51f1",
"md5": "ac3eaa435a3c05ee034eb5fe1bffec81",
"sha256": "d8e2cbf9faa0bf501309076034eb27ddad204b5ea3eeed00ba0097cd1a1ca6eb"
},
"downloads": -1,
"filename": "manim_onvoice-1.0.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "ac3eaa435a3c05ee034eb5fe1bffec81",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 14728,
"upload_time": "2024-08-18T12:34:46",
"upload_time_iso_8601": "2024-08-18T12:34:46.285048Z",
"url": "https://files.pythonhosted.org/packages/b9/0e/cfa33c137ae4816767930ebf895508c56091e2f57f27d5046b8dbfcc51f1/manim_onvoice-1.0.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b48a3790e42054be6637aff22eb542ea12ff16d9af96ffa8288bfbfb97a80b64",
"md5": "0ff51da4333156d0ab31c618db524bfa",
"sha256": "5b99c2d0e103b37909a3f7eff12a551912a6a7f8ce6f1cf0c773c553441c0639"
},
"downloads": -1,
"filename": "manim_onvoice-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "0ff51da4333156d0ab31c618db524bfa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12593,
"upload_time": "2024-08-18T12:34:48",
"upload_time_iso_8601": "2024-08-18T12:34:48.565454Z",
"url": "https://files.pythonhosted.org/packages/b4/8a/3790e42054be6637aff22eb542ea12ff16d9af96ffa8288bfbfb97a80b64/manim_onvoice-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-18 12:34:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "avnlearn",
"github_project": "manim-onvoice-termux",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "manim_onvoice"
}