VoiceCell 🎙
Voice notes for Jupyter notebooks — record audio comments linked to specific lines of code.
Author: Muhammad Yahya Kamran
License: MIT
What it does
VoiceCell adds a Voice Note button to your JupyterLab toolbar. Click on any line of code, press the button (or Alt+V), and record a voice note. The recording is saved next to your notebook and a clickable 🔊 marker is injected into that exact line.
Features
- 🎙 Record voice notes linked to specific cells and lines
- 🔊 Click the speaker icon to play back inline
- 🌊 Waveform visualization
- ⏩ Playback speed control (0.5x, 1x, 1.5x, 2x)
- 🗑 Delete voice notes from within the player
- 💾 Audio saved to
voicecells_of_(notebook)folder alongside your notebook - 📓 References stored in notebook metadata
Installation
pip install jupyter-voicecell
Requires JupyterLab 4 (tested on 4.0.x through the latest 4.x). After installing, restart JupyterLab.
Upgrading
pip install --upgrade jupyter-voicecell
Then fully restart the JupyterLab server (not just the browser tab) and hard-refresh the page (Ctrl+F5) so the updated frontend assets load.
Usage
- Open any notebook in JupyterLab
- Click inside a cell on the line you want to annotate
- Click Voice Note in the toolbar or press
Alt+V - Record your message and click Stop & Save
- A
# 🔊 vm_1 [timestamp]comment appears on that line - Click the 🔊 to play it back anytime
Sharing notebooks
Share the .ipynb file together with the voicecells_of_<notebookname> folder. Anyone with VoiceCell installed can play back all voice notes.
Privacy & Safety
- 🔒 Microphone access is local only — browser permission required
- 💾 Audio saved locally as
.webmfiles — never uploaded anywhere - 🚫 No telemetry, no tracking, no external connections
- 📓 Metadata stored inside the notebook file itself
Compatibility
- JupyterLab 4.x ✅
- Jupyter Notebook 7.x ✅
- PyCharm Jupyter notebooks — planned
- VS Code Jupyter notebooks — planned (requires separate VS Code extension)
License
MIT © 2026 Muhammad Yahya Kamran
Metadata
Release files for jupyter-voicecell 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jupyter_voicecell-0.1.3.tar.gz | 140.4 kB | Without provenance | Details for jupyter_voicecell-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jupyter_voicecell-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for jupyter_voicecell-0.1.3-py3-none-any.whl |
Total release size: 192.4 kB
Release files / jupyter_voicecell-0.1.3.tar.gz
| Download URL | jupyter_voicecell-0.1.3.tar.gz |
|---|---|
| Size | 140.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6c1b5ec3e7f56e295bab4e5677524b544ba33f2877c888e40b05f1a9167fe73a
|
|
BLAKE2b-256 checksum How to use checksums |
ddc572bb15b4cea331d57270236c818a7e2994289529ea9a5584877f137b5617
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / jupyter_voicecell-0.1.3-py3-none-any.whl
| Download URL | jupyter_voicecell-0.1.3-py3-none-any.whl |
|---|---|
| Size | 52.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
06d19be11f11deb9fff5a6fd0f62ac9420695a489c23afcf56af5f50926ff680
|
|
BLAKE2b-256 checksum How to use checksums |
390eb298dc43b48dd39f574df0dc9cda1e91d1117123f3a8fe21b827176ca89b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for jupyter-voicecell 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.