Skip to content

Releases: brightryo/mojioko

MOJIOKO v1.3.5

Choose a tag to compare

@brightryo brightryo released this 21 Jul 07:09

MOJIOKO v1.3.5

Changed

  • Cleaned up license and documentation wording so that both the
    free (GitHub) and paid (Microsoft Store) editions are described
    consistently across the README, the download site, and the
    bundled third-party licence notices.

変更(日本語)

  • 無料版(GitHub)と有料版(Microsoft Store)の両方を前提とした
    一貫した表記になるよう、README・ダウンロードサイト・同梱されて
    いる第三者ライセンス表記まわりの文言・ドキュメントを整備しました。

Download: MOJIOKO.Setup.1.3.5.exe

MOJIOKO v1.3.4

Choose a tag to compare

@brightryo brightryo released this 18 Jul 23:10

MOJIOKO v1.3.4

Bug-fix release. See below for the full change list in English and Japanese.

English

Fixed

  • Fixed an issue where model, GPU tool, and font downloads could
    fail to complete correctly.

日本語

修正

  • モデル・GPUツール・フォントのダウンロードが正常に完了しない
    場合がある不具合を修正しました。

Download: MOJIOKO.Setup.1.3.4.exe

MOJIOKO v1.3.3

Choose a tag to compare

@brightryo brightryo released this 16 Jul 01:14

What's New in v1.3.3

Fifth minor-line release: a full editor redesign inspired by DaVinci Resolve, a new project save / open workflow for pausing and resuming an edit, and NVIDIA GPU acceleration for the Whisper transcription backend (including the new RTX 50 series).

Added

  • GPU-accelerated transcription (NVIDIA). Whisper can now run on an NVIDIA GPU for significantly faster transcription. The CUDA / cuDNN runtime (~1.1 GB) downloads once on first use from inside the app — no separate CUDA install required. A GPU is optional; MOJIOKO continues to run on CPU without it, and the user's CPU/GPU choice is always respected. The latest NVIDIA generations, including RTX 50 series (Blackwell), are supported — the backend picks the right compute type automatically and falls back to CPU cleanly if a card reports GPU support but stumbles at model init.
  • SRT import. Load an external SRT subtitle file into the editor to replace the current subtitle set. Enables workflows like "transcribe → export SRT → translate externally → import back and burn in the translated version." Import is destructive (current subtitles and edit history are replaced), so it goes through a confirm dialog first. Cues that fall outside the loaded video's duration are skipped and reported in the completion toast.
  • Per-row style editing in the subtitle list. Text colour, outline colour, and outline width can now be edited directly from a row's style cell (in addition to the inspector) — clicking the colour swatch opens the same colour picker, and clicking the outline-width number opens a popover with the same slider the inspector uses. Works during bulk-edit selection too; row-level edits apply to that single row.
  • Word-level transcription (Microsoft Store version only, experimental, for English audio). A checkbox in the transcribe drawer generates subtitles in short 1–3 word chunks — the CapCut / short-form caption style. Default off; opt in per run. Works best on clean English audio; results with Japanese audio may split words unnaturally (single kanji become separate captions). Positioned as an experimental feature — turn it off if the cadence does not suit your material. In the free (GitHub) build the checkbox is visible but locked with a "Paid-version only" badge.
  • Project save & open (.mojioko). Save your session — video, subtitles, cuts, per-row styles — to a .mojioko file and reopen it later to keep editing. Works from either the transcribe or edit screen. Menu: File > Open Project… (Ctrl+O) and File > Save Project… (Ctrl+S). A default project folder can be set under Settings > General. When the original video has moved, the app asks you to point it at the new location before opening.
  • Transcribe start guards, visualised. Each precondition (input file, model, GPU / audio track) shows a small ○ / ✓ marker on the transcribe screen; hovering the disabled Start button explains what's still missing, and clicking it surfaces the same reason as a toast.

Improved

  • Full editor UI refresh. The editor was rebuilt with a DaVinci Resolve-inspired dark palette, higher-contrast text and borders (WCAG AA), a flatter chrome (card outlines removed in favour of hairline dividers), and an edge-to-edge edit layout that gives the timeline more room. The video preview area can be collapsed to reclaim vertical space for the subtitle table, and reopens to the currently-selected clip's start time.
  • Font picker polish. The picker popover now clamps properly at every window size and scrolls inside its own panel. The "Default:" prefix on the currently-selected font was dropped, and per-row reset buttons were simplified.
  • GPU-tool extraction shows an indeterminate progress bar. The ~10-second local extraction step after the CUDA / cuDNN download used to sit at 0 % and looked stuck; it now shows a moving stripe so it reads as "working."
  • Whisper settings pane cleanup. The redundant "settings are saved automatically" line was retired from the transcribe drawer and the Whisper tab of Settings.
  • Numerous small polish fixes across the transcribe screen, editor, and export drawer as part of the redesign.

Fixed

  • Undo now catches text edits. Editing a subtitle's text (typing or paste) is now correctly recorded on the undo stack. Previously the edit slipped through the guard and Ctrl+Z would unwind the previous timeline action — e.g. a clip drag — instead of the text you just changed, which felt like the app was rewriting the wrong thing.
  • Timeline drag across a cut region. Extending a subtitle past a trim boundary now tracks the cursor pixel-for-pixel instead of stalling at the cut edge until you drag far past it. Same fix for resize-start and move drags.
  • Preview shows only the subtitles that make it to output. Subtitles a trim consumed no longer appear as phantom second-line stack captions in the preview overlay; the preview now matches what the burn-in writes.
  • Whisper model storage row layout. The disk-usage / open-folder row under the model cards was narrowed to match the card grid width, so the "Open" button no longer reads like a primary action.
  • The video preview now stops when you collapse it, and the play button resets to ▶ so it never gets stuck showing pause after a reopen.
  • Timeline cuts are now honoured on playback for projects opened from a .mojioko file (previously they only skipped during the same session they were made in).

Download: MOJIOKO.Setup.1.3.3.exe (Windows, free installer)


v1.3.3 の変更点

第 5 マイナーラインのリリース。DaVinci Resolve の影響を受けた編集画面の全面刷新、プロジェクトの保存/開くによる編集の中断・再開、および文字起こしバックエンドの NVIDIA GPU 対応(RTX 50 番台を含む最新世代まで)。

新機能

  • NVIDIA GPU による文字起こし高速化。Whisper の文字起こしを NVIDIA GPU で実行して大幅に高速化できるようになりました。CUDA / cuDNN ランタイム(約 1.1 GB)は初回のみアプリ内からダウンロードします — 事前の CUDA インストールは不要です。GPU は必須ではなく、GPU が無い環境でも CPU で問題なく動作し、ユーザーの CPU / GPU 選択は常に尊重されます。**RTX 50 番台(Blackwell)**を含む最新世代の NVIDIA GPU にも対応。バックエンドが対応する compute_type を自動選択し、GPU 側で初期化に失敗した場合は CPU 実行に静かに切り替えます。
  • SRT インポート。外部の SRT 字幕ファイルを読み込み、現在の字幕セットを置き換えられるようになりました。「文字起こし → SRT 書き出し → 外部で翻訳 → インポートして翻訳版を焼き込む」というワークフローが可能になります。インポートは破壊的操作(既存の字幕と操作履歴を置き換え)なので、確認ダイアログを経由します。動画の尺を超える字幕は除外され、完了トーストで件数を通知します。
  • 字幕一覧の行から色・アウトライン幅を編集可能に。文字色・アウトライン色・アウトライン幅を、字幕一覧の各行から直接編集できるようになりました(インスペクタからの編集はこれまで通り可能)。色チップをクリックすると同じカラーピッカーが開き、アウトライン幅の数字をクリックするとインスペクタと同じスライダーがポップオーバーで開きます。一括編集の選択中でも動作し、行から編集した結果はその 1 行だけに適用されます。
  • 単語ごと文字起こし(Microsoft Store 版限定・英語音声向け・試験的機能)。文字起こし開始ドロワーのチェックボックスで有効化すると、字幕を1〜3語ごとの短い単位で生成します。CapCut などショート動画で見られる字幕スタイルの元素材を作れます。デフォルトはオフ。有効化はドロワーを開くたびに毎回選び直す仕様です。英語音声向けの試験的機能であり、日本語音声で有効にすると単語の切れ目が不自然(漢字単位で分割されるなど)になる場合があります。合わないと感じたらオフに戻してください。無料版(GitHub 配布)ではチェックボックスは表示されますが「有料版でのみ利用可能」の表示付きでロックされます。
  • プロジェクトの保存/開く(.mojioko。編集セッション(動画・字幕・トリミング・行ごとのスタイル)を .mojioko ファイルに保存し、後から開いて編集を続けられるようにしました。文字起こし画面・編集画面のどちらからでも使えます。メニュー: 「ファイル > プロジェクトを開く…」(Ctrl+O)/「ファイル > プロジェクトを保存…」(Ctrl+S)。「設定 > 一般」からデフォルトの保存フォルダを指定できます。元の動画が見つからないときは、再選択を促すダイアログが出ます。
  • 文字起こし開始ガードの可視化。文字起こし画面の各前提条件(入力ファイル・モデル・GPU/音声トラック)に ○/✓ のマーカーを表示しました。開始ボタンが押せない状態でホバーすると何が足りないかを説明し、クリックすると同じ理由をトーストで表示します。

改善

  • 編集画面 UI の全面刷新。DaVinci Resolve に影響を受けたダークパレットに再構成し、テキストと境界のコントラストを引き上げ(WCAG AA 準拠)、カード枠を廃止して細いヘアライン区切りに置き換えました。編集画面は端まで広がるレイアウトになり、タイムラインが広く使えるようになりました。動画プレビュー領域を折りたたんで字幕一覧の高さを稼ぐことができ、再度開いたときには選択中クリップの開始時刻に再生ヘッドが同期します。
  • フォントピッカーの改善。ポップオーバーがウィンドウ幅に応じて正しくクランプされ、内部でスクロールできるようになりました。選択中フォント名の「デフォルト:」接頭辞を廃止し、各行のリセットボタンを整理しました。
  • GPU ツール展開中の進捗表示を不確定バーに。CUDA / cuDNN ダウンロード後のローカル展開(約 10 秒)は進捗を取得できないため 0 % のまま固まって見えていました。左右に流れる不確定バーに切り替えて「処理中」だと分かるようにしました。
  • Whisper 設定パネルの整理。「設定は自動的に保存されます」の一文が冗長だったため、文字起こし開始ドロワーと設定画面の Whisper タブの両方から削除しました。
  • 上記刷新に伴い、文字起こし画面・編集画面・書き出しドロワーの細部にわたる調整を多数行いました。

修正

  • 字幕テキストの編集が undo で戻るようになりました。字幕をタイプまたは貼り付けで編集した内容が、undo 履歴に正しく記録されるようになりました。従来は編集直後に Ctrl+Z を押すと、テキスト編集ではなく直前のタイムライン操作(クリップの移動など)が巻き戻り、意図しない動作に見えていました。
  • カット領域をまたぐタイムラインのドラッグ。トリミング境界を越えて字幕を伸ばす操作が、カーソルにピクセル単位で正しく追従するようになりました。従来はカット境界で貼り付いて動かなくなり、大きく引いてやっと動き出す挙動になっていました。クリップ左端のドラッグ・クリップ移動でも同じ修正を適用しています。
  • プレビューが焼き込み結果と一致するようになりました。トリミングで消えた字幕がプレビューに 2 段目として残る不具合を修正しました。プレビューが焼き込み出力と同じ内容を表示するようになります。
  • Whisper モデルの容量表示行。モデルカードの下にある使用容量・空き容量・「開く」ボタンの行の横幅を、上のカード群と揃うように狭くしました。「開く」ボタンが大項目のように見えて誤操作を誘発する余地を減らしています。
  • 動画プレビューを閉じたときに再生が停止し、再度開いたときに再生ボタンが ▶ 表示に戻るようにしました(従来は ⏸ のまま残る不具合がありました)。
  • .mojioko ファイルから開いたプロジェクトでも、再生時にタイムライン上のトリミング箇所を正しくスキップするようにしました(従来は保存前のセッションでしかスキップされていませんでした)。

ダウンロード: MOJIOKO.Setup.1.3.3.exe(Windows 版・無料インストーラ)

MOJIOKO v1.3.2

Choose a tag to compare

@brightryo brightryo released this 07 Jul 08:27

日本語

改善

  • 初回起動時に、OS の言語設定に応じて表示言語(日本語/英語)を自動で選ぶようにしました。
  • プレビュー再生で、動画内のすべての音声トラックをミックスして再生するようにしました(マイクを別トラックに録音していても、プレビューで音声を確認できます)。
  • タイムラインをクリックした位置に再生位置を移動できるようにしました。
  • 設定画面の項目・表記を整理しました。

修正

  • 字幕の「背景色」を有効にして書き出した際、出力動画で背景色が正しく表示されない不具合を修正しました。
  • 一部のフォントで、字幕のはみ出し判定や自動改行が正しく行われない不具合を修正しました。
  • タイムラインのアクティブな字幕の枠が、マウスカーソルを重ねると見えなくなる不具合を修正しました。
  • 一部の環境・ファイル名(パイプ「|」、中黒「・」「·」、絵文字、日本語以外の非ASCII文字などを含む名前)で、動画・音声の文字起こしが「No such file or directory」で失敗する不具合を修正しました。

変更

  • 無料版(GitHub 版)で使用できるフォントを、デフォルトフォント(Noto Sans JP)のみに変更しました。追加フォントは Microsoft Store 版でご利用いただけます。

English

Improved

  • The display language (Japanese/English) is now chosen automatically on first launch, based on your OS language setting.
  • Preview playback now mixes and plays all audio tracks in the video, so you can check the audio in preview even when the microphone is recorded on a separate track.
  • You can now click on the timeline to move the playback position to that point.
  • Reorganized the items and labels in the settings screen.

Fixed

  • Fixed an issue where the subtitle background color was not shown correctly in the exported video when the background was enabled.
  • Fixed incorrect overflow detection and automatic line breaking with certain fonts.
  • Fixed an issue where the active subtitle's frame on the timeline disappeared when hovering over it.
  • Fixed an issue where transcription could fail with "No such file or directory" for input files whose names contain certain characters (pipe |, middle dot ·, emoji, non-ASCII / non-Japanese text).

Changed

  • The free (GitHub) version now uses the default font (Noto Sans JP) only. Additional fonts are available in the Microsoft Store version.

GPU Acceleration Tools (CUDA v1)

Choose a tag to compare

@brightryo brightryo released this 08 Jul 00:35

MOJIOKO の GPU アクセラレーション機能 (REQ-0149) 用ランタイム。

内容: NVIDIA CUDA 12.6 Runtime + cuDNN 9 の redistributable DLL 11 個 + NVIDIA-LICENSES.txt を単一 zip にまとめたもの。アプリ内 UI(Step1 の「処理デバイス」アコーディオン)から DL・展開・SHA-256 検証されて %APPDATA%/MOJIOKO/gpu-tools/cuda-v1/ に配置される。MOJIOKO 本体インストーラには含まれず、GPU 実行を望むユーザーだけが追加 DL する。

  • SHA-256: 432c2aaffdf8676e7961799645821c44ee8c1fa0e7bf72c6ec4d47a1041cbc7c
  • Size: ~1.02 GB
  • License: 同梱の NVIDIA-LICENSES.txt (NVIDIA cuDNN SLA / CUDA EULA / cuBLAS BSD)

MOJIOKO v1.3.1

Choose a tag to compare

@brightryo brightryo released this 27 Jun 21:08

[1.3.1] - 2026-06-28

改善

  • Whisper モデルが未ダウンロードのとき、モデル選択画面を自動で開くようにしました
  • モデルのダウンロードが途中で中断しても、続きから再開できるようにしました
  • 入力ファイルの音声トラック数を表示するようにしました

修正

  • ダウンロードが不完全なモデルを正しく検出し、壊れたモデルで文字起こしを開始しないようにしました
  • ダウンロードが失敗した際のエラーメッセージを分かりやすくしました

変更

  • アンインストール時に、ダウンロード済みのモデルも削除するようにしました

[1.3.1] - 2026-06-28

Improved

  • The model selector now opens automatically when no Whisper model is installed
  • Model downloads can now resume from where they left off if interrupted
  • The number of audio tracks in the input file is now shown

Fixed

  • Incomplete model downloads are now correctly detected, preventing transcription from starting with a corrupted model
  • Improved the error message shown when a download fails

Changed

  • Downloaded models are now also removed when the app is uninstalled

MOJIOKO v1.3.0

Choose a tag to compare

@brightryo brightryo released this 24 Jun 00:54

[1.3.0] - 2026-06-24

第 4 マイナーラインのリリース。字幕ごとのフェードと再設計した
プレビュー、 ドロワー方式の文字起こし画面、 一括編集の細部調整、
書き出し UI の統一。

新機能

  • 字幕ごとのフェードイン / アウト。 各行に独立したフェード
    スライダーを追加 (0 〜 0.5 秒、 0 = OFF)。 インスペクター、
    一括編集パネル、 既定スタイル設定の 3 か所から操作可能。
    初期値は OFF にしているので、 新しく追加した字幕は再生ヘッドが
    頭に着いた瞬間からはっきり見えます。
  • タイムラインに「使い方」ボタン。 タイムラインツールバーに
    ヘルプポップを追加し、 クリップ操作 / ズーム / インスペクター
    の使い方など短いヒントを表示します。
  • 書き出し完了ダイアログにクレジット文のコピーボタン。 焼き
    込み完了後のダイアログから、 おすすめのクレジット文 (英語 /
    日本語) を 1 クリックでコピー可能。 ダイアログ下端のボタンも
    等幅に揃えて見た目を整理しました。
  • スペースキーで再生 / 一時停止。 STEP 2 でテキスト入力中
    以外であれば、 スペースキーを押すだけでプレビューの再生 /
    停止を切り替えられるようになりました。

改善

  • フェードプレビューを再設計。 アプリ内のフェードアニメーションを
    React の state ではなく vsync 同期の rAF で駆動するように
    変更しました。 どのフレームレートでも滑らかで、 焼き込み後
    (libass) の表示と完全に一致します。
  • STEP 1 (文字起こし) をドロワー構成に刷新。 STEP 2 で採用して
    いるドロワーパターンに合わせ、 文字起こしの進捗とオプションを
    右側のドロワーパネルに移動。 STEP 1 と STEP 2 が同じ枠組みで
    読めるようになりました。
  • 一括編集の細部調整。 タイムラインビューに切り替えると一括選択
    を解除するようにしたので、 クリップクリックがそのまま単一
    インスペクターに繋がります。 サイズ・縦マージン・背景透過率には
    インスペクターと同じ ±10 ステッパーを追加。 水平 / 垂直 /
    背景色の各操作をプルダウンからセグメントボタンに置き換え、
    パネル全体のレイアウトをインスペクターと揃えました。
  • 書き出し UI をテキスト / 画像 (1 フレーム JPG) / 動画 (焼き
    込み) で統一。 同じダイアログ形状と文言で並ぶので、 3 種類の
    出力経路が「1 つの機能・3 つの出力先」として読めます。
  • インスペクタの背景表示を統一。 インスペクタペインの背景色を
    タイムラインビュー / 動画プレビューと同じサーフェスのトーンに
    揃え、 右ペインの 3 つのサーフェスがひとつのパレットで読める
    ようになりました。
  • バージョン情報ダイアログの文言を更新。 MOJIOKO が何を収集
    しないかをより明確にしました。
  • 文字起こしエンジンを faster-whisper 1.2.1 に更新。
  • 文字起こしモデルを turbo (高速) と large-v3 (高精度・推奨)
    の 2 種に整理。 small・medium は廃止。

修正

  • 水平 / 垂直アンカーを変更したとき、 既存のドラッグ調整
    (オフセット) が他軸でも保持されるようになりました。
    インスペクター側にもオフセットのリセット導線を追加しています。
  • マウスクリックで意図せず緑のフォーカスリングが残り続ける問題
    を解消。 リング表示はキーボード操作時のみに限定しました。 設定
    タブやインスペクタセクションでクリック後にリングが残る問題も
    併せて修正しています。

[1.3.0] - 2026-06-24

Fourth minor-line release: per-subtitle fade with a redesigned
preview, drawer-style transcription step, polished bulk editing,
and a unified export UI.

Added

  • Per-subtitle fade. Each row now has its own fade in / out
    slider running from 0 to 0.5 s, with 0 meaning "no fade". The
    slider is exposed in the inspector, the bulk-edit panel, and the
    default-style settings. Default is off so a freshly-added clip
    is fully visible the moment the playhead lands on its start.
  • "How to use" button on the timeline. A help popover lives
    on the timeline toolbar with concise tips on navigating clips,
    zooming, and using the inspector.
  • Credit-text copy buttons on the export-complete dialog. The
    dialog shown after a successful burn-in offers one-click copy of
    the suggested credit text in English and Japanese, with the
    dialog's action buttons now equal-width for a tidier footer.
  • Space plays / pauses the video. Pressing Space anywhere
    outside a text input toggles preview playback in Step 2.

Changed

  • Fade preview redesigned. The in-app preview ramp now runs on a
    vsync-aligned rAF instead of React state, so the alpha curve is
    smooth at all frame rates and matches the burned-in libass
    output exactly.
  • Step 1 (transcription) re-laid-out as a drawer, matching the
    drawer pattern Step 2 uses. Transcription progress and options
    now live in the same right-side panel shape as Step 2's burn-in
    drawer, so the two steps read as siblings.
  • Bulk-edit polish. Switching to the timeline view now clears the
    bulk selection so a clip click drives the single-row inspector
    instead of leaving the bulk panel up. Size, margin, and
    background-opacity gained a ±10 stepper to match the inspector.
    The horizontal / vertical / background-colour rows are now
    segmented buttons (replacing the previous select dropdowns), and
    the panel's row layout is aligned with the inspector top to
    bottom.
  • Export UI unified across text, image (JPG frame), and video
    (burn-in) outputs so the three paths share the same dialog
    shape and language.
  • Inspector background styling unified with the timeline view and
    video preview so the three right-pane surfaces share one
    palette.
  • About dialog wording updated for clarity around what MOJIOKO
    does and does not collect.
  • Updated the transcription engine to faster-whisper 1.2.1.
  • Reorganized transcription models into turbo (fast) and large-v3
    (higher quality, recommended). small and medium are removed.

Fixed

  • Changing a row's horizontal or vertical anchor now preserves any
    drag-applied offset on the existing axes instead of resetting
    it; the inspector's offset row also exposes a reset-to-pin
    shortcut.
  • Unwanted focus outlines no longer surface on mouse interactions
    — the green focus ring is kept for keyboard navigation only.
    Lingering rings on settings tabs and inspector sections after a
    click are gone.

MOJIOKO v1.2.1

Choose a tag to compare

@brightryo brightryo released this 13 Jun 06:06

MOJIOKO [1.2.1] - 2026-06-13

v1.2 ラインのフォローアップリリース。字幕編集まわりの小さな追加
(行の複製、 改行 2 系統、 プレビューでの複数字幕の重ね表示) と、
v1.2.0 後に出たいくつかの不具合修正。

新機能

  • 字幕の行を複製できるようになりました。 一覧とタイムラインの
    ブロックインスペクター、 どちらにも複製ボタンを追加。 複製した行は
    一覧では元の行のすぐ下に挿入され、 テキスト・時刻・フォント・色・
    アウトライン・フェードといったすべてのスタイル属性をそのままコピー
    します。 複製した行は「編集済み」扱いになるので、 後から見ても
    どの行が複製かが一目で分かります。
  • 改行ボタンが 2 種類 になりました (旧「自動改行」を置き換え):
    • 敷き詰め改行 — 既存の改行をいったん消して、 画面の幅
      いっぱいに詰め直します。 旧「自動改行」と同じ挙動。
    • はみ出し改行 — 手動で入れた改行はそのままに、 画面から
      はみ出す部分だけを折り返します。
      両ボタンは一覧の行末アイコン、 一括編集バー、 タイムラインの
      ブロックインスペクターの 3 か所に追加。
  • プレビューで複数字幕を重ねて表示。 同じ時刻に 2 つ以上の
    字幕が重なる場合、 書き出し後の動画と同じ縦並び順 (先頭の字幕が
    端、 後続が端から離れる方向) でプレビューに表示されるようになり
    ました。 これまでは 1 つしか表示されていませんでした。
  • タイムラインの時間目盛りが常に表示されるようになりました。
    タイムラインの行数が 3 行以上になって縦スクロールが必要な
    状態でも、 時間の目盛り (0:00、 0:02 … の数字が並ぶヘッダ) は
    上端に固定されたまま動かないようになり、 再生ヘッドを常に
    掴める状態を維持します。
  • クリップの無い空白部分をクリック・ドラッグして再生位置を
    移動できるようになりました。
    これまでは時間目盛り上でしか
    シーク (再生位置の移動) ができませんでしたが、 タイムラインの
    空白部分でも同じ操作が可能になりました。 クリックでその時刻に
    ジャンプ、 押したまま動かすと再生ヘッドが追従します。 クリップ
    そのものをクリックしたときは従来どおりクリップが選択されます。

改善

  • 旧「自動改行」を 「敷き詰め改行」 に名称変更しました。
    新しい「はみ出し改行」と並べて区別しやすくするための整理で、
    既存ボタンの挙動は変えていません。

修正

  • テキスト入力中に改行ボタンを押すと、 整形結果がフォーカスを
    外した瞬間に元に戻ってしまうことがある問題を修正しました
    (直前に打ったキーが失われる場合もありました)。 入力フィールドは、
    ユーザーが手を入れていない間は外部からの更新を取り込み、
    実際に手で入力した場合だけフォーカスを外したときに確定する
    仕組みに改めました。
  • タイムラインで同じ開始時刻のクリップをドラッグすると、 別の
    クリップが動いてしまう問題を修正しました。 ドラッグ中はクリップの
    表示位置 (行) がドラッグ開始時点で固定されるようになりました。
  • プレビューで複数字幕を表示しているとき、 早く終わった字幕が
    消えると残りの字幕が下に詰めて表示される問題を修正しました。
    書き出し (libass) は各字幕の縦位置を「登場した時点」で確定して
    以降固定する仕組みなので、 プレビューもそれに合わせて、 一度
    決まった位置は動かないようにしました。 後から登場する字幕は
    空いた場所に入ります。
  • タイムラインを縦スクロールしたときに、 クリップ (字幕の四角)
    が時間目盛りに重なって表示されてしまう問題を修正しました。
    目盛りが常に手前に表示され、 数字がクリップの裏に隠れない
    ようになりました。
  • 再生ヘッドを動画の最後より先や 0 秒より前にドラッグできて
    しまう問題を修正しました。 動画の長さの範囲内に収まるよう
    自動で止まるようになりました。
  • タイムラインのクリップ (字幕) を右端いっぱいまでドラッグ
    すると、 クリップの終了時刻が動画の長さをほんのわずかに
    超えてしまい、 「時間超過」 の警告 (赤バッジ) が出る問題を
    修正しました。 クリップが動画の終端で正しく止まるようになり、
    ドラッグ操作で意図せず警告が出ることがなくなりました。

MOJIOKO [1.2.1] - 2026-06-13

Follow-up release on the v1.2 line: small additions around subtitle
editing (duplicate, two line-break modes, stacked preview captions)
and a handful of fixes that landed after v1.2.0 went out.

Added

  • Duplicate a subtitle row. Both the table and the timeline
    block inspector now have a duplicate button. The copy lands
    directly under the source row in the table, carries every style
    field (text, time, font, colour, outline, fade), and is marked as
    edited so it stands out at a glance.
  • Two line-break modes replace the previous single "Auto wrap"
    button:
    • Pack wrap — drops every existing break in the row and
      refills the line(s) to the full display width. Same behaviour
      as the old auto-wrap.
    • Overflow wrap — keeps the manual breaks the user already
      placed and only folds segments that exceed the display width.
      Both buttons appear side-by-side in the row icons, the bulk-edit
      bar, and the timeline block inspector.
  • Simultaneous captions in the preview. When two or more
    subtitles overlap in time, the preview now stacks them vertically
    in the same order the burn-in produces (first event at the
    configured edge, later events pushed away from it). Previously
    only one caption was shown at a time.
  • Timeline ruler stays on screen. When the timeline has three
    or more rows and you scroll down to reach the lower tracks, the
    time ruler now pins to the top of the timeline view instead of
    scrolling out of sight, so the playhead is always reachable.
  • Click or drag on empty timeline space to seek. You can now
    click — or hold and drag — anywhere in the empty area of the
    tracks to move the playhead, in addition to the existing ruler
    gesture. Clicks on subtitle clips continue to select / drag the
    clip as before.

Changed

  • The legacy "Auto wrap" button was renamed to "Pack wrap" so the
    name matches the new "Overflow wrap" sibling. Behaviour of the
    existing button is unchanged.

Fixed

  • Pressing a wrap button while a text input was focused could
    silently revert the wrap on the next blur (and could discard the
    user's last-typed character). The text input now syncs from
    external updates while not dirty and only commits on blur when
    the user actually typed.
  • Dragging a timeline clip that shares its start time with another
    clip used to swap the two clips' rows mid-drag — the user saw
    the wrong block move. The dragged clip's track is now pinned to
    its starting row for the duration of the drag.
  • Preview captions used to "reflow downward" when an earlier
    caption ended, but the burn-in (libass) freezes each caption's
    vertical position. The preview now matches: positions are
    decided when a caption starts and stay put until it ends; later
    arrivals fill any freed gap.
  • Scrolling the timeline vertically used to let subtitle clips
    paint on top of the (newly-pinned) ruler — the time numbers ran
    underneath the blocks. The ruler now stays in front of the
    scrolling clips so the time axis is always readable.
  • The playhead could be dragged past the end of the video (or
    before the start), which left it pointing at a time the player
    could never reach. The playhead now stops at the video's start
    and end no matter where you drag.
  • Dragging a subtitle clip to the far right edge of the timeline
    could leave its end time one frame past the video's actual end,
    which raised an "exceeds duration" warning that the user had no
    way to clear except by undoing the drag. Clip drags now stop
    cleanly at the video's end so the warning does not appear.

MOJIOKO v1.2.0

Choose a tag to compare

@brightryo brightryo released this 10 Jun 08:06

MOJIOKO v1.2.0

タイムラインでのトリミング機能を追加した、大型アップデートです。

新機能

  • タイムライントリミング — タイムライン上で始点・終点を指定し、不要な区間を動画の尺ごと削除できるようになりました。字幕だけでなく、動画の時間そのものを編集できます。
  • はさみマーカーで取り消し — トリミングした位置にはさみマーカーが残り、クリックすると取り消せます。重ねてトリミングした場合は、外側から順に取り消せます。
  • タイムラインの使い方ガイド — タイムライン上の「使い方」ボタンから、トリミング・はさみマーカー・ズーム・字幕配置のコツを確認できます。

改善

  • 時刻表示の統一 — トリミング後の時刻表示を、編集後の動画の時間軸に統一しました。インスペクター・一覧・プレビュー・タイムラインの時刻が、すべて一致します。
  • エラーと警告の区別 — 字幕の問題箇所を「エラー(書き出しできない)」と「警告(書き出しできる)」に分けて表示するようになりました。エラーがある場合は、書き出しに進む前に修正を促します。
  • 削除した字幕の扱いを整理 — トリミングで削除した字幕と、手動で削除した字幕を、明確に区別して扱うようになりました。

不具合修正

  • トリミングに関する複数の不具合を修正しました(特定の字幕が意図せず削除される問題など)。

すべての処理はお使いのPC内で完結し、データが外部に送信されることはありません。

不具合の報告・ご要望は GitHub Issues までお願いします。


MOJIOKO v1.2.0

A major update introducing timeline trimming.

New Features

  • Timeline trimming — Mark In and Out points on the timeline to remove unwanted segments from the video itself, not just the subtitles. You can now edit the video's duration directly.
  • Undo with scissor markers — Each trim leaves a scissor marker you can click to undo. When trims are nested, you can undo them from the outermost one inward.
  • Timeline help guide — A "How to use" button on the timeline explains trimming, scissor markers, zoom, and subtitle placement tips.

Improvements

  • Unified time display — Time values after trimming are now shown on the edited video's timeline. The inspector, list, preview, and timeline all show consistent times.
  • Errors vs. warnings — Subtitle issues are now split into "errors" (block export) and "warnings" (allow export). When an error is present, you are prompted to fix it before continuing to export.
  • Clearer handling of removed subtitles — Subtitles removed by trimming and those deleted manually are now handled distinctly.

Bug Fixes

  • Fixed several issues related to trimming (including subtitles being removed unintentionally).

All processing runs locally on your PC—no data leaves your device.

Found a bug or have a feature request? Please open an issue on GitHub Issues.

MOJIOKO v1.1.1

Choose a tag to compare

@brightryo brightryo released this 02 Jun 08:49

[1.1.1] - 2026-06-02

Second minor-line release: per-row font selection, audio file input, expanded
colour palette, and settings dialog organisation.

Added

Font customization

  • 9-font registry: Noto Sans JP SemiBold (bundled) plus 8 downloadable
    Google Fonts (Dela Gothic One, Reggae One, Yusei Magic, Mochiy Pop One,
    Hachi Maru Pop, Potta One, DotGothic16, Rampart One)
  • Font picker with one-list "select + manage" UI shared between the
    Subtitle Style dialog and the Settings ▸ Fonts tab
    • Click a row to set the project default; download / uninstall icons
      on each row
    • License (SIL OFL v1.1) viewable per-font with the upstream-verbatim
      OFL.txt
  • Per-row font override in the STEP 2 subtitle table
    • Compact font selector above each row's text editor
    • Bulk-edit-bar gets a matching font picker for multi-row apply
    • Per-row font flows through to ASS \fn<family> and a staged fontsdir
      at burn-in time, so a single output video can mix multiple fonts
  • Rare-kanji-coverage warning on Hachi Maru Pop / Potta One (those two
    fonts omit a small set of post-jōyō kanji such as 塡 剝 頰)
  • Pre-burn-in font validation: missing fonts surface a toast before the
    save dialog opens instead of letting the back-end fail
  • Uninstalling a font that's referenced by any row triggers a
    confirmation dialog; on confirm, affected rows' fontId is auto-cleared
    and a notice toast surfaces the change

Audio file input

  • Six audio formats supported in addition to the existing video formats:
    MP3, WAV, M4A, AAC (raw ADTS), FLAC, OGG (Vorbis)
  • Content-based mode detection via ffprobe — extension spoofing
    (e.g. .mp4 rename of an audio file) is ignored; the actual stream
    layout decides
  • Audio mode UI in STEP 1: audio-wave icon in place of the video
    thumbnail, resolution row hidden, format row collapsed
  • Audio mode UI in STEP 2: AudioPreviewPanel (centred play/pause + seek
    bar + time readout) replaces VideoPreviewPanel; size / style / font
    cells in each row are hidden; bulk-edit-bar hidden; "Continue to render"
    hidden; text/SRT export becomes the single output path
  • Audio playback drives row focus the same way video does (the table
    highlight follows the playhead)

Colour palette

  • 30 colours unified across every picker (per-row, bulk-edit, settings,
    subtitle style dialog) in three labelled groups:
    • Basic (10 singles)
    • Suggested pairs (5 text × outline combinations — single click sets
      both halves; rendered as a subtitle-style "Aa" preview tile)
    • Colour-blind friendly (10 CUD-recommended singles)
  • Close (×) button on the popover; popover height adapts to the host
    dialog (uses Radix's --radix-popover-content-available-height) so
    it never clips when opened inside the Settings dialog

Settings dialog organisation

  • Re-tabbed into 4 panes: General / Fonts / Default style / Whisper
  • Underline-style tab strip (the previous chip-style ran on the same
    background colour as the dialog, making non-selected tabs read as
    plain text)
  • Font management lives in the Fonts tab; default seed-style and Whisper
    engine params each get their own tab and share a single store slice
    with the STEP 1 surfaces

Fixed

  • Whisper model download integrity check (C-3) — downloaded model
    files are now SHA-verified before being marked installed
  • APP_VERSION dynamic — window title, About dialog, and startup log
    now read the version from package.json at build time (no parallel
    edit needed when bumping)
  • OFL compliance — every font (including the bundled Noto) ships its
    own per-font OFL.txt taken verbatim from google/fonts/ofl/<name>/ OFL.txt. Earlier per-font OFL editing / synthesis paths were
    removed in favour of upstream-verbatim distribution
  • Settings dialog — opening the dialog no longer surfaces a green
    focus ring on the active tabpanel (only keyboard-navigation focus
    shows it now); tab height stable across all four tabs so switching
    doesn't jitter
  • Wording neutralised across audio-aware paths (audio inputs no longer
    see "Video loaded" / "Failed to load video" / similar — replaced with
    "File loaded" / "Failed to load file" etc.)
  • Numerous smaller UI polish: per-row font selector width matches the
    text editor below, font picker rows simplified to a single indicator
    dot, "Download" auto-select removed (download no longer changes the
    active selection), font size limits surfaced via tooltip + inline
    hint (the previous silent 200-px clamp is now visible)

[1.1.1] - 2026-06-02

第 2 マイナーラインのリリース。行ごとフォント指定、音声ファイル入力対応、
カラーパレット拡張、設定ダイアログの再構成。

新機能

フォントカスタマイズ

  • 9 フォントのレジストリ: Noto Sans JP SemiBold (同梱) + 8 種の
    Google Fonts (Dela Gothic One / Reggae One / Yusei Magic / Mochiy Pop One /
    Hachi Maru Pop / Potta One / DotGothic16 / Rampart One)
  • 「選択 + 管理」を 1 リストに統合したフォントピッカーを字幕スタイル
    ダイアログと設定 ▸ フォントタブで共有
    • 行クリックでプロジェクト既定フォントを設定、各行にダウンロード /
      削除アイコン
    • 各フォントのライセンス (SIL OFL v1.1) を upstream verbatim の OFL.txt で表示
  • STEP 2 字幕テーブルで行ごとにフォントを上書き可能
    • 各行のテキスト編集欄の上にコンパクトなフォントセレクタ
    • 一括編集バーにも同等のフォントピッカーを追加し、複数行に一括適用
    • 行ごとのフォントは ASS \fn<family> と staged fontsdir 経由で焼き込みに
      流れるので、1 本の出力動画に複数フォントが混在可能
  • Hachi Maru Pop / Potta One に「稀な漢字非対応」警告 (塡 / 剝 / 頰 等
    常用漢字の一部を欠くため)
  • 焼き込み前のフォント検証: 未ダウンロードのフォントを参照する行があれば
    保存ダイアログを開く前にトーストで通知 (バックエンドの失敗より前で弾く)
  • 行で使用中のフォントを削除する際は確認ダイアログ表示。削除確定時には
    対象行の fontId を自動クリアして通知トースト

音声ファイル入力

  • 動画形式に加えて、6 種類の音声形式に対応: MP3 / WAV / M4A / AAC (raw ADTS)
    / FLAC / OGG (Vorbis)
  • ffprobe による中身ベースのモード判定 — 拡張子偽装 (例: 動画を .mp4
    に維持したまま .mp3 にリネーム) は無視され、実ストリーム構成で判定
  • STEP 1 の音声モード UI: サムネイル枠の代わりに音声波形アイコン、
    解像度行非表示、フォーマット行はコンテナ + 音声コーデックの簡潔表示
  • STEP 2 の音声モード UI: AudioPreviewPanel (再生 / 一時停止 + シークバー
    • 時刻表示) が VideoPreviewPanel と差替、各行の サイズ / スタイル /
      フォント セル非表示、一括編集バー非表示、「書き出しへ」非表示、
      テキスト / SRT 出力が唯一の出力経路に
  • 音声再生中、再生位置に応じて字幕テーブルの行フォーカスが追従
    (動画モードと同じ挙動)

カラーパレット

  • 30 色を 3 グループに分けて全ピッカー (行ごと / 一括 / 設定 /
    字幕スタイル) で統一表示:
    • 基本色 10 色
    • おすすめの組み合わせ 5 ペア (文字色 × アウトライン色を 1 クリックで同時セット。
      タイル上には字幕風の「Aa」プレビューを描画)
    • 色弱向け 10 色 (Color Universal Design 推奨配色)
  • popover の右上に × 閉じるボタン、Radix の --radix-popover-content- available-height に追従するため設定ダイアログ内で開いても見切れない

設定ダイアログの再構成

  • 4 タブ構成に再構成: 一般 / フォント / 既定スタイル / Whisper設定
  • アンダーライン式のタブ表示 (旧チップ式はダイアログと同色のため
    非選択タブが平文に見えていた)
  • フォント管理はフォントタブ、既定スタイルと Whisper エンジン設定は
    それぞれ専用タブを持ち、STEP 1 の対応サーフェスと同じ store スライスを共有

修正

  • Whisper モデル DL 整合性チェック (C-3) — ダウンロード完了後にハッシュ
    検証を行ってからインストール済みとマーク
  • APP_VERSION の動的化 — ウィンドウタイトル / About ダイアログ / 起動
    ログが package.json の version をビルド時に取得 (バージョン bump 時の
    並行編集が不要に)
  • OFL 順守 — 全フォント (同梱の Noto を含む) が google/fonts/ofl/ <name>/OFL.txt から verbatim で取得した個別 OFL.txt を同梱。以前の
    per-font OFL の編集 / 合成パスは撤去し、upstream の原本のまま配布する
    方針に統一
  • 設定ダイアログ — 開いた瞬間に active な tabpanel に緑のフォーカス
    リングが出ていた問題を解消 (キーボード操作時のみリング表示)。4 タブ
    すべて同じ高さで安定するので切り替え時にジッタが出ない
  • 音声入力時の言い回しを中立化 (「動画を読み込みました」「動画の読み込みに
    失敗しました」等 → 「ファイルを読み込みました」「ファイルの読み込みに
    失敗しました」)
  • その他多数の UI 微調整: 行ごとフォントセレクタとテキスト欄の幅揃え、
    フォント行を単一インジケータドットに簡素化、「ダウンロード」完了時の
    自動選択を撤去 (DL とアクティブフォント変更を分離)、フォントサイズの
    上限を tooltip + インライン補足で可視化 (旧来の silent 200px clamp が
    ユーザに見える形に)