{"id":38195438,"url":"https://github.com/otomad/om_midi","last_synced_at":"2026-01-17T00:22:25.089Z","repository":{"id":54925505,"uuid":"522374886","full_name":"otomad/om_midi","owner":"otomad","description":"Otomad/YTPMV assistant scripts for After Effects.","archived":false,"fork":false,"pushed_at":"2025-07-15T09:53:13.000Z","size":37575,"stargazers_count":65,"open_issues_count":5,"forks_count":2,"subscribers_count":5,"default_branch":"extendscript","last_synced_at":"2025-07-15T21:52:51.640Z","etag":null,"topics":["adobe","after-effects","javascript","midi","rollup","scriptui","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/otomad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-08T02:03:49.000Z","updated_at":"2025-07-15T09:51:04.000Z","dependencies_parsed_at":"2023-02-03T10:15:54.688Z","dependency_job_id":"3b72cb1b-de99-4f32-8bd3-8f53931846a2","html_url":"https://github.com/otomad/om_midi","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/otomad/om_midi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otomad%2Fom_midi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otomad%2Fom_midi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otomad%2Fom_midi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otomad%2Fom_midi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/otomad","download_url":"https://codeload.github.com/otomad/om_midi/tar.gz/refs/heads/extendscript","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/otomad%2Fom_midi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28490050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T23:55:29.509Z","status":"ssl_error","status_checked_at":"2026-01-16T23:55:29.108Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adobe","after-effects","javascript","midi","rollup","scriptui","typescript"],"created_at":"2026-01-17T00:22:24.985Z","updated_at":"2026-01-17T00:22:25.052Z","avatar_url":"https://github.com/otomad.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv lang=\"en\"\u003e\r\n\r\n[![Cover](cover.png)](#om_midi)\r\n\u003cdiv align=\"center\"\u003e\r\n\t\u003ch2 id=\"om_midi\"\u003eom midi\u003c/h2\u003e\r\n\t\u003cp\u003e\u003cb\u003e\u003ci\u003eRanne\u003c/i\u003e\u003c/b\u003e\u003c/p\u003e\r\n\t\u003cp\u003e\r\n\t\t\u003cimg src=\"https://img.shields.io/badge/STATE-STABLE-green?style=flat-square\" alt=\"Badge\" /\u003e\r\n\t\t\u003cimg src=\"https://img.shields.io/badge/VERSION-3.43.15.0-orange?style=flat-square\" alt=\"Badge\" /\u003e\r\n\t\t\u003cimg src=\"https://img.shields.io/github/downloads/otomad/om_midi/total.svg?style=flat-square\u0026label=DOWNLOADS\" alt=\"Downloads\" /\u003e\r\n\t\u003c/p\u003e\r\n\t\u003cp\u003e\u003ca href=\"https://github.com/otomad/om_midi/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/badge/-Get%20the%20download%20link%20now!-brightgreen?style=for-the-badge\u0026logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTEuMiAwYS44LjggMCAwIDAtLjguOHYxMS40TDcuMjYgOS40NGEuODAzLjgwMyAwIDAgMC0xLjEzLjA3NGwtMS4wNSAxLjJhLjguOCAwIDAgMCAuMDczIDEuMTNsNi4zMyA1LjU0YS43OTUuNzk1IDAgMCAwIDEuMDUgMGw2LjMyLTUuNTRhLjguOCAwIDAgMCAuMDc0LTEuMTNsLTEuMDUtMS4yYS44MDQuODA0IDAgMCAwLTEuMTMtLjA3NGwtMy4xNCAyLjc2Vi44YS44LjggMCAwIDAtLjgtLjh6bS04IDIwLjhhLjguOCAwIDAgMC0uOC44djEuNmEuOC44IDAgMCAwIC44LjhoMTcuNmEuOC44IDAgMCAwIC44LS44di0xLjZhLjguOCAwIDAgMC0uOC0uOHoiIGZpbGw9IndoaXRlIi8+PC9zdmc+\" alt=\"Download\" /\u003e\u003c/a\u003e\u003c/p\u003e\r\n\r\n**English** | [简体中文](README_zh-CN.md) | [日本語](README_ja-JP.md) | [Tiếng Việt](README_vi-VN.md) | [한국어](README_ko-KR.md)\r\n\u003c/div\u003e\r\n\r\n**om midi**, an Otomad/YTPMV assistant script for **After Effects**. It is a script that automatically converts MIDI files to keyframes in After Effects. Hope that with the help of om midi, people can be rescued from tedious aligning video and audio, and put more energy into more creative works.\r\n\r\nThanks to original script creators [@David Van Brink (omino)](https://omino.com/), [@Dora (NGDXW)](https://space.bilibili.com/40208180), [@Z4HD](https://github.com/Z4HD) for their efforts. And this repository is modified based on Z4HD's repository [om_midi_NGDXW_zh](https://github.com/Z4HD/om_midi_NGDXW_zh).\r\n\r\nThe current project is rewritten using new technologies like TypeScript based on legacy scripts.\r\n\r\n**Spelling conventions for \"om midi\": All lowercase** letters, even at the beginning of a sentence, however can be ignored where the context is all uppercase; words are separated by **spaces** instead of underscores.\r\n\r\n**Sister Projects:** [Otomad Helper for Vegas](https://github.com/otomad/OtomadHelper).\r\n\r\n### Translators\r\n* Vietnamese translation provided by [@Cyahega](https://github.com/Cyahega).\r\n* Korean translation provided by @binmode.\r\n\r\n### Documentations\r\n* [Z4HD's Chinese Documentation](https://om.z4hd.cf/)\r\n* [My Chinese Release Notes](https://www.bilibili.com/read/cv18532219)\r\n\r\n### **Compatibility**\r\n`CS4` and later versions are theoretically supported. And both Windows and macOS are theoretically supported.\r\n\r\n### Install\r\nDownload the latest script files.\r\n\r\n#### `om midi`\r\nPlaced in the `Scripts\\ScriptUI Panels` folder located in the After Effects installation directory.\r\n\u003e (i.e. C:\\Program Files\\Adobe\\Adobe After Effects 2025\\Scripts\\ScriptUI Panels)\r\n\r\n#### `om utils`\r\nThere are two ways to import:\r\n1. Placed in the same directory as the aep project.\r\n\t* Prepend to expressions:\r\n```javascript\r\n$.evalFile(thisProject.fullPath.replace(/\\\\[^\\\\]*$/, \"\\\\om_utils.jsx\"));\r\n```\r\n2. Placed anywhere, and then add to AE project.\r\n\t* Prepend to expressions:\r\n```javascript\r\nfootage(\"om_utils.jsx\").sourceData;\r\n```\r\n\r\n### Tutorial\r\n[![Get started with om midi in 1.5 minutes](covers/youtube_cover.svg)](https://youtu.be/amDtqY_HsGM)\r\n\r\n#### Especially\r\nIf After Effects raises an error as shown when opening the script.\r\n![After Effects No Access Files](./covers/After_Effects_No_Access_Files.png)\r\nPlease enable *Edit \u003e Preferences \u003e Scripting \u0026 Expressions \u003e Allow Scripts to Write Files and Access Network*.\r\n\r\n### Roadmap\r\n[Go to GitHub Project **OTOMAD+** \u003e](https://github.com/users/otomad/projects/2)\r\n\r\n### Versions Comparison\r\n\u003e Except v1.2, no version tags are given for others. So those version tags are defined by myself.\r\n\r\n| Ver. | Common Name | Multitrack Support | Add Keyframes to Layers | English UI | Additional Useful Keyframes | Manually Select MIDI Tracks | Change BPM | Dynamic BPM |\r\n| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |\r\n| v0.1 | [David Van Brink (omino)'s Original Edition](https://omino.com/pixelblog/2011/12/26/ae-hello-again-midi/) | ✔️ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |\r\n| v1.0 | [Dora (NGDXW)'s Revision](https://www.bilibili.com/read/cv170398) | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ |\r\n| v1.0 Plus | [Expression Presets](https://www.bilibili.com/video/av29649969) | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |\r\n| v1.2 | [Z4HD's Chinese Edition](https://github.com/Z4HD/om_midi_NGDXW_zh) | ✔️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ |\r\n| v2.0 | [Dora (NGDXW)'s Second Revision](https://www.bilibili.com/read/cv1217487) | ❌ | ✔️ | ❌ | ✔️ | ❌ | ❌ | ❌ |\r\n| v3.x | **Current Version** | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |\r\n\r\n### References\r\n#### Previous Versions\r\n* [David Van Brink (omino)'s Original Edition](https://omino.com/pixelblog/2011/12/26/ae-hello-again-midi/)\r\n* [Dora (NGDXW)'s Revision](https://www.bilibili.com/read/cv170398)\r\n* [Expression Presets](https://www.bilibili.com/video/av29649969)\r\n* [Z4HD's Chinese Edition](https://github.com/Z4HD/om_midi_NGDXW_zh)\r\n* [Dora (NGDXW)'s Second Revision](https://www.bilibili.com/read/cv1217487)\r\n#### Introduction Videos\r\n* [Dragon Ancestor - Dans la rue.aep](https://www.bilibili.com/video/av9228581)\r\n* [Chen Shen Chen - melon style.aep](https://www.bilibili.com/video/av9778499)\r\n#### Dependencies\r\n* [Motion Developer's Rollup TypeScript Scaffolding](https://github.com/motiondeveloper/expression-globals-typescript)\r\n* [TypeScript types for Adobe Products](https://github.com/aenhancers/Types-for-Adobe)\r\n* [Sergi Guzman (colxi)'s midi-parser-js - MIDI File Format Specifications](https://github.com/colxi/midi-parser-js/wiki/MIDI-File-Format-Specifications)\r\n\r\n\u003c/div\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotomad%2Fom_midi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fotomad%2Fom_midi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotomad%2Fom_midi/lists"}