Skip to main content

python bindings for the miniaudio library and its decoders (mp3, flac, ogg vorbis, wav)

Project description

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.6 or newer. Also works on pypy3 (because it uses cffi).

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

Most basic audio file playback

import miniaudio
stream = miniaudio.stream_file("samples/music.mp3")
with miniaudio.PlaybackDevice() as device:
    device.start(stream)
    input("Audio file playing in the background. Enter to stop playback: ")

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

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

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: Union[array.array, memoryview, bytes], nchannels: int, sample_width: int, frames_to_read: int = 4096) -> Generator[Union[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[Union[bytes, array.array], int, NoneType], progress_callback: Optional[Callable[[int], NoneType]] = None, frame_process_method: Union[Callable[[array.array], array.array], None] = None, end_callback: Optional[Callable] = None) -> Generator[Union[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 and returns an array.array) 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: Optional[_cffi_backend._CDataBase] = None, callback_periods: int = 0, backends: Optional[List[miniaudio.Backend]] = 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, Union[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: Optional[List[miniaudio.Backend]] = 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: Optional[_cffi_backend._CDataBase] = None, capture_device_id: Optional[_cffi_backend._CDataBase] = None, callback_periods: int = 0, backends: Optional[List[miniaudio.Backend]] = 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[Union[bytes, array.array], Union[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)

A simple client for IceCast audio streams as miniaudio streamable source. If the stream has Icy Meta Data, the stream_title attribute will be updated with the actual title taken from the meta data. 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.

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: Optional[_cffi_backend._CDataBase] = None, callback_periods: int = 0, backends: Optional[List[miniaudio.Backend]] = 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[Union[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)

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) -> Union[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[Union[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) -> Optional[bytes]

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

miniaudio-1.54.tar.gz (685.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

miniaudio-1.54-pp38-pypy38_pp73-win_amd64.whl (604.7 kB view details)

Uploaded PyPyWindows x86-64

miniaudio-1.54-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

miniaudio-1.54-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

miniaudio-1.54-pp37-pypy37_pp73-win_amd64.whl (604.7 kB view details)

Uploaded PyPyWindows x86-64

miniaudio-1.54-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

miniaudio-1.54-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

miniaudio-1.54-cp310-cp310-win_amd64.whl (323.4 kB view details)

Uploaded CPython 3.10Windows x86-64

miniaudio-1.54-cp310-cp310-win32.whl (274.4 kB view details)

Uploaded CPython 3.10Windows x86

miniaudio-1.54-cp310-cp310-musllinux_1_1_x86_64.whl (593.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

miniaudio-1.54-cp310-cp310-musllinux_1_1_i686.whl (570.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

miniaudio-1.54-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (595.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

miniaudio-1.54-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (670.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

miniaudio-1.54-cp39-cp39-win_amd64.whl (323.4 kB view details)

Uploaded CPython 3.9Windows x86-64

miniaudio-1.54-cp39-cp39-win32.whl (274.4 kB view details)

Uploaded CPython 3.9Windows x86

miniaudio-1.54-cp39-cp39-musllinux_1_1_x86_64.whl (593.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

miniaudio-1.54-cp39-cp39-musllinux_1_1_i686.whl (570.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

miniaudio-1.54-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (595.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

miniaudio-1.54-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (670.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

miniaudio-1.54-cp38-cp38-win_amd64.whl (323.4 kB view details)

Uploaded CPython 3.8Windows x86-64

miniaudio-1.54-cp38-cp38-win32.whl (274.4 kB view details)

Uploaded CPython 3.8Windows x86

miniaudio-1.54-cp38-cp38-musllinux_1_1_x86_64.whl (593.6 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

miniaudio-1.54-cp38-cp38-musllinux_1_1_i686.whl (570.1 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

miniaudio-1.54-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (595.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

miniaudio-1.54-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (670.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

miniaudio-1.54-cp37-cp37m-win_amd64.whl (323.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

miniaudio-1.54-cp37-cp37m-win32.whl (274.3 kB view details)

Uploaded CPython 3.7mWindows x86

miniaudio-1.54-cp37-cp37m-musllinux_1_1_x86_64.whl (593.3 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

miniaudio-1.54-cp37-cp37m-musllinux_1_1_i686.whl (569.9 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ i686

miniaudio-1.54-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (595.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

miniaudio-1.54-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (670.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

miniaudio-1.54-cp36-cp36m-win_amd64.whl (323.4 kB view details)

Uploaded CPython 3.6mWindows x86-64

miniaudio-1.54-cp36-cp36m-win32.whl (274.3 kB view details)

Uploaded CPython 3.6mWindows x86

miniaudio-1.54-cp36-cp36m-musllinux_1_1_x86_64.whl (593.3 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

miniaudio-1.54-cp36-cp36m-musllinux_1_1_i686.whl (569.8 kB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ i686

miniaudio-1.54-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (595.3 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

miniaudio-1.54-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (670.4 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ i686

File details

Details for the file miniaudio-1.54.tar.gz.

File metadata

  • Download URL: miniaudio-1.54.tar.gz
  • Upload date:
  • Size: 685.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54.tar.gz
Algorithm Hash digest
SHA256 3d2415f5e0caae258cdefdbe0c530be7df17bf28c046d7b6f43c4d93832fe047
MD5 cc524d8724c9001f0ea17236e7a5e46e
BLAKE2b-256 dae0809825086bfa6bea3d60b7bb54ed48b9db2fd310ba8768aa50d5789b7848

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 bb16459bf334067e1e2063bd52a5d5505c5946e39725e5653505935cf663c8ab
MD5 5872a9a0b937396d17efc66ad566c349
BLAKE2b-256 d6ff7f0cec3de5ed0772a7584c9732758273bf5ae6e34aa450ddb033b2770727

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09c5ef2127d895ed320d068e2f0ee94bb45da96cfe27722c17ef2e9c5461c815
MD5 aa75671efe197347ca1cf38477dab6a4
BLAKE2b-256 103ac5edd0379ce7cfa82dd405140c3083d442153491c5ca955f7398b4c1bf65

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0009c14d18debf055bb55f8f94895566c1969dd0354bf8d4dbe30519939dde7f
MD5 ad791cd6dbf3edeacf8315eefb16459c
BLAKE2b-256 4ad24bebc71f04b6825e195e83b202ee95978af7a3e927fb4966ae6359d020b8

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ed3de2557bdb2df2b10eb9ae760710459437e27b61828d68cbceaa1bdf4fc1fe
MD5 a863464999068af7dd678599adcf9186
BLAKE2b-256 6f4cedd7377753192244d8862028446c5181aa91d1765633f0bb9b5dc0851868

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16f51e2ed4a0801e130d86d89ff69670dc88cfd6f1a37842c7b5d84eb0438be1
MD5 12825c90693eb235abc25d27b0ca0743
BLAKE2b-256 111ff60490bd963f3c8ba26c2fc411dd27ed203b08444e33d93df6cf7b7d7a30

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 111bc9da789d9358f3e929645520195a0b01d266f41b478831968aef76f18e74
MD5 3d5f978571cb847b560b1636432ce8e5
BLAKE2b-256 08336e13833368d40303e9ba45f1fc1300540f922a847a8b23ca790e6e008799

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: miniaudio-1.54-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 323.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e583038f44367b5cdb31cf742fd5918f65ccdfd0f6f384e0871155372b34857a
MD5 fc8e8b692b785dcfae5ce4db35842a4f
BLAKE2b-256 a513c4dc9987a9d11653f6ef4e0ac661b3a0544e8e835204346d8686c02af86b

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp310-cp310-win32.whl.

File metadata

  • Download URL: miniaudio-1.54-cp310-cp310-win32.whl
  • Upload date:
  • Size: 274.4 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 9a18f311d678832e4160fb75cd236f440cf325de06dbc3cb302223922cb3fe24
MD5 842accd41a79ec07eab3a7e2fc62854a
BLAKE2b-256 0acaa96db5d0eb3135a2713cef488e23524d10b6196d21f732574ac09c2d49f4

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 70e0020e0cfad78320e74cb2e74f2593ec186674cbbf83ea205cda7710d447e7
MD5 f1d292e8e22e358ba98a496757218ef6
BLAKE2b-256 8584efa858d80f40f5b4ba253678b0ae5680336b026e69a617e100747493dada

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 1265778d074c227871b4788d6a0a7bf5a2fb582c857bc5b5ed2c23ef60a487a0
MD5 689f33b37332e98a7efc2e4b76e9c205
BLAKE2b-256 8f3789074a5ceece5a1109d23c47f0b23453e217b1de2b71481d34367b1c6044

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb4fbde7455eb0d07911965b365ba7afcaf961079d993ddaaf878edaa3a75ccb
MD5 5a0a6a308643caea91914108d4171ebb
BLAKE2b-256 4f21c3034a165c6ec1a4d68bca54269e44cb6c9d1f79564bcb4b82e7bc62d2b1

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8b43e4341eb8a8d2e3970089a3ca0522840dab8fbbedc87e24df041cdac1d6c2
MD5 f153994afdfacbd64ef292a2402857f7
BLAKE2b-256 9338f44c5730acfa3733201de9476b606593bc06a2e39d6ac4b42fc6cd4d322f

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: miniaudio-1.54-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 323.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 723d1bb63754c005c029ec4858053c953cfce75b88636e5774bf3521d4b7a374
MD5 39f35ebc180a94a0d388db865d1294f2
BLAKE2b-256 73106408c91c23b449704f50de5e296bb7a18fae739e2fbea209ac62afcec607

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp39-cp39-win32.whl.

File metadata

  • Download URL: miniaudio-1.54-cp39-cp39-win32.whl
  • Upload date:
  • Size: 274.4 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 fe2a345c15b4ef1acbb912f5b57bcf4b1851a3650c8c8e1811edccb7dffd980a
MD5 f3074f9ca9f1115e4302efa2fbe63d31
BLAKE2b-256 f925b2b9520f984df1b180eaa7dc804516e967add3fe38213c1caf8c9739494b

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 728d01a24aca0abe3dbcd4f23c65f10313c6211027e3d70a69b044c34681ff32
MD5 1929b07aedf5e15f30ed9897536e8dd5
BLAKE2b-256 72c622cc3205c12ba34dacd89be51af2e9940057bd5897d7145644dd345d7a65

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 b3487e5a3645abcfeb438eed68e009fbc284dc9c9ca452b7dcc16802d50b5585
MD5 69364da3c41f633630c23d294b8fe770
BLAKE2b-256 df3a5c0827dd3bc99fb2fca65a4f181c534de0024ef55914e2d8620d4c0fda80

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37500bff66588d876d1895df7a71631727a859720f5d89ecb9ea711e4c32b9f9
MD5 e1e271ada7cd3dbcc1f4d0eff981fc8a
BLAKE2b-256 bb813f3994b5b07e205655ab11c9bc9b84339a03490dc3039b98c3bc94533a0a

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9a4c580f11e514d61e4b24a6c68601f4971d24942d32a51559e65fb546b14f53
MD5 fe068adb17a1dbce6e5e7372e122983b
BLAKE2b-256 15f6f4e3895c3677bc9f2dc706591ff7a2aa78359abf7f3baad7865e8c817f3e

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: miniaudio-1.54-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 323.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f519b0003e7d3723ea76d73e2ce2186e4b959c19ed2f6fad6879afa24107fa2f
MD5 b830ee778499fb26d2e7afee8f2afa10
BLAKE2b-256 252c8e50565c1dd671574801816660aef1c30f71ef6c597fefe4374f7e79337b

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp38-cp38-win32.whl.

File metadata

  • Download URL: miniaudio-1.54-cp38-cp38-win32.whl
  • Upload date:
  • Size: 274.4 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 9a7fc97828d10ffe9af18e1c68963c3348f1e5b91ec75eb64619080e48c2db5a
MD5 154827a1190efc7999f1151b951c55a0
BLAKE2b-256 5a37f1f31baaea8bfee3dabbce0e1bab48e5fe8f7f45f4053a8d2198e31aee0e

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 114bc7157fc7e6aa2142e8331bdb4b1f0d75c24ad7f455991ff4a226a928e815
MD5 a4f1c38779590486b9acdb08950ace93
BLAKE2b-256 491970462a5630f26dd9ed7cec71bcc381a66e69b8cd8c0976fbe03e173e7137

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 3067b58036adeaa6fd10ac59834c30f4caed32deb0c7d5ec76e5ca9534ca13e8
MD5 6a447caaa61b9867ca2c1e32e2877900
BLAKE2b-256 4acd96f94846fd21e4bbca4e121c4dbf242822991193f4e89f119c599630bbb4

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93a25b6553f8b33bd07fbcc4a38b067e64d913e000377f93295ff9eb65a8a73e
MD5 bf26bf0d157558947b4ab635715f3294
BLAKE2b-256 c7857cf9f20b404956d2cdbb536491f4f97c934a8215d6a0b8bca69601ffb34a

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 17a1c16465c688918555711730cecf96543a66744742cce98c566462164cbfca
MD5 3add1e7ea4a65f35ff828b6c3c198f49
BLAKE2b-256 6c7f005ebd18d152574bcd799f8336563cfc13ba3b5113a99e6c5ecf2a5739ce

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: miniaudio-1.54-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 323.4 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 55f987bfa959c687537d7df98140da23641f13d1d3f7b5c088eaeabeb5b995f2
MD5 76fd4b586fd94ed789a21ac5afd6987b
BLAKE2b-256 7a3f235eb6f72f3baaf4ac61c57ab58dc3f400a127082bab96f0d77b2b648103

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp37-cp37m-win32.whl.

File metadata

  • Download URL: miniaudio-1.54-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 274.3 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 206db79e2fb2f0ed41693fd81829434509392e2d07ba52bd670141192f836fbd
MD5 c8670ff630cc223e7c8a129d62af83fc
BLAKE2b-256 68c9f4c59ab0c74ce70286a55c5acae9a84f5e065cca3e9b630f27b447604b41

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 91f7a1ee6db9fcfbea6b448ff4844e11bbcb4b8de1fad367eb98e9e096c11fa3
MD5 68c32ff5d80231184844fc0fe1e00f9a
BLAKE2b-256 2c95e66367e283a1921c4b77956b70687a0b7664d04b2397a38cd09d94c39f2d

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 c9ee24037793554b84462e88154246133224fe4286b06edec1e150c393d3e9d3
MD5 91f2a17285ee496a65fe64b22069b7ed
BLAKE2b-256 68cfc795ebbbc179a6941e57f4a94bd335b44d04615b83373663f18509380c4e

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ab6b82190aaecbc5c8d9ac5d879d8ac854e453b080e9eaadec1ba64f4b3871d
MD5 139729b17dcd839d472c990f72856cd4
BLAKE2b-256 12e6f9a073cf47a11e3c0795a1625bbf6925189c728c37ab968c5160250e0574

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d0f92640fd33af0299d41e8c77fdce513128798b4aef8953f7ce6ddf6308e4a4
MD5 f80095ac08f80bce07c910a57f867069
BLAKE2b-256 0fbe167411bad0f6d618401d1193b1b705805a6deed2c6d3655933ab6396d610

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: miniaudio-1.54-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 323.4 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 5729891f4d0c4551f54ed7502d27824cc91d3bd78a202525f4b4d867c10b6a9b
MD5 7de6ed2d122d2e978a96e926f044f6d9
BLAKE2b-256 8900d7b17b946addd63c8f0c3da57270c8daee4e0031097de603a0498250f375

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp36-cp36m-win32.whl.

File metadata

  • Download URL: miniaudio-1.54-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 274.3 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for miniaudio-1.54-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 5662480568984ce2d8335675c31541e58bc17a9d177a688fb242d078d033fe7f
MD5 869d0d172bd8865c5583876cce89617a
BLAKE2b-256 1d7bf5836455bbeae1a42e70e6d5e70d2fd4e74068966754265a082f99911434

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7775491bf36ae472e3d1b8c227e6606df8985f5e7a50467028d67be749506d53
MD5 9ee77585147c181fe4ca4a14225964d1
BLAKE2b-256 d31bd46bbe38a745e65de1fddaa69aa793acb3e1a94b83c61dbe25e60f7fd791

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp36-cp36m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 c9a005707516c8d5353c84144b5ee7b07887264fc9bb992631e7440f5b3268d5
MD5 83adfa5268bf07138c71560199febc8c
BLAKE2b-256 dbd7ce9031906d304ab474cae8bd2cc42ffef010dec4bde4cf6beadbfe2d2134

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24dd455de09f188fc23cacee0f16e8e76fc1a8dc053a456fa6b9aa6f9d8d4428
MD5 b7eec97fd67f35dfc49dee14d43f881d
BLAKE2b-256 6c7c977f96c62872230d847050defdf427f71bc609b334d628c5e2807d1d08d0

See more details on using hashes here.

File details

Details for the file miniaudio-1.54-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for miniaudio-1.54-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b87c5321c49b4ace8a29e11114d5929732f9d90c76dd4b8bdd1af181be14cb17
MD5 3c7a868963a2a36e8fb280c95bd47b2b
BLAKE2b-256 13b997c34eb7cabfea1354fec5cc99c91e4e2958f53d60c0936daba97cf9e4ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page