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.6.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.6-cp313-cp313-win_amd64.whl (9.6 MB view details)

Uploaded CPython 3.13Windows x86-64

soundswallower-0.6.6-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.6-cp313-cp313-macosx_10_13_universal2.whl (9.8 MB view details)

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

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

Uploaded CPython 3.12Windows x86-64

soundswallower-0.6.6-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.6-cp312-cp312-macosx_10_13_universal2.whl (9.8 MB view details)

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

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

Uploaded CPython 3.11Windows x86-64

soundswallower-0.6.6-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.6-cp311-cp311-macosx_10_9_universal2.whl (9.8 MB view details)

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

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

Uploaded CPython 3.10Windows x86-64

soundswallower-0.6.6-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.6-cp310-cp310-macosx_10_9_universal2.whl (9.8 MB view details)

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

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

Uploaded CPython 3.9Windows x86-64

soundswallower-0.6.6-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.6-cp39-cp39-macosx_10_9_universal2.whl (9.8 MB view details)

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

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

Uploaded CPython 3.8Windows x86-64

soundswallower-0.6.6-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.6-cp38-cp38-macosx_10_9_universal2.whl (9.8 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for soundswallower-0.6.6.tar.gz
Algorithm Hash digest
SHA256 8168996bf4a79d1481c20a33f84cbf8d5098a5b9780e6ad814613adbea93ce97
MD5 1f6f3dca82778c05c3a7843d3da7596b
BLAKE2b-256 30badee55cb193b3ec0ca65b4fed5c8f977327f5705cbedf623b2ca8a5b2120c

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6.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.6-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6937a7bd0041b61c4825eefb7f10ed3cf00580113ffb71378c9b31eaa362d4ca
MD5 91c964075a5695b5bf334265d0bf5ec3
BLAKE2b-256 f50bc5eb647e9a6155d612bc5374cd0890c441e94976135259ec21356f87a4dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d12b93257a938cf3c9966fcd477f26c62c64d05be738d4cc83532c7a176fc7a
MD5 c061eb3b2e0c64c7002db1fbae8a1fe7
BLAKE2b-256 822c28d360f13e1e07ab4b5120096cc96aa6c44d52b6647c0cd8b5692ada4b7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 50d0762818eea8dc4f59be70226d2f873c6fb584e5f114fae1eeaf38d34ee3f5
MD5 916cd8ef73b0ac2f1d7bdad5028eb8ef
BLAKE2b-256 885475e4ab2476c671000b8fa67f509cef648a40a955360ee42615b82d4f3121

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 40ae95e7739b89b46483c54fc89575a7c3d53ee7f661a8ca2cb512f88a8cb7cc
MD5 43741ccba50b2bd4bc063fc24bd99bac
BLAKE2b-256 12d3a26a2fbfd38d1a9ea4ae84991a2168246dc2d97878eac86d0305fbc22cab

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5533c4325f7615a9119230e6b7328dd15f47687b66ce1cb31491646e994a0cf3
MD5 980f53dc6a0ff79552c6297c77db68bf
BLAKE2b-256 91e79ea9b533faa8c7ec7c8f002b842dc001e2b8b1b254f51b7fdd7e56d4c6e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 7d2cb0f3370e27677dfdba386e27c03b5d507042a7501f6310375761af692300
MD5 e7dd6a7e50457029d946bf414472dcdf
BLAKE2b-256 272062e56737d3b4ff0fe0dc2e70e74b9ac70aeaf2193e647a0c374bc2066fa6

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f4b5e00372f2ecc41430d5cf0c300f9a57c6b8c9bc1e6e5b937947b080de315c
MD5 8b225aa1bbf43150442aca145e625d90
BLAKE2b-256 b8f50da5563d9acbb3065a35a075f438851ffe2d6fd938f5c05165997d2850c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76b81f41d02028b1294db7a65566726d3348f05ec022d15d88c01444a631847b
MD5 b1b9c7634d0a4c30f10eb5032df3e1a7
BLAKE2b-256 3c90e953e91c751f79360ac4e248d29613a54432932f8c74fac6f37b12a1ad2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0938afa6b410aaeab6087431e1d53b883c3d2760750f21e00ce498bdba8407b2
MD5 9d9ad0739d063d270430ba19415e6d6e
BLAKE2b-256 067c2312968286678e7f3dd592a510f0b9667741c34750ff9927cbfc270ecc93

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dda5adb460a28ce964c2b4ed57d6496a3c1556c0f81428b826a649f3dba1295c
MD5 4a4beaaa970dbc86db4b39cc69d86dd3
BLAKE2b-256 21822d474fbe94a2a8b6e1c4df58bb937240ce6ea374beef464de635d3950232

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cff0d00ea843e75597b45ad48cf69460a9c50cec6103846fbdb2dccc95c40c8d
MD5 aa0d7d02304bddbeee58eb20cedd4acd
BLAKE2b-256 825a568baafcb60e74012a955b387d5d4c2be1f918dcea27147d1f5495214af2

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 958bbf4d11ff54e1bb632c43f33c89f25ea697bbdd66037a86bee45b0b10bead
MD5 438edf6a5fad85d0b7ec4b5170ce7f91
BLAKE2b-256 13d08aff91129061b6fb6ac76ef7bf379716ac148f222307e9dacfb95d6a1989

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2578655856c29514384763245694de6090d7550eca27cfcb17f5b39ae77b87d5
MD5 fbcf3f3e90aced2d0f4cf12e46005c41
BLAKE2b-256 b36645cfae7692fed750f68abeaf1c94ee39c97b26a346c47a69643a9bfbddb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66bdae37743d5f12f0c0f781e662b22584d42a788cf8c4269591e01ac4a775ac
MD5 eeaea50d1eecd55b9431892c7a9aa8e9
BLAKE2b-256 ad4fe508a282618a31c539cd959a89b17accfec90296d6a12cb8cf75a6df4cdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 26329f1f665b3d4d206f955575572fa21da8b2a70b7008c101235cce3b6ac6e2
MD5 ea1542c88a9a6a2668e6a91a49a695d3
BLAKE2b-256 6af8f70b4b17cb19cb93d5e7c0da704855f03d0fdcfed0e028cca2166092c55e

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5cdad02309b865cf8391a32b90cdadb6e653078a27fb19a602567cf421ea2aab
MD5 2e7cea30583815ba7f0e3378d7e0b649
BLAKE2b-256 99cb6859ad46f6649f24de1038f1a60d652ca9098b5489057e1607899fb69733

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1ef35ceb70babfb22cded7793729f2033d2e250d7a85229015152a4ec1c3b639
MD5 ab26f14c22c0081dc38a7138cf0d8f6c
BLAKE2b-256 3fdc7b9bec22ddd1e98e43f9e824e60d56af006d3e807d4e3ffb9fe83e513687

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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.6-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for soundswallower-0.6.6-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8cd18e1acdde47f9891757a9fe8b9ffb38630df235a66131890b45d3cbeae0aa
MD5 ef4ae05be2d40db91514ce1d4a3ff991
BLAKE2b-256 25b89c132a9f2ed0d36ac2f9ed6ab922f7bc4b1096716bf4b9c45230b9c79ec1

See more details on using hashes here.

Provenance

The following attestation bundles were made for soundswallower-0.6.6-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