Skip to main content

Latest Version

Python miniaudio

Multiplatform audio playback, recording, decoding and sample format conversion for Linux (including Raspberri Pi), Windows, Mac and others.

Installation for most users: via Pypi, Raspberri Pi builds via PiWheels.

This is a Pythonic interface to the cross-platform miniaudio C library:

  • audio operations run in the background
  • python bindings for most of the functions offered in the miniaudio library:
    • reading and decoding audio files
    • getting audio file properties (such as duration, number of channels, sample rate)
    • converting sample formats and frequencies
    • streaming large audio files
    • audio playback
    • audio recording
  • decoders for wav, flac, vorbis and mp3
  • Audio file and Icecast internet radio streaming
  • Python enums instead of just some integers for special values
  • several classes to represent the main functions of the library
  • generators for the Audio playback and recording
  • sample data is usually in the form of a Python array with appropriately sized elements depending on the sample width (rather than a raw block of bytes)
  • TODO: filters, waveform generators?

Requires Python 3.10 or newer. Also works on pypy3 (because it uses cffi).

The miniaudio C library version is 0.11.25.

Software license for these Python bindings, miniaudio and the decoders: MIT

Synthesizer, modplayer?

If you like this library you may also be interested in my software FM synthesizer or my mod player which uses libxmp.

Examples

Basic audio file playback with info

import miniaudio

# Get file info
info = miniaudio.get_file_info("samples/music.mp3")
print(f"Playing: {info.nchannels} channels, {info.sample_rate} Hz, {info.duration:.1f}s")

# Stream and play
stream = miniaudio.stream_file("samples/music.mp3")
with miniaudio.PlaybackDevice() as device:
    device.start(stream)
    input("Playing... press Enter to stop")

Decode and convert audio file

import miniaudio

# Decode audio file to float32
sound = miniaudio.decode_file("music.mp3", miniaudio.SampleFormat.FLOAT32)
print(f"Decoded: {sound.nchannels} ch, {sound.sample_rate} Hz, {sound.num_frames} frames")

# Convert to different format and sample rate
converted = miniaudio.convert_frames(
    sound.sample_format, sound.nchannels, sound.sample_rate,
    sound.samples.tobytes(),
    miniaudio.SampleFormat.SIGNED16, sound.nchannels, 22050
)

# Write to WAV file
miniaudio.wav_write_file("output.wav", miniaudio.DecodedSoundFile(
    "output.wav", sound.nchannels, 22050, miniaudio.SampleFormat.SIGNED16,
    converted
))
print("Written to output.wav")

Playback of an unsupported file format

This example uses ffmpeg as an external tool to decode an audio file in a format that miniaudio itself can't decode (m4a/aac in this case):

import subprocess
import miniaudio

channels = 2
sample_rate = 44100
sample_width = 2  # 16 bit pcm
filename = "samples/music.m4a"  # AAC encoded audio file

def stream_pcm(source):
    required_frames = yield b""  # generator initialization
    while True:
        required_bytes = required_frames * channels * sample_width
        sample_data = source.read(required_bytes)
        if not sample_data:
            break
        print(".", end="", flush=True)
        required_frames = yield sample_data

with miniaudio.PlaybackDevice(output_format=miniaudio.SampleFormat.SIGNED16,
                              nchannels=channels, sample_rate=sample_rate) as device:
    ffmpeg = subprocess.Popen(["ffmpeg", "-v", "fatal", "-hide_banner", "-nostdin",
                               "-i", filename, "-f", "s16le", "-acodec", "pcm_s16le",
                               "-ac", str(channels), "-ar", str(sample_rate), "-"],
                              stdin=None, stdout=subprocess.PIPE)
    stream = stream_pcm(ffmpeg.stdout)
    next(stream)  # start the generator
    device.start(stream)
    input("Audio file playing in the background. Enter to stop playback: ")
    ffmpeg.terminate()

API

Note: everything below is automatically generated from comments in the source code files. Do not edit in this readme directly.

enum class Backend names: WASAPI DSOUND WINMM COREAUDIO SNDIO AUDIO4 OSS PULSEAUDIO ALSA JACK AAUDIO OPENSL WEBAUDIO CUSTOM NULL

Operating system audio backend to use (only a subset will be available)

enum class ChannelMixMode names: RECTANGULAR SIMPLE CUSTOMWEIGHTS

How to mix channels when converting

enum class DeviceType names: PLAYBACK CAPTURE DUPLEX

Type of audio device

enum class DitherMode names: NONE RECTANGLE TRIANGLE

How to dither when converting

enum class FileFormat names: UNKNOWN WAV FLAC MP3 VORBIS

Audio file format

enum class SampleFormat names: UNKNOWN UNSIGNED8 SIGNED16 SIGNED24 SIGNED32 FLOAT32

Sample format in memory

enum class SeekOrigin names: START CURRENT END

How to seek() in a source

enum class ThreadPriority names: IDLE LOWEST LOW NORMAL HIGH HIGHEST REALTIME

The priority of the worker thread (default=HIGHEST)

function convert_frames (from_fmt: miniaudio.SampleFormat, from_numchannels: int, from_samplerate: int, sourcedata: bytes, to_fmt: miniaudio.SampleFormat, to_numchannels: int, to_samplerate: int) -> bytearray

Convert audio frames in source sample format with a certain number of channels, to another sample format and possibly down/upmixing the number of channels as well.

function convert_sample_format (from_fmt: miniaudio.SampleFormat, sourcedata: bytes, to_fmt: miniaudio.SampleFormat, dither: miniaudio.DitherMode = <DitherMode.NONE: 0>) -> bytearray

Convert a raw buffer of pcm samples to another sample format. The result is returned as another raw pcm sample buffer

function decode (data: bytes, output_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, nchannels: int = 2, sample_rate: int = 44100, dither: miniaudio.DitherMode = <DitherMode.NONE: 0>) -> miniaudio.DecodedSoundFile

Convenience function to decode any supported audio file in memory to raw PCM samples in your chosen format.

function decode_file (filename: str, output_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, nchannels: int = 2, sample_rate: int = 44100, dither: miniaudio.DitherMode = <DitherMode.NONE: 0>) -> miniaudio.DecodedSoundFile

Convenience function to decode any supported audio file to raw PCM samples in your chosen format.

function flac_get_file_info (filename: str) -> miniaudio.SoundFileInfo

Fetch some information about the audio file (flac format).

function flac_get_info (data: bytes) -> miniaudio.SoundFileInfo

Fetch some information about the audio data (flac format).

function flac_read_f32 (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole flac audio file. Resulting sample format is 32 bits float.

function flac_read_file_f32 (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole flac audio file. Resulting sample format is 32 bits float.

function flac_read_file_s16 (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole flac audio file. Resulting sample format is 16 bits signed integer.

function flac_read_file_s32 (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole flac audio file. Resulting sample format is 32 bits signed integer.

function flac_read_s16 (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole flac audio data. Resulting sample format is 16 bits signed integer.

function flac_read_s32 (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole flac audio data. Resulting sample format is 32 bits signed integer.

function flac_stream_file (filename: str, frames_to_read: int = 1024, seek_frame: int = 0) -> Generator[array.array, NoneType, NoneType]

Streams the flac audio file as interleaved 16 bit signed integer sample arrays segments. This uses a fixed chunk size and cannot be used as a generic miniaudio decoder input stream. Consider using stream_file() instead.

function get_enabled_backends () -> Set[miniaudio.Backend]

Returns the set of available backends by the compilation environment for the underlying miniaudio C library

function get_file_info (filename: str) -> miniaudio.SoundFileInfo

Fetch some information about the audio file.

function is_backend_enabled (backend: miniaudio.Backend) -> bool

Determines whether or not the given backend is available by the compilation environment for the underlying miniaudio C library

function is_loopback_supported (backend: miniaudio.Backend) -> bool

Determines whether or not loopback mode is support by a backend.

function lib_version () -> str

Returns the version string of the underlying miniaudio C library

function mp3_get_file_info (filename: str) -> miniaudio.SoundFileInfo

Fetch some information about the audio file (mp3 format).

function mp3_get_info (data: bytes) -> miniaudio.SoundFileInfo

Fetch some information about the audio data (mp3 format).

function mp3_read_f32 (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole mp3 audio data. Resulting sample format is 32 bits float.

function mp3_read_file_f32 (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole mp3 audio file. Resulting sample format is 32 bits float.

function mp3_read_file_s16 (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole mp3 audio file. Resulting sample format is 16 bits signed integer.

function mp3_read_s16 (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole mp3 audio data. Resulting sample format is 16 bits signed integer.

function mp3_stream_file (filename: str, frames_to_read: int = 1024, seek_frame: int = 0) -> Generator[array.array, NoneType, NoneType]

Streams the mp3 audio file as interleaved 16 bit signed integer sample arrays segments. This uses a fixed chunk size and cannot be used as a generic miniaudio decoder input stream. Consider using stream_file() instead.

function read_file (filename: str, convert_to_16bit: bool = False) -> miniaudio.DecodedSoundFile

Reads and decodes the whole audio file. Miniaudio will attempt to return the sound data in exactly the same format as in the file. Unless you set convert_convert_to_16bit to True, then the result is always a 16 bit sample format.

function stream_any (source: miniaudio.StreamableSource, source_format: miniaudio.FileFormat = <FileFormat.UNKNOWN: 0>, output_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, nchannels: int = 2, sample_rate: int = 44100, frames_to_read: int = 1024, dither: miniaudio.DitherMode = <DitherMode.NONE: 0>, seek_frame: int = 0) -> Generator[array.array, int, NoneType]

Convenience function that returns a generator to decode and stream any source of encoded audio data (such as a network stream). Stream result is chunks of raw PCM samples in the chosen format. If you send() a number into the generator rather than just using next() on it, you'll get that given number of frames, instead of the default configured amount. This is particularly useful to plug this stream into an audio device callback that wants a variable number of frames per call.

function stream_file (filename: str, output_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, nchannels: int = 2, sample_rate: int = 44100, frames_to_read: int = 1024, dither: miniaudio.DitherMode = <DitherMode.NONE: 0>, seek_frame: int = 0) -> Generator[array.array, int, NoneType]

Convenience generator function to decode and stream any supported audio file as chunks of raw PCM samples in the chosen format. If you send() a number into the generator rather than just using next() on it, you'll get that given number of frames, instead of the default configured amount. This is particularly useful to plug this stream into an audio device callback that wants a variable number of frames per call.

function stream_memory (data: bytes, output_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, nchannels: int = 2, sample_rate: int = 44100, frames_to_read: int = 1024, dither: miniaudio.DitherMode = <DitherMode.NONE: 0>) -> Generator[array.array, int, NoneType]

Convenience generator function to decode and stream any supported audio file in memory as chunks of raw PCM samples in the chosen format. If you send() a number into the generator rather than just using next() on it, you'll get that given number of frames, instead of the default configured amount. This is particularly useful to plug this stream into an audio device callback that wants a variable number of frames per call.

function stream_raw_pcm_memory (pcmdata: array.array | memoryview | bytes, nchannels: int, sample_width: int, frames_to_read: int = 4096) -> Generator[bytes | array.array, int, NoneType]

Convenience generator function to stream raw pcm audio data from memory. Usually you don't need to use this as the library provides many other streaming options that work on much smaller, encoded, audio data. However, in the odd case that you only have already decoded raw pcm data you can use this generator as a stream source. The data can be provided in array type or bytes, memoryview or even a numpy array. Be sure to also specify the correct number of channels that the audio data has, and the sample with in bytes.

function stream_with_callbacks (sample_stream: Generator[bytes | array.array, int, NoneType], progress_callback: Callable[[int], NoneType] | None = None, frame_process_method: Callable[[bytes | array.array], bytes | array.array] | None = None, end_callback: Callable | None = None) -> Generator[bytes | array.array, int, NoneType]

Convenience generator function to add callback and processing functionality to another stream. You can specify : > A callback function that gets called during play and takes an int for the number of frames played. > A function that can be used to process raw data frames before they are yielded back (takes an array.array or bytes, returns an array.array or bytes) *Note: if the processing method is slow it will result in audio glitchiness > A callback function that gets called when the stream ends playing.

function vorbis_get_file_info (filename: str) -> miniaudio.SoundFileInfo

Fetch some information about the audio file (vorbis format).

function vorbis_get_info (data: bytes) -> miniaudio.SoundFileInfo

Fetch some information about the audio data (vorbis format).

function vorbis_read (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole vorbis audio data. Resulting sample format is 16 bits signed integer.

function vorbis_read_file (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole vorbis audio file. Resulting sample format is 16 bits signed integer.

function vorbis_stream_file (filename: str, seek_frame: int = 0) -> Generator[array.array, NoneType, NoneType]

Streams the ogg vorbis audio file as interleaved 16 bit signed integer sample arrays segments. This uses a variable unconfigurable chunk size and cannot be used as a generic miniaudio decoder input stream. Consider using stream_file() instead.

function wav_get_file_info (filename: str) -> miniaudio.SoundFileInfo

Fetch some information about the audio file (wav format).

function wav_get_info (data: bytes) -> miniaudio.SoundFileInfo

Fetch some information about the audio data (wav format).

function wav_read_f32 (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole wav audio data. Resulting sample format is 32 bits float.

function wav_read_file_f32 (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole wav audio file. Resulting sample format is 32 bits float.

function wav_read_file_s16 (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole wav audio file. Resulting sample format is 16 bits signed integer.

function wav_read_file_s32 (filename: str) -> miniaudio.DecodedSoundFile

Reads and decodes the whole wav audio file. Resulting sample format is 32 bits signed integer.

function wav_read_s16 (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole wav audio data. Resulting sample format is 16 bits signed integer.

function wav_read_s32 (data: bytes) -> miniaudio.DecodedSoundFile

Reads and decodes the whole wav audio data. Resulting sample format is 32 bits signed integer.

function wav_stream_file (filename: str, frames_to_read: int = 1024, seek_frame: int = 0) -> Generator[array.array, NoneType, NoneType]

Streams the WAV audio file as interleaved 16 bit signed integer sample arrays segments. This uses a fixed chunk size and cannot be used as a generic miniaudio decoder input stream. Consider using stream_file() instead.

function wav_write_file (filename: str, sound: miniaudio.DecodedSoundFile)

Writes the pcm sound to a WAV file

function width_from_format (sampleformat: miniaudio.SampleFormat) -> int

returns the sample width in bytes, of the given sample format.

class CaptureDevice

CaptureDevice (self, input_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, nchannels: int = 2, sample_rate: int = 44100, buffersize_msec: int = 200, device_id: _cffi_backend._CDataBase | None = None, callback_periods: int = 0, backends: List[miniaudio.Backend] | None = None, thread_prio: miniaudio.ThreadPriority = <ThreadPriority.HIGHEST: 0>, app_name: str = '')

An audio device provided by miniaudio, for audio capture (recording).

method close (self)

Halt playback or capture and close down the device. If you use the device as a context manager, it will be closed automatically.

method start (self, callback_generator: Generator[NoneType, bytes | array.array, NoneType])

Start the audio device: capture (recording) begins. The recorded audio data is sent to the given callback generator as raw bytes. (it should already be started before)

method stop (self)

Halt playback or capture.

class DecodeError

DecodeError (self, /, *args, **kwargs)

When something went wrong during decoding an audio file.

class DecodedSoundFile

DecodedSoundFile (self, name: str, nchannels: int, sample_rate: int, sample_format: miniaudio.SampleFormat, samples: array.array)

Contains various properties and also the PCM frames of a fully decoded audio file.

class Devices

Devices (self, backends: List[miniaudio.Backend] | None = None)

Query the audio playback and record devices that miniaudio provides

method get_captures (self) -> List[Dict[str, Any]]

Get a list of capture devices and some details about them

method get_playbacks (self) -> List[Dict[str, Any]]

Get a list of playback devices and some details about them

class DuplexStream

DuplexStream (self, playback_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, playback_channels: int = 2, capture_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, capture_channels: int = 2, sample_rate: int = 44100, buffersize_msec: int = 200, playback_device_id: _cffi_backend._CDataBase | None = None, capture_device_id: _cffi_backend._CDataBase | None = None, callback_periods: int = 0, backends: List[miniaudio.Backend] | None = None, thread_prio: miniaudio.ThreadPriority = <ThreadPriority.HIGHEST: 0>, app_name: str = '')

Joins a capture device and a playback device.

method close (self)

Halt playback or capture and close down the device. If you use the device as a context manager, it will be closed automatically.

method start (self, callback_generator: Generator[bytes | array.array, bytes | array.array, NoneType])

Start the audio device: playback and capture begin. The audio data for playback is provided by the given callback generator, which is sent the recorded audio data at the same time. (it should already be started before passing it in)

method stop (self)

Halt playback or capture.

class IceCastClient

IceCastClient (self, url: str, update_stream_title: Callable[[ForwardRef('IceCastClient'), str], NoneType] = None, ssl_context: 'ssl.SSLContext' = None)

A simple client for IceCast audio streams as miniaudio streamable source. If the stream has Icy MetaData, the stream_title attribute will be updated with the actual title taken from the metadata. You can also provide a callback to be called when a new stream title is available. The downloading of the data from the internet is done in a background thread and it tries to keep a (small) buffer filled with available data to read. You can optionally provide a custom ssl.SSLContext in the ssl_context parameter, if you need to change the way SSL connections are configured (certificates, checks, etc).

method close (self)

Stop the stream, aborting the background downloading.

method read (self, num_bytes: int) -> bytes

Read a chunk of data from the stream.

method seek (self, offset: int, origin: miniaudio.SeekOrigin) -> bool

Override this if the stream supports seeking. Note: seek support is sometimes not needed if you give the file type to a decoder upfront. You can ignore this method then.

class MiniaudioError

MiniaudioError (self, /, *args, **kwargs)

When a miniaudio specific error occurs.

class PlaybackDevice

PlaybackDevice (self, output_format: miniaudio.SampleFormat = <SampleFormat.SIGNED16: 2>, nchannels: int = 2, sample_rate: int = 44100, buffersize_msec: int = 200, device_id: _cffi_backend._CDataBase | None = None, callback_periods: int = 0, backends: List[miniaudio.Backend] | None = None, thread_prio: miniaudio.ThreadPriority = <ThreadPriority.HIGHEST: 0>, app_name: str = '')

An audio device provided by miniaudio, for audio playback.

method close (self)

Halt playback or capture and close down the device. If you use the device as a context manager, it will be closed automatically.

method start (self, callback_generator: Generator[bytes | array.array, int, NoneType])

Start the audio device: playback begins. The audio data is provided by the given callback generator. The generator gets sent the required number of frames and should yield the sample data as raw bytes, a memoryview, an array.array, or as a numpy array with shape (numframes, numchannels). The generator should already be started before passing it in.

method stop (self)

Halt playback or capture.

class SoundFileInfo

SoundFileInfo (self, name: str, file_format: miniaudio.FileFormat, nchannels: int, sample_rate: int, sample_format: miniaudio.SampleFormat, duration: float, num_frames: int, sub_format: int = None)

Contains various properties of an audio file.

class StreamableSource

StreamableSource (self, /, *args, **kwargs)

Base class for streams of audio data bytes. Can be used as a contextmanager, to properly call close().

method close (self)

Override this to properly close the stream and free resources.

method read (self, num_bytes: int) -> bytes | memoryview

override this to provide data bytes to the consumer of the stream

method seek (self, offset: int, origin: miniaudio.SeekOrigin) -> bool

Override this if the stream supports seeking. Note: seek support is sometimes not needed if you give the file type to a decoder upfront. You can ignore this method then.

class WavFileReadStream

WavFileReadStream (self, pcm_sample_gen: Generator[bytes | array.array, int, NoneType], sample_rate: int, nchannels: int, output_format: miniaudio.SampleFormat, max_frames: int = 0)

An IO stream that reads as a .wav file, and which gets its pcm samples from the provided producer

method close (self)

Close the file

method read (self, amount: int = 9223372036854775807) -> bytes | None

Read up to the given amount of bytes from the file.

Metadata

Release files for miniaudio 1.70

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

Source distribution (sdist)

Source distribution for miniaudio 1.70
File Size Uploaded
miniaudio-1.70.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for miniaudio 1.70
File
miniaudio-1.70-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
miniaudio-1.70-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
miniaudio-1.70-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
miniaudio-1.70-cp313-cp313-musllinux_1_2_i686.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-32 Details
miniaudio-1.70-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
miniaudio-1.70-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-32 Details
miniaudio-1.70-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
miniaudio-1.70-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
miniaudio-1.70-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
miniaudio-1.70-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
miniaudio-1.70-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
miniaudio-1.70-cp312-cp312-musllinux_1_2_i686.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-32 Details
miniaudio-1.70-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
miniaudio-1.70-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-32 Details
miniaudio-1.70-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
miniaudio-1.70-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
miniaudio-1.70-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
miniaudio-1.70-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
miniaudio-1.70-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
miniaudio-1.70-cp311-cp311-musllinux_1_2_i686.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-32 Details
miniaudio-1.70-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
miniaudio-1.70-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-32 Details
miniaudio-1.70-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
miniaudio-1.70-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
miniaudio-1.70-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
miniaudio-1.70-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
miniaudio-1.70-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
miniaudio-1.70-cp310-cp310-musllinux_1_2_i686.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-32 Details
miniaudio-1.70-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
miniaudio-1.70-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-32 Details
miniaudio-1.70-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
miniaudio-1.70-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 16.9 MB

Release files / miniaudio-1.70.tar.gz

Download URL miniaudio-1.70.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
f788504ee2b8ad3092f34b13d72875dba50597a3d25d8af3ac2f8573d31d8c31
BLAKE2b-256 checksum
How to use checksums
76969129106469f477af798019f0c6064fe42c795ef4a4d8a4637124fb1ea017
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp313-cp313-win_amd64.whl

Download URL miniaudio-1.70-cp313-cp313-win_amd64.whl
Size 274.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
2107858d97fad7da021ffd43e109247ee10d6ca31f196f63b2ba2095df9025eb
BLAKE2b-256 checksum
How to use checksums
1ab76d88a0f5e50f3d2ccc442e41801d2a625fed09a650e327fafb679f3ff2ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp313-cp313-win32.whl

Download URL miniaudio-1.70-cp313-cp313-win32.whl
Size 235.1 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
387213741b55daca5a2db69a89ae904f7b4bbc0440f81e66352150910ff6e416
BLAKE2b-256 checksum
How to use checksums
b9159aa6ff71dd9d130ee48e00853d873c68e41eb3c40bc2a3cba838dd4cbc00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL miniaudio-1.70-cp313-cp313-musllinux_1_2_x86_64.whl
Size 643.5 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
540e1ea433b1f2a2f63bcc4acdc8707ba89299b62db9019913367359a087b597
BLAKE2b-256 checksum
How to use checksums
a1ce7610325ac4676da49fb694eca7bb0dcd5a77bcb9d615f3c0da2481b336d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp313-cp313-musllinux_1_2_i686.whl

Download URL miniaudio-1.70-cp313-cp313-musllinux_1_2_i686.whl
Size 725.4 kB
Tags CPython 3.13 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
50cf3e80675fd34cd00c60efcb503b6254a9d4be8eb4633b401aa1d42f05c165
BLAKE2b-256 checksum
How to use checksums
d6e0d2d9df73bf272d9be184c64d08fa7c53112b0078e5d4fd130807eae63356
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL miniaudio-1.70-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 627.2 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ad0a7ebe9ad4ae987c582f884f87945a21ac3d93131bba01d39797607a5f01cf
BLAKE2b-256 checksum
How to use checksums
10307a55e5e6d8eea7b658509daa0851e520481857251b73b5c07e7224762983
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL miniaudio-1.70-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Size 711.6 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
4c7b67b4dfbc2478c254fbfb6eca1d3f5f7c6062dd5f63022dfde15099fea20e
BLAKE2b-256 checksum
How to use checksums
b0328842979347063267d707eb0ff0621c5107cdcf9eaae8eba8770f4d91a1ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp313-cp313-macosx_11_0_arm64.whl

Download URL miniaudio-1.70-cp313-cp313-macosx_11_0_arm64.whl
Size 351.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e76686f21cf5d1459f64d61ac41a360db3f27e3e89b6bb61274a2ba240d36092
BLAKE2b-256 checksum
How to use checksums
350010ff94b7aa2957c9fcf6de2be03d1d0e4c1d9398e197fd0b820f388031be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp313-cp313-macosx_10_13_x86_64.whl

Download URL miniaudio-1.70-cp313-cp313-macosx_10_13_x86_64.whl
Size 377.2 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
178bf8671c317a6dec5c2ade93394be406bd52f43ac784c5d51e3c71a23e2919
BLAKE2b-256 checksum
How to use checksums
98b0f05684de238618d520a12d1bc59f57078e610475f5704b65d746dc83e12f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp312-cp312-win_amd64.whl

Download URL miniaudio-1.70-cp312-cp312-win_amd64.whl
Size 274.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e6c66850acafd8bacfa8b39fecc939527783ae2919336bb446c4d7d48e86e612
BLAKE2b-256 checksum
How to use checksums
912e9e2874b18ec59d588d4274e759a519fcec174279387507acdddd4b4b2b98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp312-cp312-win32.whl

Download URL miniaudio-1.70-cp312-cp312-win32.whl
Size 235.1 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
8adda5de804ececcd1810c9522767f87d2afb951fdd9bce0916fb586457bfc69
BLAKE2b-256 checksum
How to use checksums
98243a522f05bbd687cd7ef8516db0a309bee0b39ca86b23ed9c7c03e8532694
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL miniaudio-1.70-cp312-cp312-musllinux_1_2_x86_64.whl
Size 643.5 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3c7116fd74ed2733a4ef6b4f23224fe968872ea89030917f1bcd5eeb7060d0f1
BLAKE2b-256 checksum
How to use checksums
b215cefe111a4b886e17896b809a9d83560902d2edafd2601545bb6587ba128e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp312-cp312-musllinux_1_2_i686.whl

Download URL miniaudio-1.70-cp312-cp312-musllinux_1_2_i686.whl
Size 725.4 kB
Tags CPython 3.12 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
fcda7999e1c170ae59019f7ddf8cfd48aafcdbc8ebd89c25f917b4910e30090e
BLAKE2b-256 checksum
How to use checksums
8f8861c8cdfa0aad5de7a82ac5b571676066e1c80c7dd5c9e4a637b0fd12764f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL miniaudio-1.70-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 627.2 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ec53c807dce88f457375538e7d81b87cc4366502a581f46b3ee4b50e282b7a2c
BLAKE2b-256 checksum
How to use checksums
d692dae213c7f7beff6712cb0d0413c3394515f61ecd7bb47a270cd61953aeec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL miniaudio-1.70-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Size 711.6 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
4ed1da7e0f903eeea3cecd8c199a39bedf27d782a9de9b81bf1db3d0840c673c
BLAKE2b-256 checksum
How to use checksums
62d7231c1a5c0e512fc3e26153fb3a8138794cc8f898a799ac128dd50b08951a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp312-cp312-macosx_11_0_arm64.whl

Download URL miniaudio-1.70-cp312-cp312-macosx_11_0_arm64.whl
Size 351.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5c96244596485a42345b8b7094a1917857d0a4f11a25c254ec9cb8562611093d
BLAKE2b-256 checksum
How to use checksums
0bb7c7868b0b337946dd755f07454f35b63db97ba4c00b47f9cdb519235cdd2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp312-cp312-macosx_10_13_x86_64.whl

Download URL miniaudio-1.70-cp312-cp312-macosx_10_13_x86_64.whl
Size 377.2 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
bfe53c6d47a13c6ae5612444731f4717a3b293990a6048d9486bf69a83e876ea
BLAKE2b-256 checksum
How to use checksums
7c8dc01493b78b97c101ce3e28f61466cfdf533da032cf23d7e5aaf029f1bc9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp311-cp311-win_amd64.whl

Download URL miniaudio-1.70-cp311-cp311-win_amd64.whl
Size 274.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1a6b58fc456d0384a39233a5889728c4d6b7fa0d105774c620e5666aad2d0bc9
BLAKE2b-256 checksum
How to use checksums
ffed53bf40265a2a4dec1d4e29b45aa744f1b095729610cc7bb18f349aee00bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp311-cp311-win32.whl

Download URL miniaudio-1.70-cp311-cp311-win32.whl
Size 235.0 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
faec5f2d549640e1bffd19f68e6e21449bbe24a0e2eea215c8f8ba78a668d3fc
BLAKE2b-256 checksum
How to use checksums
b08b34052c9894d5c00caf897c29cdd6cca5d6143a56d108ec6b68ab999491f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL miniaudio-1.70-cp311-cp311-musllinux_1_2_x86_64.whl
Size 643.4 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9c385bdcfb203276a662964ddb4b0786790c56a833cdbcab1eece767b99a3476
BLAKE2b-256 checksum
How to use checksums
08faf5662af73d50b24d977e506e09f8ed629a81e965e6b3d8dd2c8ba2e113e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp311-cp311-musllinux_1_2_i686.whl

Download URL miniaudio-1.70-cp311-cp311-musllinux_1_2_i686.whl
Size 725.8 kB
Tags CPython 3.11 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
e39e40562515aea0eafbc21ff9ea7852dd42b8af4f7c65cd218569eaef93add3
BLAKE2b-256 checksum
How to use checksums
ede22d9279d67976a7adb882ac2718fe7ed530c17229c9d595450f44b026beb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL miniaudio-1.70-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 626.5 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
770ece1f3a1d6d0c8e0ce17c444b0e46b919e85389d4ef26ea8e354c0de1b840
BLAKE2b-256 checksum
How to use checksums
f4623bf4d21b73a4886a82bd3ec525c135fd2738be025a2674048720f42b1be3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL miniaudio-1.70-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Size 711.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
8eb21a2bd770e575a0ff14b00b2120bfe9e59495f7a61c98c2e1f3942cccaad9
BLAKE2b-256 checksum
How to use checksums
45e3009ad4d9a2f3ef7a73d777bcbba44df238d727a8be95e195f8d4dd2991a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp311-cp311-macosx_11_0_arm64.whl

Download URL miniaudio-1.70-cp311-cp311-macosx_11_0_arm64.whl
Size 351.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
588843c600c798e37fbe25b7b9feaa891e6ca0693be89f8d51734b8be441209a
BLAKE2b-256 checksum
How to use checksums
16d300ff07363bcd957bc62e466efcaf5d779b5e58f7718bbfd3359e4aec2e70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp311-cp311-macosx_10_9_x86_64.whl

Download URL miniaudio-1.70-cp311-cp311-macosx_10_9_x86_64.whl
Size 367.7 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
06401e658d64fff8a4705f2082c093b1f1ce78bf99cbc932e2b8e48ec634cfb9
BLAKE2b-256 checksum
How to use checksums
e25a339a181cbb95f9b1616582e7316339fc12a908557303c54c326b904cd050
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp310-cp310-win_amd64.whl

Download URL miniaudio-1.70-cp310-cp310-win_amd64.whl
Size 274.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a71c170e3f9476f707bbb3fce1e8d8c1726be3024c3621685c0d1f29e5510f6b
BLAKE2b-256 checksum
How to use checksums
a2a965fb6c8b18d4f9260c5e1a622954ff184072bf37e7cd7978dca91c153229
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp310-cp310-win32.whl

Download URL miniaudio-1.70-cp310-cp310-win32.whl
Size 235.0 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
a6db4139f66317cbad89361c82eb82be7984bb827d1c1954950160b020c2b196
BLAKE2b-256 checksum
How to use checksums
dab7b5e433a8895515a2fcf872bab1ee3f3123fdf2c473ad412f5e4959598559
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL miniaudio-1.70-cp310-cp310-musllinux_1_2_x86_64.whl
Size 643.4 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
07b7a813981aeea441b35324fae20a04872d113ad9731f1fe3fad31f8ef65bab
BLAKE2b-256 checksum
How to use checksums
b4631decb714e51a04f69c02c312c8a5bcd045b79f9ebf7f177c64eb9a65be3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp310-cp310-musllinux_1_2_i686.whl

Download URL miniaudio-1.70-cp310-cp310-musllinux_1_2_i686.whl
Size 725.8 kB
Tags CPython 3.10 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
e67fa7f34273e651e2f6aa36f06b31bf136e105d9d05332dd2378f89bb0a3f78
BLAKE2b-256 checksum
How to use checksums
9f42c9f69aafa3034d5c8754596ca55c898773d123a161d5d6665fe9c1335ae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL miniaudio-1.70-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 626.5 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e68f0d0e957f716bb7ba2f20623ef032a2c0be5fb1aee4b4f5ecb6710bd2da5c
BLAKE2b-256 checksum
How to use checksums
88a07b9ef53e958bbc91dbe0dff04738e205f814efb383b842c176bc6b7e5eb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL miniaudio-1.70-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Size 711.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
5c3ef2023a37a1e81e5e9a65abb20934bc910336ebf23d5da3e235b1d8ee488d
BLAKE2b-256 checksum
How to use checksums
38c2b2afc8555b78349d1ffc1d9cd25c0e31021edcd1a206d51721f7d2199e1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp310-cp310-macosx_11_0_arm64.whl

Download URL miniaudio-1.70-cp310-cp310-macosx_11_0_arm64.whl
Size 351.4 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
16d86fe5a9fa54b7a15d417c1bf6b1b8ddbfda0bf82acb59fff8bc01336e9bcd
BLAKE2b-256 checksum
How to use checksums
9a921cb5aa0751774cd0cabb7c3bfe379e65be107d27c27e9d012830249f24f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / miniaudio-1.70-cp310-cp310-macosx_10_9_x86_64.whl

Download URL miniaudio-1.70-cp310-cp310-macosx_10_9_x86_64.whl
Size 367.7 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
34d0bcda68293c6efceb8ea4c2c1871979193ecd1fbc9fe408fa1a69e1fe40b4
BLAKE2b-256 checksum
How to use checksums
4008cdf480c0bff1ada58d1621fde2d8fd344e6f3373ccdf0344295001aaf1d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

1.71

31 release files

This release

1.70 This release

33 release files

1.61

60 release files

1.60

60 release files

1.59

52 release files

1.58

47 release files

1.57

37 release files

1.56

37 release files

1.55

37 release files

1.54

37 release files

1.53

37 release files

1.52

37 release files

1.51

37 release files

1.50

37 release files

1.46

37 release files

1.45

6 release files

1.44

4 release files

1.43

5 release files

1.42

5 release files

1.41

6 release files

1.40

6 release files

1.39

6 release files

1.38

6 release files

1.37

6 release files

1.36

6 release files

1.35

6 release files

1.34

6 release files

1.33

6 release files

1.32

6 release files

1.31

6 release files

1.30

6 release files

1.23

6 release files

1.22

6 release files

1.21

6 release files

1.20

6 release files

1.10

6 release files

1.9

5 release files

1.8

5 release files

1.7

6 release files

1.6

4 release files

1.5

3 release files

1.4

3 release files

1.3

3 release files

1.2.2

3 release files

1.2

1 release file

1.1

1 release file

1.0.1

1 release file

1.0

1 release file

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