Skip to main content

An even smaller speech recognizer

Project description

SoundSwallower: an even smaller speech recognizer

"Time and change have a voice; eternity is silent. The human ear is always searching for one or the other."
Leena Krohn, Datura, or a delusion we all see

SoundSwallower is a very small and simple speech recognizer intended primarily for embedding in web applications. The goal is not to provide a fast implementation of large-vocabulary continuous speech recognition, but rather to provide a small implementation of simple, useful speech technologies.

With that in mind the current version is limited to finite-state grammar recognition. In addition, the eternally problematic and badly-designed audio library as well as (almost) all other external dependencies have been removed.

Compiling SoundSwallower

Currently SoundSwallower can be built in several different ways. To build the C library, run CMake in the standard way:

cmake -S . -B build
cmake --build build
cmake --build build --target check
sudo cmake --build --target install

Note that this isn't terribly useful as there is no command-line frontend, and shared libraries are not built by default (pass -DBUILD_SHARED_LIBS=ON if you insist). You probably want to target JavaScript or Python.

Installing the Python module and CLI

The SoundSwallower command-line is a Python module (soundswallower.cli) and can be installed using pip. It is highly recommended to do this in a virtualenv. You can simply install it from PyPI:

pip install soundswallower

Or compile from source:

pip install .

For development, you can install it in-place, but please make sure to remove any existing global installation:

pip uninstall soundswallower
pip install -e .

The command-line supports JSGF grammars and word-level force alignment for one or more input files, for example:

soundswallower --align tests/data/goforward.txt tests/data/goforward.wav
soundswallower --align-text "go forward ten meters" tests/data/goforward.wav
soundswallower --grammar tests/data/goforward.gram tests/data/goforward.wav

Note that multiple input files are not particularly useful for --align or --align-text as they will simply (try to) align the same text to each file. The output results (a list of time-aligned words) can be written to a JSON file with --output. To obtain phoneme-level alignments, add the --phone-align flag. The JSON format (which has recently changed) is the same as used in PocketSphinx 5.0 and is more compact than it is readable, but briefly, it consists of one dictionary (or "object" in JavaScript-ese) per line, where the t attribute is the recognized text and the w attribute contains a list of word segmentations, with start time in b and duration in d and, optionally, a list of phone segmentations in the w attribute with the same format.

See also the full documentation of the Python API.

Compiling to JavaScript/WebAssembly

To use the JavaScript library in your projects:

npm install soundswallower

To build the JavaScript library, use CMake with Emscripten:

emcmake cmake -S . -B jsbuild
cmake --build jsbuild

This will create soundswallower.js and soundswallower.wasm in the jsbuild directory, which you can then include in your projects. You can also use npm link to link it to your node_modules folder for development Demo applications can be seen at https://github.com/dhdaines/alignment-demo and https://github.com/dhdaines/soundswallower-demo.

To run the JavaScript tests:

cd jsbuild
npm install
npm test
npx tsc
node test_typescript.js

And in the browser:

cd jsbuild
python server.py
# Navigate to http://localhost:8000/test_web.html

For more details on the JavaScript implementation and API, see js/README.js.

See also the documentation of the JavaScript API.

Creating binary distributions for Python

To build the Python extension, I suggest using build, as it will ensure that everything is done in a totally clean environment. Run this from the top-level directory

python -m build

In all cases the resulting binary wheel (found in dist) is self-contained and should not need any other components aside from the system libraries. To create wheels that are compatible with multiple Linux distributions, see the instructions in README.manylinux.md.

Compiling on Windows in Visual Studio Code

The method for building distributions noted above will also work on Windows, from within a Conda environment, provided you have Visual Studio or the Visual Studio Build Tools installed. This is somewhat magic.

If you don't have Conda, then what you will need to do is:

  • Install Visual Studio build tools. Unfortunately, a direct link does not seem to exist, but you can find them under Microsoft's downloads page. The 2019 version is probably the optimal one to use as it is compatible with all recent versions of Windows.

  • Install the version of Python you wish to use.

  • Launch the Visual Studio command-line prompt from the Start menu. Note that if your Python is 64-bit (recommended), you must be sure to launch the "x64 Native Command Line Prompt".

  • Create and activate a virtual environment using your Python binary, which may or may not be in your AppData directory:

      %USERPROFILE%\AppData\Local\Programs\Python\Python310\python -m venv py310
      py310\scripts\activate
    
  • now you can build wheels with pip, using the same method mentioned above.

Authors

SoundSwallower is based on PocketSphinx, which is based on Sphinx-II, which is based on Sphinx, which is based on Harpy, and so on, and so on, back to somewhere around the Unix Epoch. Thanks to Kevin Lenzo for releasing CMU Sphinx under a BSD license and making this possible, and Ravishankar Mosur who actually wrote most of the decoder. Many others also contributed along the way, take a look at the AUTHORS file in PocketSphinx for an idea.

This document and SoundSwallower are now being developed by David Huggins-Daines.

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

soundswallower-0.6.5.tar.gz (10.4 MB view details)

Uploaded Source

Built Distributions

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

soundswallower-0.6.5-cp313-cp313-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.13Windows x86-64

soundswallower-0.6.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

soundswallower-0.6.5-cp313-cp313-macosx_10_13_universal2.whl (9.9 MB view details)

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

soundswallower-0.6.5-cp312-cp312-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.12Windows x86-64

soundswallower-0.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

soundswallower-0.6.5-cp312-cp312-macosx_10_13_universal2.whl (9.9 MB view details)

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

soundswallower-0.6.5-cp311-cp311-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.11Windows x86-64

soundswallower-0.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

soundswallower-0.6.5-cp311-cp311-macosx_10_9_universal2.whl (9.9 MB view details)

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

soundswallower-0.6.5-cp310-cp310-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.10Windows x86-64

soundswallower-0.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

soundswallower-0.6.5-cp310-cp310-macosx_10_9_universal2.whl (9.9 MB view details)

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

soundswallower-0.6.5-cp39-cp39-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.9Windows x86-64

soundswallower-0.6.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

soundswallower-0.6.5-cp39-cp39-macosx_10_9_universal2.whl (9.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

soundswallower-0.6.5-cp38-cp38-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.8Windows x86-64

soundswallower-0.6.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

soundswallower-0.6.5-cp38-cp38-macosx_10_9_universal2.whl (9.9 MB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file soundswallower-0.6.5.tar.gz.

File metadata

  • Download URL: soundswallower-0.6.5.tar.gz
  • Upload date:
  • Size: 10.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for soundswallower-0.6.5.tar.gz
Algorithm Hash digest
SHA256 2573c12da2f5fd98fef659cd30af2b72e9125facccbe2e172def555047f7b620
MD5 c8b8e59d71f974a420e50c1c77b43d64
BLAKE2b-256 36affd30220c9e1140f21c731bd97a82ea91ad01326c541a05cafaeae6688370

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5.tar.gz:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 56e90f19df78a6c11d935b5c97ea4a419df32be050483bbf6be846df7f1cc408
MD5 66bebd4d93c3d644fbc29e19ea67c4fd
BLAKE2b-256 ecfdb968e54a167559ea3165fd0dc4526c002b8810aa6abd18112b38c242d31b

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 326d499300e2f1fc8fc7d335b48eefc4ff777af55df3db3d96b2a55687013608
MD5 20180058c80e86c7217609a9b67f6547
BLAKE2b-256 53f9ee7cf8502e3bbbf64544282b4a06e1ae36128f9792d78efb9681accec9d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 454e7ce81cdf6a4886d40c4abb5b3ac4b3f5ff98e3f2f2f1f104028b23cc681c
MD5 fc59a593d4e2387eac8621760935c1e1
BLAKE2b-256 0f70f26d74c6c0cd1bdb8cbee1080c8bb6fe1acb1d635c145a921eca83e146bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 687f5c070de91680170bb9ef95e8f899e7d5cef29a9e433472466a99c1eb522d
MD5 9ad56e553407de47b343519faf6f51b9
BLAKE2b-256 8374f1ea0c5b585995dca02106ebcf69a88c9b40de6cb1af13e2c0e2222f7b3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 45d25d5b3053ff8acb068a2b05d9c4fd0bd40a3ca0f55a93beb5bd6cbf68a182
MD5 8af417a1a774c89aabd0cab7567416cc
BLAKE2b-256 e649506a3082c5b3d58e583a02b238b126667311d0e7cef1d330bb1649297baa

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 0ebd5dc0be89b5876708e84af181117f6ee7d39ec88d04ba3ab32913d0f8b6cf
MD5 7f334e3eb74396c4982cb60a1ef2b627
BLAKE2b-256 1c4bd48d5816449cd723af930c918d79ef95d7a6bbd07617149cb0874123476d

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6edc594a3c09ab2599f59cbe8d39e1af0c3cb582f586bcf759cba7100f0a1ccd
MD5 e45b0350b0a2557a41d17cb6786544d9
BLAKE2b-256 b10a0816d05ce14032e1a07af80e11001df3e00e4bdb3dd6622a6be3b96a608f

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e43bb8b588426f58f0f722c99ea65d95e304da49f286f3b7b4fc021cd667f951
MD5 779181406e2735514a779e47fded5e58
BLAKE2b-256 c3aba93be448b7a6adb390aed7dcb269778ae1219caf47e982da170a1f92d451

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1238a95385fc4be1d63361e02cb10c919fe6056aa697fcfbde73906df7b844f2
MD5 b52de88a6cd8b00f50b10588936652d5
BLAKE2b-256 dc72abd758f8582ceffbdb54be434ed3f1e67dd10ce5fba2fa5b2499982232c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 74f22f85151d81fde38eda355d25c01ba90a66fd9fc6c70e060c3950b4207fcb
MD5 8aea4cdc3189285a31f0b0614f76fa7b
BLAKE2b-256 142d29090b877cc19c065d2ae54ca3156fbf72f161d41c5b3dc1400576817470

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp310-cp310-win_amd64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5b7f9521de80c507483856c8641be7d9ffabb44bc2135d5c75a386de8bddce7
MD5 39c00b9924c9424c5653db33e0f4a69a
BLAKE2b-256 9d80023f38c48f175acde01d16c8ef8473bc1c402e77932b7e1ab28ebe476afa

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cb9e317d29cc6af879a4e54e687291c86eb1f6c7749bf5099a5bdab188e7e774
MD5 27a106944ed37e65a70583633f270aa2
BLAKE2b-256 1a111833de8e2ba3a8b7e6a0ef127f792f0d0f58a9df6da335c4492d224015ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp310-cp310-macosx_10_9_universal2.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8ee4911e4d0436ba8847ddefea7967f75a50aa88f8814d46cc2ce5391ab9f524
MD5 82f767a9a3f4efb19a9ea3e564a8f7a2
BLAKE2b-256 04abe89d86a689604e981397f4383120cc64a5f2acd64a5cc9fac0f20de75c3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp39-cp39-win_amd64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e8d38b326265aa4ff4ece56fa99bc8c9e82b2db086cc08cfa80f82a43dc6469
MD5 69cd8fd3ba104f248c985dc2348058d1
BLAKE2b-256 8c0b5f1dec2d9a9b5182249ffa1feea8da677436805ed621c2ab25641bd45e80

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c4cbe3135f1e366b466fc59a3164e7feefa52c119b98f65467722a7b19b7f8a3
MD5 e6d88f73231b47116986d54ed95c684f
BLAKE2b-256 c7abe7b9ef30816a1d9958740f52b3e687fa5d4a5b5364fdd89882eb729f34a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp39-cp39-macosx_10_9_universal2.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9c37cc6529819f7801d12653e98cbc2582b957ed8d9e55ba3ab7dc842be03ac3
MD5 0b441e04b426f305add1629daf75c53c
BLAKE2b-256 e88f83aa47cab3a5fdf3bb3139284b3824797f3f02d458da211b1ebb587bfd5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp38-cp38-win_amd64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2d1af8dc6b11500aa81038e606c70c35dae0a51930275f30b96c3827fddda3b
MD5 132ad2f7ccf96553fbcfe7490c0658b5
BLAKE2b-256 da77d2f352538876282b4af74d0a2e441d6a54a2beedb8478947cf91c5cdcfb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soundswallower-0.6.5-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.5-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 03ed02d043c752e999ff585b9fbe52fc4ca38f8af6d24c1c0c564419b430ab07
MD5 4527c3c33e836c4e222781f1c58b04dc
BLAKE2b-256 8d297df196f9ecdd6ae3bed8018a680e93db4dc771b53194be9514da560787c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.5-cp38-cp38-macosx_10_9_universal2.whl:

Publisher: build_wheels.yml on ReadAlongs/SoundSwallower

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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