Minimal Python bindings for miniaudio
Project description
cyminiaudio
Minimal Python bindings for miniaudio (v0.11.24).
A Cython-based audio library providing high-level Python APIs for audio playback, recording, effects processing, and real-time audio applications.
Features
- Audio Playback - High-level engine for sound playback with volume, pan, pitch control
- 3D Spatial Audio - Position, direction, velocity, distance attenuation, Doppler effect
- Audio Decoding - Decode MP3, WAV, FLAC, and other formats to PCM
- Audio Encoding - Record and save audio to WAV files
- Waveform Generation - Sine, square, triangle, sawtooth waveforms
- Noise Generation - White, pink, and brownian noise
- Audio Filters - Low-pass, high-pass, band-pass, notch, peak, shelf filters
- Effects - Delay with wet/dry/decay control
- Data Conversion - Sample rate conversion, channel conversion, format conversion
- Volume Control - Panning, fading, gain with smoothing
- Node Graph - Build custom audio processing pipelines
- Resource Manager - Async audio loading and caching
- Ring Buffers - Lock-free buffers for real-time audio
- Audio Buffers - In-memory buffers for procedural audio
- Low-Level Device Access - Direct device control for advanced use cases
- Device Enumeration - List and select audio devices
Installation
pip install cyminiaudio
To build from source, requires Python 3.10+ and a C compiler.
# Clone the repository
git clone https://github.com/user/cyminiaudio.git
cd cyminiaudio
# Install with uv (recommended)
make build
# Or install with pip
pip install .
Quick Start
Simple Playback
import cyminiaudio as cma
import time
# Create an audio engine and play a sound
with cma.Engine() as engine:
sound = engine.play("music.mp3")
sound.volume = 0.5
time.sleep(5) # Play for 5 seconds
Sound Control
import cyminiaudio as cma
with cma.Engine() as engine:
with cma.Sound(engine, "music.mp3") as sound:
sound.volume = 0.8
sound.pan = -0.5 # Pan left
sound.pitch = 1.2 # Higher pitch
sound.looping = True
sound.start()
time.sleep(10)
Waveform Generation
import cyminiaudio as cma
# Generate a sine wave
waveform = cma.Waveform(
waveform_type=cma.WaveformType.SINE,
amplitude=0.5,
frequency=440.0
)
data = waveform.read(1024) # Read 1024 frames
Audio Filters
import cyminiaudio as cma
# Apply a low-pass filter
lpf = cma.LowPassFilter(cutoff=1000.0, order=2)
waveform = cma.Waveform(frequency=440.0)
data = waveform.read(1024)
filtered = lpf.process(data)
Node Graph Processing
import cyminiaudio as cma
# Create a processing graph with filters
with cma.NodeGraph(channels=2) as graph:
lpf = cma.LPFNode(graph, cutoff=1000.0)
delay = cma.DelayNode(graph, delay_ms=250.0, decay=0.5)
# Connect nodes and process audio...
Audio Recording
import cyminiaudio as cma
# Record audio to a WAV file
with cma.Encoder("output.wav", channels=2, sample_rate=48000) as encoder:
waveform = cma.Waveform(frequency=440.0)
for _ in range(100):
data = waveform.read(1024)
encoder.write(data)
Data Conversion
import cyminiaudio as cma
# Resample audio from 44100 to 48000 Hz
resampler = cma.LinearResampler(
sample_rate_in=44100,
sample_rate_out=48000
)
output = resampler.process(input_data)
# Convert mono to stereo
converter = cma.ChannelConverter(channels_in=1, channels_out=2)
stereo = converter.process(mono_data)
Volume and Panning
import cyminiaudio as cma
# Apply panning
panner = cma.Panner()
panner.pan = -0.5 # Pan left
output = panner.process(data)
# Apply volume with smoothing (avoids clicks)
gainer = cma.Gainer(channels=2)
gainer.set_gain(0.5)
output = gainer.process(data)
# Convert between linear and dB
db = cma.volume_linear_to_db(0.5) # -6.02 dB
linear = cma.volume_db_to_linear(-6.0) # ~0.5
3D Spatial Audio
import cyminiaudio as cma
# Create a spatializer for 3D audio
listener = cma.SpatializerListener(channels=2)
listener.position = (0.0, 0.0, 0.0)
listener.direction = (0.0, 0.0, -1.0)
spatializer = cma.Spatializer(channels=2, listener=listener)
spatializer.position = (5.0, 0.0, -3.0) # Sound position
output = spatializer.process(input_data)
Device Enumeration
# List available audio devices
devices = cyminiaudio.list_devices()
for dev in devices['playback']:
print(f"{dev.name} (default: {dev.is_default})")
Low-Level Device Access
# Direct device access for advanced use cases
with cyminiaudio.Device(
device_type=cyminiaudio.DeviceType.PLAYBACK,
sample_rate=48000,
period_size_ms=20
) as device:
device.start()
# ... handle audio callbacks ...
device.stop()
Architecture
+-------------------+
| Engine | High-level playback
| (owns Device) |
+--------+----------+
|
+--------v----------+
| Sound | Per-file playback control
| volume, pan, pitch| (holds ref to Engine)
+-------------------+
+------------+ +-------------------+ +-------------+
| Waveform | | NodeGraph | | Decoder |
| Noise +---->| DataSourceNode +---->| Encoder |
| AudioBuffer| | SplitterNode | +-------------+
+------------+ | LPFNode, HPFNode |
Data Sources | DelayNode, ... | +-------------+
+-------------------+ | Device |
Processing Pipeline | Context |
+-------------+
+------------+ +-------------------+ Low-level I/O
| LowPassF. | | Panner, Fader |
| HighPassF. | | Gainer | +-------------+
| BandPassF. | | Spatializer | | RingBuffer |
| NotchF. | | SpatializerList. | | PCMRingBuf |
+------------+ +-------------------+ +-------------+
Standalone Volume / Spatial Real-time Buffers
Filters
Layer overview:
- Engine / Sound: Highest-level API. Engine manages an audio device internally; Sound objects control individual file playback. Sounds hold a reference to their Engine, preventing premature garbage collection.
- Data Sources: Waveform, Noise, AudioBuffer, and Decoder all implement the miniaudio data source interface. They can be read directly or fed into a NodeGraph via DataSourceNode.
- NodeGraph: Build custom processing pipelines by connecting nodes (filters, splitters, delays) together. Audio flows from source nodes through processing nodes to the graph endpoint.
- Standalone Filters: Process PCM data in-place without a NodeGraph. Useful for one-shot batch processing.
- Device / Context: Low-level device access for advanced use cases (custom callbacks, device enumeration).
- GIL Release: All I/O and DSP methods (filter processing, decoding, encoding, device start/stop) release the GIL during C calls, enabling true multithreaded audio processing.
API Reference
Core Classes
| Class | Description |
|---|---|
Engine |
High-level audio engine for playback |
Sound |
Individual sound with full parameter control |
Decoder |
Decode audio files to PCM |
Encoder |
Encode PCM to audio files |
Waveform |
Procedural waveform generator |
Noise |
Procedural noise generator |
Filters
| Class | Description |
|---|---|
LowPassFilter |
Attenuates frequencies above cutoff |
HighPassFilter |
Attenuates frequencies below cutoff |
BandPassFilter |
Passes frequencies within a range |
NotchFilter |
Attenuates a specific frequency |
PeakFilter |
Peaking EQ for boost/cut |
LowShelfFilter |
Boosts/cuts below threshold |
HighShelfFilter |
Boosts/cuts above threshold |
Effects
| Class | Description |
|---|---|
Delay |
Audio delay with wet/dry/decay |
Data Conversion
| Class | Description |
|---|---|
LinearResampler |
Sample rate conversion |
ChannelConverter |
Channel count conversion (mono/stereo) |
DataConverter |
General format/rate/channel conversion |
Volume and Panning
| Class | Description |
|---|---|
Panner |
Stereo panning control |
Fader |
Volume fading over time |
Gainer |
Gain control with smoothing |
3D Audio / Spatialization
| Class | Description |
|---|---|
SpatializerListener |
Listener position/orientation |
Spatializer |
3D audio positioning and attenuation |
Audio Buffers
| Class | Description |
|---|---|
AudioBuffer |
In-memory audio buffer |
AudioBufferRef |
Non-owning reference to audio data |
PagedAudioBuffer |
Large audio buffer with paged memory |
Low-Level Device Access
| Class | Description |
|---|---|
Device |
Direct audio device access |
Context |
Device context for enumeration |
Node Graph
| Class | Description |
|---|---|
NodeGraph |
Audio processing graph container |
SplitterNode |
Splits audio to multiple outputs |
LPFNode |
Low-pass filter node |
HPFNode |
High-pass filter node |
BPFNode |
Band-pass filter node |
DelayNode |
Delay effect node |
NotchNode |
Notch filter node |
PeakNode |
Peak EQ node |
LoShelfNode |
Low shelf filter node |
HiShelfNode |
High shelf filter node |
BiquadNode |
Generic biquad filter node |
DataSourceNode |
Data source as graph node |
Resource Management
| Class | Description |
|---|---|
ResourceManager |
Async audio loading and caching |
ResourceDataSource |
Loaded audio data source |
RingBuffer |
Lock-free byte buffer |
PCMRingBuffer |
Lock-free PCM frame buffer |
Utility Functions
| Function | Description |
|---|---|
get_version() |
Get miniaudio version string |
list_devices() |
List available audio devices |
get_default_device() |
Get default playback/capture device |
volume_linear_to_db() |
Convert linear volume to decibels |
volume_db_to_linear() |
Convert decibels to linear volume |
copy_pcm_frames() |
Copy PCM frames between buffers |
mix_pcm_frames_f32() |
Mix PCM frames with volume |
apply_volume_factor_pcm_frames() |
Apply volume in-place |
copy_and_apply_volume_factor_pcm_frames() |
Copy and apply volume |
Enums
| Enum | Values |
|---|---|
Format |
U8, S16, S24, S32, F32 |
DeviceType |
PLAYBACK, CAPTURE, DUPLEX, LOOPBACK |
WaveformType |
SINE, SQUARE, TRIANGLE, SAWTOOTH |
NoiseType |
WHITE, PINK, BROWNIAN |
AttenuationModel |
NONE, INVERSE, LINEAR, EXPONENTIAL |
NodeState |
STARTED, STOPPED |
PanMode |
BALANCE, PAN |
Positioning |
ABSOLUTE, RELATIVE |
Development
# Install dependencies
make sync
# Build
make build
# Run tests
make test
# Run all QA checks (test, lint, typecheck, format)
make qa
# Build wheel
make wheel
# Clean build artifacts
make clean
Requirements
- Python 3.10+
- Cython 3.0+
- CMake 3.15+
- C compiler (gcc, clang, MSVC)
Platform-specific
- macOS: CoreAudio, AudioToolbox, CoreFoundation (included in system)
- Linux: ALSA development libraries (
libasound2-devon Debian/Ubuntu) - Windows: Windows SDK
Troubleshooting
Linux: "Failed to initialize device" or ALSA errors
Install the ALSA development headers:
# Debian/Ubuntu
sudo apt-get install libasound2-dev
# Fedora/RHEL
sudo dnf install alsa-lib-devel
# Arch
sudo pacman -S alsa-lib
macOS: Microphone permission denied
macOS requires explicit microphone permission for capture devices. When using DeviceType.CAPTURE or DeviceType.DUPLEX, grant microphone access to your terminal app in System Settings > Privacy & Security > Microphone.
Build from source fails: "CMake not found"
cyminiaudio requires CMake 3.15+ and Cython 3.0+ to build from source:
pip install cmake cython
# or
brew install cmake # macOS
sudo apt-get install cmake # Linux
No sound output / wrong device
List available devices and select a specific one:
import cyminiaudio as cma
devices = cma.list_devices()
for dev in devices['playback']:
print(f"{dev.name} (default: {dev.is_default})")
High latency or audio glitches
Reduce the period size for lower latency (at the cost of higher CPU usage):
device = cma.Device(
device_type=cma.DeviceType.PLAYBACK,
period_size_ms=10, # Lower = less latency
periods=2, # Double buffering
)
Import error: "undefined symbol" or ABI mismatch
This typically means the installed wheel was built for a different Python version. Reinstall:
pip install --force-reinstall cyminiaudio
Or build from source for your exact Python version:
pip install --no-binary cyminiaudio cyminiaudio
License
MIT
See LICENSE file.
See Also
- miniaudio - The underlying C audio library (v0.11.24)
- pyminiaudio - Alternative cffi-based Python bindings
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cyminiaudio-0.1.2.tar.gz.
File metadata
- Download URL: cyminiaudio-0.1.2.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
043d3199c9997f97cef29590efc8d25d944e90e54fb37bea056a5dcae0ffcb8b
|
|
| MD5 |
0fcb05cc151fe4f7610e8e2c4737c158
|
|
| BLAKE2b-256 |
a93cff5498a2e4e1972460e567a87a641d42552a19d1c97e8c811d58c730ad5d
|
File details
Details for the file cyminiaudio-0.1.2-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 497.6 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1acda4f621d71a7a7221b1d38ae03f5c3abfc96cc0adb16bf58f9d15d7f7e965
|
|
| MD5 |
1f7c728013577301f734a47239a7c532
|
|
| BLAKE2b-256 |
c9fc9213ae1aef066c31feeb41fcf2046ea0def35c2635f4a412ce6d6598f9f0
|
File details
Details for the file cyminiaudio-0.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 593.4 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4ea5a3b188515e54539b167d8e914e703485fdf1b2b3f56fac4ec4976f441e3
|
|
| MD5 |
5c393b9e57ff9706c46f3f517efc9f5c
|
|
| BLAKE2b-256 |
1bb92843fe726581eb4e1fecf3deb0568e0b040c18cfd2876ac5b88dea09c877
|
File details
Details for the file cyminiaudio-0.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 563.5 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c4d493434823ee436801b62aed54a6608037e333046dae08237b478f127e9b1
|
|
| MD5 |
b6de3fe0f46947316461a93f06516c4f
|
|
| BLAKE2b-256 |
0da260c69604986963994f5635ae0a36f85f1bd6ac75e5f43bc9b4852da79f0c
|
File details
Details for the file cyminiaudio-0.1.2-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 488.1 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cac7962376ad472b8c683f62256d93a4546ccb38f4cb9cb7d0c543019b3b8aed
|
|
| MD5 |
4e44f05013f3a7f9b19a2a3e07c74f35
|
|
| BLAKE2b-256 |
b5a56114410d78f90d3fa89487b3e74c7d48788a7013fe891846a31c85ce7f70
|
File details
Details for the file cyminiaudio-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp314-cp314-macosx_10_15_x86_64.whl
- Upload date:
- Size: 535.5 kB
- Tags: CPython 3.14, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eace0e9d61c843977e75760a5ab62e93c76d23223a7b7d421d2ebae619822330
|
|
| MD5 |
3ca40479c4a75797a5e2196e9826c88e
|
|
| BLAKE2b-256 |
d7eb5afb04249ac3c177d6d90ffb98ea207c7676d3c70605254f22cd6e149fb0
|
File details
Details for the file cyminiaudio-0.1.2-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 481.4 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81fa2dddd0dc052c589c3a3fca914dfb6ea3f1c40e1fa66839f45691c50eddc0
|
|
| MD5 |
94533c219e5664047aeb375a59ead709
|
|
| BLAKE2b-256 |
b5625845df7aaca80c7850773f384c4a0452d92517292be44240896bcff1e950
|
File details
Details for the file cyminiaudio-0.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 591.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e1576cf1e8f70bdc6abace09708c7bcbf6a4509421c7c56cee8c851f16e73d5
|
|
| MD5 |
085ec4a75a8fbd165f1021ce254105e1
|
|
| BLAKE2b-256 |
0cb360425f6a3473498feee58b720733eebcb94a5daabfb447cee9f8a2225b00
|
File details
Details for the file cyminiaudio-0.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 560.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
663e93929c31c765b7d593c535adfcc768b9983ce94834d3de2789dc32db3c19
|
|
| MD5 |
41503fbae1361cf1915eff3792cfd56b
|
|
| BLAKE2b-256 |
5548d430731176cb76e4c3cadf90354994aa10e7d87c9a6b9b89b1aba728ba6d
|
File details
Details for the file cyminiaudio-0.1.2-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 484.9 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e897aacdc3c1def932797fd3abfff36dd0e29a37e94706da1398df3c4f1b848b
|
|
| MD5 |
c7750a6c1711a8b84cc8e7727a7263af
|
|
| BLAKE2b-256 |
01e4bb5fa1f933f8cc5a07fce2387c898509934b6f07882d1206f5555f758fc2
|
File details
Details for the file cyminiaudio-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 534.4 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccf42422e0cb7959c4c4cd53a5519008c893f747bbb221a4cbf332787efe828f
|
|
| MD5 |
b44a846dc1a6dc7a89330c937a5c69be
|
|
| BLAKE2b-256 |
0d72bd212015efdc2ce7bcfe75be18621de9e028826f3aec86a182d7602c1685
|
File details
Details for the file cyminiaudio-0.1.2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 482.1 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cd69a85d4082c780320c44b233e82dd3a3e1fd4aac250426cead1c10085d408
|
|
| MD5 |
0726b39622d7099e0673b4b8e5a643a4
|
|
| BLAKE2b-256 |
afdf90f00bf680213bb42a9c634e621c429598978940940d59560d4e7e90aa62
|
File details
Details for the file cyminiaudio-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 590.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f04541323872fec7791bd24fb1c1ea49b853ee9eb9df74ba5d947efc60dc68af
|
|
| MD5 |
6057a95f7a05d1dd122e1305a4af8ce0
|
|
| BLAKE2b-256 |
e6729d5ceb9ec4d0bc61f54fbb81ebebcfa8d1ed3a1cc4125c397b1a13df6dbc
|
File details
Details for the file cyminiaudio-0.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 556.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd0fc5d205da1c3b6253d0d2f56cc9a5c0250491cf2971534fb5bb1937f692ce
|
|
| MD5 |
3cfb88fc7ff9c59cbf2fad846b7db49c
|
|
| BLAKE2b-256 |
1565e1c452e40287e951c50a491c7956956a9c58021601fd1d2c24092e629e15
|
File details
Details for the file cyminiaudio-0.1.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 486.0 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6d7be7fe91fa7ccdb5a0c9dcaa5f4668a2b2bdf47043028c75ff101f94ef3f0
|
|
| MD5 |
8599d1b8bcf1b17301e1de37867e70fa
|
|
| BLAKE2b-256 |
3e359c239b62510dce98a8f25a5ee630a20b76a74c18ac232860ae2e61519821
|
File details
Details for the file cyminiaudio-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 534.8 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af1b98d418d8a9ebca8ed55f6489022e7a3ef44f3ef8587b346af9d2b9a90df5
|
|
| MD5 |
50a5aa0866243763b9ee8349eb4cf23a
|
|
| BLAKE2b-256 |
9ce8767fdfe0fbda9cdedcbbaed7a64579b144490ecd66ba98d472cc3ed8ed85
|
File details
Details for the file cyminiaudio-0.1.2-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 520.5 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9dbe7b0908dc510c19609b70f84d63aa499dbb30a1b02a11917e7bf716db532
|
|
| MD5 |
718ccfc04b08f176b3e7b7559a846839
|
|
| BLAKE2b-256 |
b3386786d0241b8723a2a438f7bb82a0d9b4031d1f4fba0867a94062449acc8e
|
File details
Details for the file cyminiaudio-0.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 612.3 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39d645336d9a5c706a9a464f1d72f1d28c167d1e706ab0b93fa74257941988de
|
|
| MD5 |
6de94cad3f4cd0c408ef02ea650fe731
|
|
| BLAKE2b-256 |
5c71453cb4f9afb3ffa3d542ddc42b807a54414a169d2b6d33cc625c648ebfae
|
File details
Details for the file cyminiaudio-0.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 577.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b5a8b0b93fcfccfc1e491b1b74cd9478330c8b9b620e0982492ff2de894b508
|
|
| MD5 |
466178f62c653ece2fbb7369f20fe0a7
|
|
| BLAKE2b-256 |
bca258857e0af1743dfabb7fa57379a1f8d8d556b9927d01aeae3b16ff1c5ee7
|
File details
Details for the file cyminiaudio-0.1.2-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 492.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fffdef0c77fc5987bed83cfc985b20603ebdd4a1b755b684db974cfe107fe17
|
|
| MD5 |
9a79c8fc7e2226c34ccf1306f1beb608
|
|
| BLAKE2b-256 |
0b1d28cf7eb634c784d7f95bc1a613cec0a4f4eac34ae169aeadacdbd865e412
|
File details
Details for the file cyminiaudio-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 530.5 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3bce7f39073677d8dc40bf3ac70942114684aaabd6a9d7fcc9e0b53a93db74e
|
|
| MD5 |
826f87bfabb797d8eec8afac4263f9dd
|
|
| BLAKE2b-256 |
3f5a39aba2d946cc079903c5ed7bc86f3453cf51be0953b88c4343017dbfb837
|
File details
Details for the file cyminiaudio-0.1.2-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 519.7 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68ff3729fe5a2c068abe76bd7fa295f557d980ce52722a42b8c77a4a10597310
|
|
| MD5 |
3721000b2b3b3272db9cc2cf7a69b188
|
|
| BLAKE2b-256 |
ed6e61ce7434611c6d8502f249d505645af506dd0a1b68d0a573cf6a13dc7cf9
|
File details
Details for the file cyminiaudio-0.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 611.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7ac6e1b58628bf50f0b0ed3475b3799a633aee28e5fccf104222e5b81be7595
|
|
| MD5 |
b4b5ecf876878b69a45f2fe15f820502
|
|
| BLAKE2b-256 |
f2cf917090969d14bd2b9a64b9d2474150d082fa44d2e95852bf00f224ef30a6
|
File details
Details for the file cyminiaudio-0.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 577.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e579f409a1bb9658eccaa01153212e21f9f25a35790158c51e74d5897934e97c
|
|
| MD5 |
36f24cfdd1207bf6994cc5cbc284e282
|
|
| BLAKE2b-256 |
36f02af9f77f519e219c62b5594eb5a798506eadefdf299e24939e2afd7bf119
|
File details
Details for the file cyminiaudio-0.1.2-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 491.3 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
365809495b0f442b052f5b6fe209a662ad1d4b8eaf494e20b861983820d0a390
|
|
| MD5 |
6cbfadc7d67fbed356326aa8fa8fc866
|
|
| BLAKE2b-256 |
7bbcde8fc99401eba81c6efd9841249ad8014f0d1bfc3beb8fa58dffc47a1b89
|
File details
Details for the file cyminiaudio-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: cyminiaudio-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 528.3 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98af50f05b9a4f2ae3b2d71e0c7a1e1c4bacbe2517604ed77835f5a5ebe6e852
|
|
| MD5 |
c8cbfe420c23a300ec68b149c142cd0f
|
|
| BLAKE2b-256 |
f6308e25068166a6871060252ab995c3a4c371312ed02a121316852819e332ad
|