Local Audio Clip Override (TamperMonkey)

I enjoy doing Bunpro reviews with shadowing. While Bunpro already provides a lot of high-quality audio, there are still review items without audio (especially A-category vocabulary entries, which currently have no associated audio), and there is currently no way to attach audio to Self-Study Sentences.

Because of that, I built a tool that allows you to use your own audio files during Bunpro reviews.

I built this project with extensive help from ChatGPT.

I am not a professional software developer, but I was able to design, test, and iterate on this tool with AI assistance to support my own Bunpro workflow.

As with any community project, please use it at your own discretion.

This is an unofficial community project and is not affiliated with Bunpro.


What Does It Do?

After answering a review correctly, a Local Audio Override panel will appear.

You can attach your own audio file to that sentence and use it instead of the default Bunpro audio.

Once configured:

  • Press P to play your custom audio.
  • Click the Bunpro audio button to play your custom audio.
  • The built-in Bunpro audio player (play/pause, progress bar, seeking, speed controls, etc.) continues to work normally.
  • Works with Reviews, Cram Sessions, and Self-Study Sentences.

Example Use Cases

  • VoiceVox generated audio
  • Personal shadowing recordings
  • Audio clips from anime, dramas, games, and other media
  • Adding audio to Self-Study Sentences

New Features (v0.5.0)

Version 0.5.0 introduces a built-in administration mode.

Admin Mode

The Admin button opens a management interface that allows you to:

  • Export your entire audio library to a backup file
  • Import an audio library from another browser or computer
  • Import and replace existing entries
  • View database statistics
  • Clean the entire database (with confirmation protection)

This makes it much easier to back up your audio collection and migrate it between devices.


Installation

  1. Install Tampermonkey.
  2. Install BunPro Local Audio Override from GreasyFork: BunPro Local Audio Override
  3. Refresh Bunpro.

Usage

After answering a review correctly, the Local Audio Override panel will appear.

Select an audio file and save it.

The audio is stored locally in your browser and never leaves your computer.


Notes

  • Audio is stored per browser profile.
  • Clearing browser data may remove stored audio if you do not create a backup.
  • The Admin Mode Export feature can be used to back up your audio library before migrating to another browser or computer.
  • Audio files must be selected manually.

Feedback

Bug reports, suggestions, and feature requests are always welcome.

The full source code is available through GreasyFork and can be inspected or modified freely.

2 Likes

Update: v0.6.0 — BunPro compatibility fixes and voice playback

I’ve released an large update to BunPro Local Audio Override .

The script has been updated for BunPro’s recent Review page changes, which had stopped some versions from detecting the current sentence and audio controls correctly.

New: record and review your pronunciation

The main new feature is a simple voice-practice workflow:

  • Press P to play the reference audio and start recording your pronunciation.
  • Press P again to stop the reference audio and finish the recording.
  • Press O to stop the current recording, if necessary, and immediately play back your latest take.
  • Press O again whenever you want to replay that take.

This works with both a locally overridden audio clip and BunPro’s original audio.

There is also a Rec on/off switch. If you do not want to use the microphone, set it to Rec off and the script will not request microphone access. The first time you use recording with Rec on , your browser will ask for permission.

Recordings are kept temporarily in the current tab only. They are not added to the saved-audio database, included in backups, or uploaded anywhere.

Other fixes and improvements

  • Fixed compatibility with BunPro’s updated Review page layout.
  • Fixed the control panel overlapping the Undo / Show Info / Alternatives row when no audio player is visible.
  • Kept the existing panel position when the audio player is open.
  • Improved the first playback/recording attempt in Firefox so microphone startup does not hold up the reference audio.
  • Added raw and processed/clean microphone modes.
  • Improved repeated P/O handling, audio cleanup, and behaviour during BunPro page rerenders.
  • Retained support for the older BunPro Review layout.
  • Existing audio mappings from the previous browser-storage versions remain compatible.

The public version is still fully browser-based: no Python process, localhost server, fixed audio directory, or upload is required. Saved override clips remain in the browser’s IndexedDB and can be backed up through the Admin panel.

The update has been tested primarily in Firefox, with additional Chromium testing.

Install or update here:

If you previously installed another version manually, please disable the older copy and fully refresh the BunPro tab after installing v0.6.0. Running two copies at once can cause duplicate playback or microphone handling.

As always, this is an unofficial community script, so please let me know if another BunPro layout change causes anything to stop working.

1 Like

Cool idea, thank you for sharing