mirumoji


Namemirumoji JSON
Version 2.1.3 PyPI version JSON
download
home_pageNone
SummaryCLI launcher for the Mirumoji project, an open-source, self-hostable Japanese language immersion tool.
upload_time2025-07-16 21:30:17
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords japanese video-player language cli language-learning
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Overview

> Mirumoji is an open-source, self-hosted Japanese immersion toolkit. Drop in any video, anime episode, drama or audio clip and it gives you: clickable tokenized subtitles with dictionary pop-ups, Whisper-powered transcription, instant SRT/clip extraction, and one-click Anki deck export — all in Docker, all running on your own machine.

> Optional [`OpenAI`](https://platform.openai.com/docs/overview) Integration - Customizable GPT Breakdowns of Subtitles -

> Optional [`Modal`](https://modal.com) Integration - Install a CPU only version and run all GPU tasks on the cloud -

---

# Preview

> You can see a preview of the application's frontend _(No backend running)_ [`Here`](https://svdc1.github.io/mirumoji)

# Features

## **Interactive Video Player**

![alt-text](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/player.png?raw=true)

> Upload your local anime/J-Drama espisodes or any Japanese video and `.SRT` subtitles.

## **Clickable Japanese Subtitles**

![alt-text](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/word_dialog.png?raw=true)

> Subtitles are tokenized ([`kuromoji.js`](https://github.com/takuyaa/kuromoji.js)), allowing you to click individual words with
> integrated offline JMDict for definitions.

## **OpenAI Integration**

![alt-text](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/gpt_template.png?raw=true)

> Modify System Message and User Prompt with `{sentence}` and `{word}` variables.

## **Local Media Processing**

### **Video Conversion**

> Upload videos in various formats; they can be converted to MP4 for optimal playback.

### **SRT Generation**

> Generate subtitles for your videos. Runs [`FasterWhisper`](https://github.com/SYSTRAN/faster-whisper) with modified parameters to increase accuracy for longer media such as Anime/ J-Drama episodes.

## **Audio Transcription**

![alt-text](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/transcription.png?raw=true)

> Transcribe Japanese audio from recordings or uploaded files.

## **Profile-Based Data Management:**

### **Persistent Storage**

![alt-img](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/profile.png?raw=true)

> Profile configurations and all other profile-related data is stored and managed via SQLite database by the backend.

### **Clip Saving**

![alt-img](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/clips.png?raw=true)

> Save important video segments with their associated word breakdowns and export as an Anki Deck

---

# Setup

> Both the [`frontend`](https://github.com/svdC1/mirumoji/tree/main/apps/frontend) and [`backend`](https://github.com/svdC1/mirumoji/tree/main/apps/backend) have pre-built [`Docker`](https://www.docker.com/) images and are set up to work with Docker Compose.

> The easiest setup is to run the [`launcher`](https://github.com/svdC1/mirumoji/tree/main/apps/cli) for your platform. **For detailed instructions please refer to the [`Setup Guide`](https://github.com/svdC1/mirumoji/wiki/Setup-Guide)**

> You can also choose to [`build`](https://docs.docker.com/build/) the images locally with the Dockerfiles provided.

---

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mirumoji",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "svdc <svdc1mail@gmail.com>",
    "keywords": "japanese, video-player, language, cli, language-learning",
    "author": null,
    "author_email": "svdc <svdc1mail@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/89/ce/275499c6e52a1bd6470815ebf93c8827a97d64c1d1c0544f683e5186bd50/mirumoji-2.1.3.tar.gz",
    "platform": null,
    "description": "# Overview\n\n> Mirumoji is an open-source, self-hosted Japanese immersion toolkit. Drop in any video, anime episode, drama or audio clip and it gives you: clickable tokenized subtitles with dictionary pop-ups, Whisper-powered transcription, instant SRT/clip extraction, and one-click Anki deck export \u2014 all in Docker, all running on your own machine.\n\n> Optional [`OpenAI`](https://platform.openai.com/docs/overview) Integration - Customizable GPT Breakdowns of Subtitles -\n\n> Optional [`Modal`](https://modal.com) Integration - Install a CPU only version and run all GPU tasks on the cloud -\n\n---\n\n# Preview\n\n> You can see a preview of the application's frontend _(No backend running)_ [`Here`](https://svdc1.github.io/mirumoji)\n\n# Features\n\n## **Interactive Video Player**\n\n![alt-text](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/player.png?raw=true)\n\n> Upload your local anime/J-Drama espisodes or any Japanese video and `.SRT` subtitles.\n\n## **Clickable Japanese Subtitles**\n\n![alt-text](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/word_dialog.png?raw=true)\n\n> Subtitles are tokenized ([`kuromoji.js`](https://github.com/takuyaa/kuromoji.js)), allowing you to click individual words with\n> integrated offline JMDict for definitions.\n\n## **OpenAI Integration**\n\n![alt-text](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/gpt_template.png?raw=true)\n\n> Modify System Message and User Prompt with `{sentence}` and `{word}` variables.\n\n## **Local Media Processing**\n\n### **Video Conversion**\n\n> Upload videos in various formats; they can be converted to MP4 for optimal playback.\n\n### **SRT Generation**\n\n> Generate subtitles for your videos. Runs [`FasterWhisper`](https://github.com/SYSTRAN/faster-whisper) with modified parameters to increase accuracy for longer media such as Anime/ J-Drama episodes.\n\n## **Audio Transcription**\n\n![alt-text](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/transcription.png?raw=true)\n\n> Transcribe Japanese audio from recordings or uploaded files.\n\n## **Profile-Based Data Management:**\n\n### **Persistent Storage**\n\n![alt-img](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/profile.png?raw=true)\n\n> Profile configurations and all other profile-related data is stored and managed via SQLite database by the backend.\n\n### **Clip Saving**\n\n![alt-img](https://github.com/svdC1/mirumoji/blob/main/.github/example_imgs/clips.png?raw=true)\n\n> Save important video segments with their associated word breakdowns and export as an Anki Deck\n\n---\n\n# Setup\n\n> Both the [`frontend`](https://github.com/svdC1/mirumoji/tree/main/apps/frontend) and [`backend`](https://github.com/svdC1/mirumoji/tree/main/apps/backend) have pre-built [`Docker`](https://www.docker.com/) images and are set up to work with Docker Compose.\n\n> The easiest setup is to run the [`launcher`](https://github.com/svdC1/mirumoji/tree/main/apps/cli) for your platform. **For detailed instructions please refer to the [`Setup Guide`](https://github.com/svdC1/mirumoji/wiki/Setup-Guide)**\n\n> You can also choose to [`build`](https://docs.docker.com/build/) the images locally with the Dockerfiles provided.\n\n---\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "CLI launcher for the Mirumoji project, an open-source, self-hostable Japanese language immersion tool.",
    "version": "2.1.3",
    "project_urls": {
        "Homepage": "https://github.com/svdC1/mirumoji",
        "Issues": "https://github.com/svdC1/mirumoji/issues"
    },
    "split_keywords": [
        "japanese",
        " video-player",
        " language",
        " cli",
        " language-learning"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "17d53978fb6c62b413ba1c18369a0bdb892f04280465f059c4443c3dd11b2ff1",
                "md5": "00fbe2cbe5aa82948c901d44ba4eeb18",
                "sha256": "d6965e3cfb6dc090662378c65ec2a08ade14a42ef9e06f8cfe9921b005716ea1"
            },
            "downloads": -1,
            "filename": "mirumoji-2.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "00fbe2cbe5aa82948c901d44ba4eeb18",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 10417,
            "upload_time": "2025-07-16T21:30:16",
            "upload_time_iso_8601": "2025-07-16T21:30:16.516959Z",
            "url": "https://files.pythonhosted.org/packages/17/d5/3978fb6c62b413ba1c18369a0bdb892f04280465f059c4443c3dd11b2ff1/mirumoji-2.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "89ce275499c6e52a1bd6470815ebf93c8827a97d64c1d1c0544f683e5186bd50",
                "md5": "34d6b0690d58a20c2a9797b03f4e4d9a",
                "sha256": "b241a7f19f28d85589ddc4081c6f588b3808dae56746ed89a97cd7dbab8da372"
            },
            "downloads": -1,
            "filename": "mirumoji-2.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "34d6b0690d58a20c2a9797b03f4e4d9a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11476,
            "upload_time": "2025-07-16T21:30:17",
            "upload_time_iso_8601": "2025-07-16T21:30:17.982594Z",
            "url": "https://files.pythonhosted.org/packages/89/ce/275499c6e52a1bd6470815ebf93c8827a97d64c1d1c0544f683e5186bd50/mirumoji-2.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-16 21:30:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "svdC1",
    "github_project": "mirumoji",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "mirumoji"
}
        
Elapsed time: 0.46519s