Skip to main content

nbplay

let's play!

Build Status codecov License PyPI Binder

Overview

[!WARNING] This library is in early development and the API is subject to change without deprecation. Feedback and contributions are very welcome!

Music composition widgets in a jupyter notebook

nbplay provides composable Jupyter widgets for a browser-backed DAW: synths, samplers, sequencers, keyboards, pads, transport, timeline recording, and mixer/session routing. Mixer channels and the master bus support Web Audio insert chains with built-in gain, filter, compressor, limiter, delay, and reverb effects, plus custom browser plugin factories. Custom effect descriptors must be JSON-safe; built-in effect names are reserved. Widgets render non-crashing fallback states when Web Audio or Web MIDI is unavailable.

import nbplay as nb

session = nb.Session()
seq = nb.SequencerWidget(num_voices=2)
sampler = nb.SamplerWidget()
track = session.add_track("Drums", seq, sampler)

session.mixer.add_channel_effect(
    track.mixer_channel,
    nb.EffectPlugin("compressor", threshold=-18, ratio=4),
)
session.mixer.add_master_effect(nb.EffectPlugin("limiter", threshold=-1))

session.timeline.length = 64
session.timeline.count_in_bars = 1
session.timeline.auto_extend_recording = True
session.timeline.recording_extend_bars = 16
session.timeline.arm_track(track.mixer_channel, True, exclusive=True)
timeline_tracks = [dict(track) for track in session.timeline.tracks]
timeline_tracks[track.mixer_channel]["monitor"] = True
session.timeline.tracks = timeline_tracks
session.timeline.add_clip("Kick loop", track_index=track.mixer_channel, start=0, duration=4)

[!NOTE] This library was generated using copier from the Base Python Project Template repository.

Metadata

Release files for nbplay 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nbplay 0.1.1
File Size Uploaded
nbplay-0.1.1.tar.gz 498.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for nbplay 0.1.1
File Interpreter ABI Platform
nbplay-0.1.1-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details
nbplay-0.1.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
nbplay-0.1.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 2.9 MB

Release files / nbplay-0.1.1.tar.gz

Download URL nbplay-0.1.1.tar.gz
Size 498.8 kB
Tags Source
SHA-256 checksum
How to use checksums
455956bacf2d48d7bcb457e3f1ae8a9e1b1634feebc3328254ed1950a891e450
BLAKE2b-256 checksum
How to use checksums
c9071343437353a725bb4563ce46086553d9e217a5da29504c07c63d793a1310
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / nbplay-0.1.1-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL nbplay-0.1.1-cp311-abi3-manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
b0384131928570e290c514a2963fc998d4c3d2ca50ead83111c66a323133247f
BLAKE2b-256 checksum
How to use checksums
3a53fb68a55a49696133533f25db95229da099b7cef0f551b10731ce964b9ffb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / nbplay-0.1.1-cp310-abi3-win_amd64.whl

Download URL nbplay-0.1.1-cp310-abi3-win_amd64.whl
Size 589.2 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
bc29a45af2dd1a752331ccb19b7e2ab13ef34f2c0ec6b911351405d247294059
BLAKE2b-256 checksum
How to use checksums
f3999b3f4e521bc0ebacdda62dfd40b4830a95ed3d221344a1141d3eedab2bb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / nbplay-0.1.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL nbplay-0.1.1-cp310-abi3-macosx_11_0_arm64.whl
Size 669.9 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
926f9e97d227268099d267eaa2c7d5e7e0e365413b50cb1828b07e774ce5f3b6
BLAKE2b-256 checksum
How to use checksums
7f24efd3f97009c523ea989894ab51831cf7b640cf8e578d29c04f4f00ed6b62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

4 release files

0.1.0

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page