個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Automatic multicam podcast editing for Adobe Premiere Pro
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Automatic multicam podcast editing for Adobe Premiere Pro (2022 and newer).
Website and download: https://erinuckuzular-ai.github.io/arrow-switch/
Arrow Switch syncs everyone's mic to the cameras, listens to who is talking, and cuts
between their cameras — with wide shots for cross-talk and long monologues. It is run by a
talking microphone, and it will be rude to you (there's a nice mode).
Install (Mac, recommended): paste this into Terminal. It installs the latest release for
your user and needs no admin password:檢視完整 README ↗Automatic multicam podcast editing for Adobe Premiere Pro (2022 and newer). Website and download: https://erinuckuzular-ai.github.io/arrow-switch/ Arrow Switch syncs everyone's mic to the cameras, listens to who is talking, and cuts between their cameras — with wide shots for cross-talk and long monologues. It is run by a talking microphone, and it will be rude to you (there's a nice mode).
| Set up + sync | Cut | Dark mode | Multicam |
|---|---|---|---|
Install (Mac, recommended): paste this into Terminal. It installs the latest release for your user and needs no admin password:
curl -fsSL https://raw.githubusercontent.com/erinuckuzular-ai/arrow-switch/main/install.sh | bash
Or download Arrow-Switch-<version>.dmg from the latest release
and run Install Arrow Switch, the app in the disk image: one button, no admin password, and it
quits Premiere for you. Install Arrow Switch.pkg is still there for a system-wide install (it does
ask for a password). Everything is signed with a Developer ID and notarized, so nothing is blocked
by Gatekeeper.
Restart Premiere Pro, then open Window → Extensions → Arrow Switch.
Updates arrive in the panel: when a new version is out, a bar at the top offers Update. It downloads and installs the new panel; restart Premiere to use it.
Set up a new episode (Set up tab)
Drop in the camera files (with their master audio) and each person's mic file. Arrow Switch works out which is which; set the wide shot and who each camera shows.
SYNC & BUILD: it syncs every file by audio, imports them into a bin, colour-labels each person's clips, mutes the extra camera audio and builds the sequence ready to cut. With Also make a multicam edit on, it also nests that sequence with Multi-Camera switched on, ready for 🎛 Multicam.
Cameras and mics are matched by name, not the order you add them: a file called
wide/WS/master is the wide, and Susie.wav goes with CamSusie.mp4. Check the guesses in the list.
Cut it (Cut tab)
Check who's who (it guesses from the tracks).
Pick a preset (Sleepy / Chatty / Chaotic) or tweak the knobs and save your own.
Pick how you want it:
~/Library/Caches/Arrow Switch/project-backups)
and reopens it — you'll see the project close and reopen for a second.Arrow Switch never cuts to a camera that has no footage at that moment (late-starting or early-stopping cameras): those shots use the wide, or whichever camera is rolling.
Extras (all optional):
LISTEN!, check the preview (gold = best clips, dark = dead air, notches = reactions; click it to jump there in Premiere), then CUT IT!
Arrow Switch always saves your project first and works on a new sequence
(<name> – Arrow Switch); your original is never changed. ⌘/Ctrl+Enter does the next step.
Theme (auto/light/dark) and tone (mean/nice) are the two buttons top right.
Windows: download Arrow-Switch-<version>.zxp from the latest release
(it's also in the disk image's Everything else folder), install it with a ZXP installer and put
ffmpeg.exe in the extension's bin folder.
extension/ the CEP panel that ships to users
CSXS/manifest.xml extension manifest (bump ExtensionBundleVersion to release)
index.html, css/ panel UI
js/engine.js speaker detection + edit decisions (pure JS, unit tested)
js/audio.js ffmpeg decoding -> loudness per window, caching, media probing
js/sync.js audio sync: finds each file's offset against a reference camera
js/xmlcut.js Fast cuts: rewrites an exported FCP XML sequence into real cuts
js/prproj.js real multicam angles: sets SelectedTrackIndex in the project file
js/presets.js built-in + saved presets
js/copy.js everything the mascot says, mean and nice
js/update.js in-panel updates: checks the latest GitHub release, swaps in its .zxp
js/main.js UI logic; runs in demo mode when opened in a normal browser
(?state=empty|analyzing|result|done|setup|syncing|synced, &theme=dark, &mc=1, &tone=nice)
fonts/ Lilita One + Nunito (SIL OFL), bundled so it works offline
jsx/host.jsx ExtendScript: reads the sequence, clones it, razors, disables clips
installer/app/ the installer app (SwiftUI, built by scripts/build-installer-app.sh)
installer/art/ background and icon artwork, rendered by scripts/make-installer-art.sh
installer/ pkg scripts, installer pages, uninstaller, read me
docs/ the website (GitHub Pages, served from main /docs) + README screenshots
test/ node --test suites
build.sh tests -> universal ffmpeg -> signed ZXP -> .pkg -> .dmg
node test/bench/accuracy.js
Generates synthetic podcasts with known answers (mic bleed, a quiet guest, rumble,
backchannels, cross-talk, a two-channel recorder) and scores the engine: time on the
right camera, wrong shots, missed turns, cut timing and listen speed. Pass a folder
holding another engine.js + audio.js to compare versions.
./build.sh
Output: dist/Arrow-Switch-<version>.dmg. The first run downloads a static
universal ffmpeg and Adobe's ZXPSignCmd into .cache/, and creates a
self-signed ZXP certificate in certs/ (keep it; reuse it for updates).
Releases are signed with a Developer ID and notarized, so macOS opens them without a
warning. Without these variables build.sh still produces a working but unsigned build
that users must right-click → Open. Store the notary credentials once (an App Store
Connect API key avoids app-specific passwords):
xcrun notarytool store-credentials arrow-switch-notary \
--key ~/Downloads/AuthKey_KEYID.p8 --key-id KEYID --issuer ISSUER-UUID
Then build:
INSTALLER_SIGN_ID="Developer ID Installer: Your Name (TEAMID)" \
APP_SIGN_ID="Developer ID Application: Your Name (TEAMID)" \
NOTARY_PROFILE=arrow-switch-notary \
./build.sh
Apple's notary service takes a few minutes per file; build.sh waits and staples the
tickets, so the DMG and .pkg validate offline. Check a build with
spctl -a -vvv -t install dist/Arrow-Switch-<version>.dmg (expect source=Notarized Developer ID).
scripts/harness/install.sh installs the real panel as a hidden extension that starts with
Premiere (bring Premiere to the front once) and exposes it on the CEP debug port 8089.
node scripts/harness/es.js '<ExtendScript>' runs ExtendScript in Premiere and
node scripts/harness/es.js --js '<panel JS>' runs code in the panel, e.g. clicking its buttons.
Remove it with rm -rf ~/Library/Application\ Support/Adobe/CEP/extensions/com.arrow.switch.harness.
scripts/dev-install.sh installs the working copy as the normal visible panel (signed, with
remote debugging on port 8088).
Enable unsigned extensions once, then symlink the source folder:
defaults write com.adobe.CSXS.12 PlayerDebugMode 1
ln -s "$PWD/extension" ~/Library/Application\ Support/Adobe/CEP/extensions/com.arrow.switch
Restart Premiere. Debug with Chrome at http://localhost:8088 (see extension/.debug).
Preview just the UI in a browser: python3 -m http.server -d extension (demo mode).
Arrow Switch's own code is MIT licensed (see LICENSE). Bundled third-party parts keep their own licenses:
The bundled ffmpeg is a GPLv3 build. Arrow Switch runs it as a separate program, and every
release ships licenses/ (GPL text + FFMPEG-NOTICE.txt) in the extension and the DMG.
build.sh also drops the ffmpeg source and its build scripts into dist/: attach
ffmpeg-9.0.1.tar.xz and ffmpeg-build-script.tar.gz to every GitHub release next to the DMG.
Also attach Arrow-Switch-<version>.zxp from dist/: the panel's updater installs that file,
and Windows users download it. Tag releases v<version> (the updater compares that tag with
ExtensionBundleVersion).
If you swap in a different ffmpeg build, update FFMPEG_VERSION in build.sh and the notice.
Fonts: Lilita One and Nunito, SIL Open Font License 1.1 (extension/fonts/FONTS-LICENSE.txt).