Skip to main content

Python bindings for the 4Players ODIN Voice SDK

Project description

odin-voice

Python bindings for the 4Players ODIN Voice SDK - a cross-platform solution for integrating real-time voice chat into your applications.

What is ODIN?

ODIN is a cross-platform SDK that integrates real-time voice chat into multiplayer games, applications and websites. It supports both managed cloud hosting through 4Players and self-hosted deployments, giving developers flexibility in their deployment strategy.

Key Features

  • Real-Time Voice Chat - Low-latency audio transmission with Opus codec compression and automatic sample rate conversion
  • Audio Processing - Voice Activity Detection (VAD), echo cancellation, noise suppression and automatic gain control
  • Proximity Chat - Distance-based audio filtering that automatically adjusts based on peer positions
  • End-to-End Encryption - Secure voice communication with customizable room passwords
  • Connection Pooling - Efficient multi-room management for complex applications
  • Flexible Pipeline - Extensible audio pipeline architecture supporting custom effects

Installation

pip install odin-voice

Quick Start

import asyncio
import json
import time

from odin_voice import (
    OdinConnectionPool,
    OdinTokenGenerator,
    OdinEncoder,
    OdinDecoder,
    OdinAudioEncoderConfig,
    OdinAudioDecoderConfig,
)

async def main():
    # Generate a token (in production, do this server-side)
    generator = OdinTokenGenerator.from_access_key("your-access-key")
    nbf = int(time.time())
    token = generator.sign(json.dumps({
        "rid": "my-room",
        "uid": "user-123",
        "nbf": nbf,
        "exp": nbf + 300,
    }))

    async with OdinConnectionPool() as pool:
        room = pool.join_room(
            gateway="gateway.odin.4players.io",
            token=token,
        )

        # Wait for connection
        own_peer_id, media_ids = await room.joined()
        print(f"Joined as peer {own_peer_id} with media ids {media_ids}")

        # Create encoder for outgoing audio
        encoder = OdinEncoder(OdinAudioEncoderConfig(sample_rate=48000))

        # Start media stream for the first media id we got
        room.send_rpc([2, "StartMedia", {"media_id": media_ids[0], "properties": {"kind": "audio"}}])

        # Create decoder for incoming audio using remote media id
        decoder = OdinDecoder(OdinAudioDecoderConfig(media_id=1, sample_rate=48000, stereo=False))

        # Handle events and audio in parallel
        async def handle_events():
            async for rpc in room.rpcs():
                print(f"Event: {rpc}")

        async def handle_audio():
            async for datagram in room.datagrams():
                decoder.push(datagram.data)
                samples, is_silent = decoder.pop(960) # 20ms at 48kHz mono
                # Process samples...

        await asyncio.gather(handle_events(), handle_audio())

asyncio.run(main())

Token Generation

Tokens authenticate users and grant access to rooms. Generate tokens server-side only - never embed access keys in client code.

import json
import time

from odin_voice import OdinTokenGenerator

# Create from your access key
generator = OdinTokenGenerator.from_access_key("your-access-key")

# Or generate a new key pair (share public_key with 4Players)
generator = OdinTokenGenerator.generate()
print(f"Access Key: {generator.access_key}")  # Keep secret!
print(f"Public Key: {generator.public_key}")  # Share with 4Players

# Create a token
nbf = int(time.time())
token = generator.sign(json.dumps({
    "rid": "my-room",     # Room ID
    "uid": "user-id",     # User ID
    "aud": "gateway",     # Audience: "gateway" or "sfu"
    "nbf": nbf,           # Not before (Unix timestamp)
    "exp": nbf + 300,     # Expiration (Unix timestamp)
}))

End-to-End Encryption

Enable E2EE by creating a cipher with a shared password. All peers must use the same password.

from odin_voice import OdinCipher, OdinCryptoPeerStatus

# Create cipher with password
cipher = OdinCipher("shared-secret")

# Join room with encryption
room = pool.join_room(gateway=gateway, token=token, cipher=cipher)

# Check peer encryption status
status = cipher.peer_status(peer_id)
match status:
    case OdinCryptoPeerStatus.Encrypted:
        print("Peer is using the same password - secure!")
    case OdinCryptoPeerStatus.PasswordMismatch:
        print("Peer is using a different password")
    case OdinCryptoPeerStatus.Unencrypted:
        print("Peer is not using encryption")

# Change password at runtime
cipher.set_password("new-password")

Audio Processing Pipeline

Add effects like VAD and noise suppression to encoders/decoders:

from odin_voice import (
    OdinEncoder,
    OdinAudioEncoderConfig,
    OdinVadConfig,
    OdinApmConfig,
    OdinNoiseSuppressionLevel,
    OdinGainControllerVersion
)

encoder = OdinEncoder(OdinAudioEncoderConfig())
pipeline = encoder.pipeline

# Add Voice Activity Detection with default settings
vad_config = OdinVadConfig()
vad_id = pipeline.insert_vad(0, vad_config)

# Add automatic gain control, noise suppression and echo cancellation 
apm_config = OdinApmConfig(
    gain_controller_version=OdinGainControllerVersion.V2,
    noise_suppression_level=OdinNoiseSuppressionLevel.High,
    echo_canceller=True,
)
apm_id = pipeline.insert_apm(1, 48000, False, apm_config)

# Remove effects when needed
pipeline.remove_effect(vad_id)

Connection Statistics

Monitor connection quality:

stats = room.stats
if stats:
    print(f"RTT: {stats.rtt:.1f}ms")
    print(f"Packet Loss: {stats.udp_tx_loss:.1f}%")
    print(f"RX Datagrams: {stats.udp_rx_datagrams}")
    print(f"TX Datagrams: {stats.udp_tx_datagrams}")

Documentation

For full documentation, visit docs.4players.io.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

odin_voice-1.0.0-cp314-cp314-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.14Windows x86-64

odin_voice-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

odin_voice-1.0.0-cp314-cp314-musllinux_1_2_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

odin_voice-1.0.0-cp314-cp314-manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

odin_voice-1.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

odin_voice-1.0.0-cp314-cp314-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

odin_voice-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

odin_voice-1.0.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (13.4 MB view details)

Uploaded CPython 3.14macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

odin_voice-1.0.0-cp313-cp313-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.13Windows x86-64

odin_voice-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

odin_voice-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

odin_voice-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

odin_voice-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

odin_voice-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

odin_voice-1.0.0-cp313-cp313-macosx_10_12_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

odin_voice-1.0.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (13.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

odin_voice-1.0.0-cp312-cp312-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.12Windows x86-64

odin_voice-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

odin_voice-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

odin_voice-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

odin_voice-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

odin_voice-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

odin_voice-1.0.0-cp312-cp312-macosx_10_12_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

odin_voice-1.0.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (13.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

odin_voice-1.0.0-cp311-cp311-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.11Windows x86-64

odin_voice-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

odin_voice-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

odin_voice-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

odin_voice-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

odin_voice-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

odin_voice-1.0.0-cp311-cp311-macosx_10_12_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

odin_voice-1.0.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (13.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

odin_voice-1.0.0-cp310-cp310-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.10Windows x86-64

odin_voice-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

odin_voice-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

odin_voice-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

odin_voice-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

odin_voice-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

odin_voice-1.0.0-cp310-cp310-macosx_10_12_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

odin_voice-1.0.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (13.4 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file odin_voice-1.0.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: odin_voice-1.0.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for odin_voice-1.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c10fdb4472a2938effeae2cb4eb609e254119ee20da64b7a12e766b4fe1be5c1
MD5 ca273467287889057596ff5bc39aa1f8
BLAKE2b-256 190a81d9e1f0af08ec2d01f8809152310ed5f5db050ada477cbcb69ed7c6295d

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ea5cb635814617d731c4224c880f339f7de45e9e50bbc2a3751af541a47cbc45
MD5 632db6a2ef860238963c786e18e2c96a
BLAKE2b-256 8fee9c820457b3e2447df7dac6c0c2117b685f1de0dd045c3af53c94556c7c3d

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bf74655846fa8e026d57fe45969619fa07d776bba2ce3a7d8046d13186ab7e1b
MD5 be5b3273c626f8763a7f090372a5541c
BLAKE2b-256 0d368dd7ed451896af26e36c5797d76400a952ac4789dc4365204025d7a6e681

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b4ae9da807d91cb4fa73d162e23e89b5ef17682adab26eb3308410d3fc54243
MD5 f221453b448c3f7390689fe462373062
BLAKE2b-256 71b53d5f49f1165413f4f602ea391a34b1cc1f68392c2918de52d94d99797739

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 80a0e3b4a6d4ff39e9b549954d7a8060b31e80e7bbdf432ed334030c82ac4eea
MD5 a46d83a5aef9e6025fab69e3ceda44a4
BLAKE2b-256 ac0a6462117d79bfa02bf7a8f38c3696395b72f79bf51eaf4d4bf435c4457e7e

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 987d6f57433fc9bd53cc3c4716c0c67ef5f16b019f9b2be391d8280a87f08351
MD5 737254bba4ac65e37303057af7b96927
BLAKE2b-256 07690abeca4c02ed339b956870053f4d316086ee9f7c24275f84a91f2dc9bf75

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 306e34f3a61c04f3d582e6759b7a6e8e8878c38752c80a8b78f83299f3ed7792
MD5 ed7db182a1c2122efc318e8bc91f0318
BLAKE2b-256 d401fefa2aebc53afa91adc7784623a29491de0d6a4a2fa7853f3dae2e183e0d

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 4af87c6a283febabeb9c5d94a9e6a2303407add02cf89cfbffe2f13c0ad7357f
MD5 936d3452cec64030e7b01121efc2a64f
BLAKE2b-256 6797ef90daeb58f3794385cb8df81c0e820e0c23b7a30a5f2715a2f0ad4c4443

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: odin_voice-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for odin_voice-1.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f518b6a1ff9f08fc8fe0c767a0a1d14341445b6e7541c7f9c862941268d13781
MD5 14978d5c40e0cb32eec196d27595e444
BLAKE2b-256 07c436856f02e088d3acdfeb4be0eb102a823c8dab9d08b43745ca884f3a97a0

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e5caeeec65ed1b8ead210040e4824f8f601b5d88d65ab92c3802710ef790c7d4
MD5 eea19e3a146d29d831edea27b150d3bd
BLAKE2b-256 2d1e6870423858a671e688f2904064bae3255e53f10eff3efe03c80f829b5e7b

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 90fec3526e393e5393dedef651ba7f78778ca1ba10b50347bcdbf2b8aa7d3198
MD5 0f074b55c676a0fe159eafe9504bb6fa
BLAKE2b-256 300f51306dd499fadb79e34330faf9d833556064e2788536bab41691732e9055

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c03ea9522a0b89e0b24a2c16e7de8de9b2e95ded6739cfce43e3779bca32c416
MD5 c251711d000fbf8bda847ee81559bb4a
BLAKE2b-256 098b0326d8435b42a52edc0d5ffc1b48f7594775530ebbd8f9b5eaddbd1effa7

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4482e3f9c5a4cde82fd2625db8eb4f76b9584f38b6a89473613dbcd8bbb7b1d2
MD5 21c7e34514099392312fb683124f1dae
BLAKE2b-256 676096a1d886f06c38ec01397cef5c552419b6f28c6b304e08267f969fb98007

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9d8945946fece2b7f03d509368591b804541c8eda0b4445393b226d65aa1918
MD5 ed1e85d8cc40e7f9393f7861539265d3
BLAKE2b-256 3b56f4921102a2c500a4ab672e11d1708767c0b8f9071707258eb99685607597

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 efcc1c6383dd140b9b1ffb387fc5c2455e9ca5a45d2e10f4545c747732328b0b
MD5 959efdc64ebe206446921e7aad2e23fd
BLAKE2b-256 87ab0f5da8975fa6e45f7fe0844b1663ca638e996967dd612346071e940fe605

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 9058ff03f8a0067d2512c0e15e47ce2c6e0282fed2cb578b4c259e0a48681146
MD5 c375d0df86772f5157d4ffe2bd0e4696
BLAKE2b-256 73950bb0140935583a150ffca9d7277799b17fb44135e4e4692e638e1fb08571

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: odin_voice-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for odin_voice-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e732eb595b0b05019d43727ea84f6723996f976f19296504ef3562781d471fcb
MD5 957c5e8aac9d6563c08eef7679195050
BLAKE2b-256 464d0091b9df01542a3e2b9d1c4bf813a62401afba7442fa0d47957782ae092b

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f1046658f548afb9da6adea79e5da88826c8bdf78909a52c25e189c8d05df70a
MD5 65c0c5118e849f2ecafa48d314f5bfed
BLAKE2b-256 4236554afff7d6e614b696b41e832ba89f2b4226f12db2fdc180c7390504e44d

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8a51429ccd5a051f5d1cd0389b58bc745c3ef423a95de1e07ffca0512f7c6394
MD5 464bff471830fe7d5cb3b045815b72e8
BLAKE2b-256 ee2c164a92a685d410f69d1d33c2ee68452ca7eeab710fa84031d0ac70e87b28

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 406858e8d87f50e708ab0b8f94b201e9e28fe14c6b23bfbd967a026c51b457aa
MD5 2356b0b0b91094435927f930cada7d71
BLAKE2b-256 0f2e86f56f8f6d157d24ad1af9bb3c7c2da548a205820d23a7f9d3276f405d36

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e5bfbd510d93d9d8a4765e152bd6e88aa62ecc16c0769f986da68f2ddb06357e
MD5 193c386a64515f5964282efa0e0ba5bb
BLAKE2b-256 2e0fc8a05e59fd5e492b711b9dcb4e946a4a9f2ac5c0824260b66fbd13c4fb7f

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 73f4e0a2be8376d771ab9e28cdca0714dc06a258906c6837863516c8080add06
MD5 5238cf4eaffd31cd08a79456a69ea66d
BLAKE2b-256 e9b93da19e02f6965b812cd8291a37b708ce7bf1fa6d44a604f98d4a09768b90

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f1253c72499953a84887291e26ced1d9ad1a6dd7c688206ed059a7760559bc58
MD5 f8cc9b8fbe3e8c80cdcb8ee8a8feaee8
BLAKE2b-256 57bdb82382b85f96fa5abb7e5a6e06f4394eb15b9c90dace087f992fd2574a31

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 adbaa37f217960a41f43938a565c8434da20328cf60d6556b4d3bc840eae8d31
MD5 60ec2142e0cbb8fd2eed9f9fea9f3afd
BLAKE2b-256 f7ed498b2c5f360c1f471dc78e1ec9b3ccbe1e8b4a18275770c6c5f60600aa7b

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: odin_voice-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for odin_voice-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 605e4f37599a99c50aee09d2f0a446555ad6024faef154585da71acee82016c3
MD5 a08b33c6cf5a38c3020ac23de9b89d33
BLAKE2b-256 6c1064a6414ce42dc8f44308de95eeb47bc1497eb1bcdefeb310512041d59fff

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 96e350dbf2f872d33f94cfa920452a2cdeb51560513990cf9384551dfbe855e9
MD5 41f4fb67ea4b7c8fdf919e99b3fc234f
BLAKE2b-256 83642423f853cad3f24cd31fcd3af1f138884eea20d478b6681a52e183eedf0a

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dfece45e01d4d1651e9d3d283b8ee7b1a39566163a1cb7010d160650c4a6467c
MD5 0d3735a4505758db03083edd1d9d60af
BLAKE2b-256 abd1bf4a0e0772d803af8edd34872466c741d5b43bc51acb001e39e6d5b449f8

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5c4627cb35d2479943dcb273544c5caefbac63bd8b9fb685e717d916815f89a5
MD5 880e003620d9e6eb6524afe2d96abd44
BLAKE2b-256 78adfd65ed1e63237db607ed0e9abf5058b2cef77a97eea5b7dbdf300f4a6a38

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a5328812f3f8993b170bb1284e809ef93874fd04208822ed70c0d49fbf39199c
MD5 bfceeaece3a754b6edc7aa2b52a83ee1
BLAKE2b-256 ca786953565ed79e1bebc528c3f690b4d01c8089f48e10c9259d89a53c9eba74

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c99d47319e0364a9579311886da27cfbd603a445704aeba94184ca2c98b204f7
MD5 a11cda93ab01a3b579d16f6c64437b44
BLAKE2b-256 b7bb4024e788191b0c8be246c1a2a91839b0a28bad5482853445e8decce78048

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8ef65712c9d8263c9e83cd7101b1d712ad11294ba846cddf34cf208e15f43e06
MD5 b060454ab992ac59a01ed6c28386e5c0
BLAKE2b-256 407feb99cab5d2c3fd37ee828e79d83af42e2130ec233016c4d58b87be7b3e81

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 1ef2f4f9c3b4ad22ec0aa830b101a4240955d9b617e38063ef16e3b8b9758a1d
MD5 501e1e199974ec4b814d1d4a2524e878
BLAKE2b-256 a877625e3c620a38213e3ad2888bc5c2b3427cba77a12ca767943bd6955e6806

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: odin_voice-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for odin_voice-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 310bb9a6c97f66cf2997882978187c30778d929ec6be0b28783a8334b62968e0
MD5 9c378043637385c224731c00db4dc070
BLAKE2b-256 451b808f1726089a517d54129ada8c6eb49d9b934572876abe3faacbdbf59357

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 159c85fe3e6ed8241960beb43b2e078a675c07d4233da87e1762ed0bc7a1ed99
MD5 7fc4628cddeb01cc85b0d6817f670430
BLAKE2b-256 202a075e46ecd19a7f54893d4f4d2466995a265bc409c24e1e9e1e568f1a1238

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f8eb213259b804ebae0c44eef14ca6bef851eb5b201dbdd5195d9fc6ca17e8f9
MD5 efc9cf0fe2cf5b586489fcf3136c444c
BLAKE2b-256 ab783a66a9ccf06e758ed0aab079ffaa80f61c4f106c3150c8d64b6d9aa21cdd

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 24804256cffabcea10e11b14f56e1bd446175b188b9a9e59655cc56e769d67dc
MD5 864102e46d66fe503b3f652208e6786e
BLAKE2b-256 00c9c8c9a9e38fb488dcdf45521e3b5d054d56c0577e1c401406fe19b5a88da3

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c376896b04253dfde5557aff5c7105582ea0e03858cfbfc9c90db5612e5f7a25
MD5 eb8cd93bfa03bf04cfd6bb2b96b119b6
BLAKE2b-256 6cdce5635f2845dfe80a15417f6278a9613883479bd7d06eaeb40b0122980995

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a528a63615adaa6ae30eef111c21635500b94cce95a6c6def8c23b636ea0bf08
MD5 8989d3c65fd4dc1b27cbfc7455e1bfe3
BLAKE2b-256 ede5a2448568497a6990473e7ac708114af3bd165538b3b780261d99984f9cbc

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 22fbb0a86fa74add00e857906e2135b9e9194637cf198ce98cb7f0c6ff7978cd
MD5 1fdb8fcd008e0e5b5f0f9cd5a668939b
BLAKE2b-256 2ea0ee6cecd54d419189c06f314a05d610d315bdb4e53278a71e54c87bf59ae6

See more details on using hashes here.

File details

Details for the file odin_voice-1.0.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for odin_voice-1.0.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 471c9b74945b39562d99c94ac398379ca509d1c1ca177c5a47deb00ce739e3d1
MD5 b86bb4963c14f5aa25956239c0922d95
BLAKE2b-256 de6c2f696ac301f44b820481fadc5544c1626347faafa5ba490de328b9fa3902

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