Skip to main content

TJA file parser written in Rust, working in Rust, Python, and WebAssembly.

Project description

tja-rs

An efficient TJA file parser, written in Rust, that supports Rust, Python, and WebAssembly environments.

It is highly optimized for speed and includes features such as a synthesizer for synthesizing music along with don/ka sound effects from a TJA file.

It's fast! Check out the benchmark.

Building Instructions

Rust

The Rust target requires no additional feature flags.

To build the library, run:

cargo build

To build the CLI tool, run:

cargo build --bin tja

Python

We use maturin to build the Python package. The Python package requires the python feature flag to be enabled.

To build the Python package, run:

maturin develop -F python

WebAssembly

We use wasm-pack to build the WebAssembly package. The WebAssembly package requires the wasm feature flag to be enabled.

To build the WebAssembly package, run:

wasm-pack build --features wasm

Performance Benchmarks

The parser is highly optimized for performance.

It can parse a typical TJA file in under 1 ms in full mode, and in metadata-only mode in under 5 µs.

For detailed benchmarks and comparisons, check out our benchmark report.

To run the benchmark:

cargo bench

Synthesizer

The TJA parser includes a synthesizer binary that can synthesize music along with don/ka sound effects from a TJA file:

cargo run -F audio --bin synthesize <TJA file> <music file> <don sound file> <ka sound file> --course <course> --branch <branch>

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

tja-0.3.2.tar.gz (179.9 kB view details)

Uploaded Source

Built Distributions

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

tja-0.3.2-cp38-abi3-win_amd64.whl (188.0 kB view details)

Uploaded CPython 3.8+Windows x86-64

tja-0.3.2-cp38-abi3-win32.whl (179.7 kB view details)

Uploaded CPython 3.8+Windows x86

tja-0.3.2-cp38-abi3-musllinux_1_2_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

tja-0.3.2-cp38-abi3-musllinux_1_2_i686.whl (2.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

tja-0.3.2-cp38-abi3-musllinux_1_2_armv7l.whl (2.5 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARMv7l

tja-0.3.2-cp38-abi3-musllinux_1_2_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

tja-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

tja-0.3.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.6 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ s390x

tja-0.3.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

tja-0.3.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARMv7l

tja-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

tja-0.3.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (2.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.5+ i686

tja-0.3.2-cp38-abi3-macosx_11_0_arm64.whl (308.4 kB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

tja-0.3.2-cp38-abi3-macosx_10_12_x86_64.whl (316.2 kB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file tja-0.3.2.tar.gz.

File metadata

  • Download URL: tja-0.3.2.tar.gz
  • Upload date:
  • Size: 179.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.7.8

File hashes

Hashes for tja-0.3.2.tar.gz
Algorithm Hash digest
SHA256 988681cc9886f45851f332fee6d809cae169e7b3333469d09f2f96035d3baa0b
MD5 d472bd2016c02096d47a6a1113f405f1
BLAKE2b-256 5bee1ac825271aaa8c6d436df71937fb72a38de75f65b3bf7acfc88fff77cf7a

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: tja-0.3.2-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 188.0 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.7.8

File hashes

Hashes for tja-0.3.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3be1a45d13d32b83c0b1657f17db381987e8e3a29505c059fb4ed8a8810ae322
MD5 92706a8f11b37f5b9997b6db00ee3f26
BLAKE2b-256 fccd1decca2bbfdad1b828cd7301ff287334149c73d91e55e0a800ca13bd7606

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-win32.whl.

File metadata

  • Download URL: tja-0.3.2-cp38-abi3-win32.whl
  • Upload date:
  • Size: 179.7 kB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.7.8

File hashes

Hashes for tja-0.3.2-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 281e4496e487db3b63b67806a07e45bd26b917abeb4aeaf3a87104a20c2a8941
MD5 e6e62af2639499cab48562455e7c6000
BLAKE2b-256 268977724708435fbffb10ab89ec3bfbbdc9558ef05c5e2578e86eaa9f12504a

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9eef44cd8b2055c31bd5993629050108a40477fb8e6d70608b6a1b768a3864e8
MD5 18a1431f19a3f77fe18c13f336f2305e
BLAKE2b-256 9b9ffc26e39087f37220778c9300ea40f9812450149f9a9ab9900e2400f6b488

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

  • Download URL: tja-0.3.2-cp38-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.8+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.7.8

File hashes

Hashes for tja-0.3.2-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8c151437186b0582505eae533e6e25216d8aa5082b9338a7385592807cfd0bff
MD5 cf388cfc17f9738981faec633c900bba
BLAKE2b-256 c65d618ceda4212dff6824f4c22f01959b0b08df8710f84fe85c20734570a8af

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 84f0d1724328a7ca0350daa0e30277ac2210edc54d5284f063c61b3781eaaa35
MD5 7473b097d1bc46c272fb80cb544d97ca
BLAKE2b-256 aa5022a3d8db9ce8e96782b18b9f9f5872311c556630f8aa417b9331445b6f20

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 af70ed1315821f7d491b23c277ada758549d868d43932758f2b034815041cf80
MD5 ce3624007d033d42aaae5077046361d9
BLAKE2b-256 0c002633bd6a60cccf1bc32e5d6a92d627a1f46d5b6c7f2500cf92bdf6031ac7

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6fcac6675eb133afa123d3024a29eaf89de69a22c14da1c89aa239d7a481ecb5
MD5 807f7c2a55b1cc4b289b7c750f8c5505
BLAKE2b-256 ceb00ef8142e1f0b389f91a6242f234961dee1e9b0a39d8f159ebb7345ecb68f

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8cf0bc3e987c3e8c87a07de3fa44acf0738f84b2b219ff6f38ef8021c2dc38c7
MD5 6cda35886d34e6c1e21f53f9fc112d33
BLAKE2b-256 123ef3a982ebaa8eafc3b94711e5d29834af4ee68e37ec998e39a4386140a82e

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4cf0995a131eb6f400f1e6aaeb8fcca598e6d3c233d9393f7c854f637d2e04fa
MD5 36ecad78e2dff001492390971d22c60a
BLAKE2b-256 53af200181af2d5df46ea271ab252602f68c2453ff17b0d73d11c89e0a4de286

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4ef972f1e8720aebd4be1aad7ed209688679dff1ca9182b18cddc6f060f27e49
MD5 f2a228d069df4bfc1c8b2a8b98aa8d3a
BLAKE2b-256 a5fb2520250043a6e0e9a0356a85fe79e2b01e5b91e99cd30b892d454c1ffe6d

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9eb177b6948b4055333492335602eb705e50d77220f3fb4e6f43ec896642793f
MD5 d61ac21478f17d87354f1dfd79e36d4b
BLAKE2b-256 74814d5565cf8b79fd1537b05b71744becccdedba41346d295b58beae7c72140

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 d73259f14754a7a1aa617d9284a17435b43d5201437ac44f9f3a65a3feb7c767
MD5 af66f92c4e26f663969049c04ef9d19d
BLAKE2b-256 6618a70ad82e8ac320d9774fd31dc2eaf3210489af4d758e613e0cf930fa0eff

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c59e49afed748e4f0400358435e93fbbc72209274335d8551ced8097972b2c6
MD5 a76adbdeceef30df57fd35aa268cf9e1
BLAKE2b-256 132190dc4a3d721321dde5ea033d51b511724ac33431d23474bbecdb940d970c

See more details on using hashes here.

File details

Details for the file tja-0.3.2-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tja-0.3.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 19cec243587f8b1fd2bd363a257f46a618a002f1b5d4e5103f6ed6a075690705
MD5 9492fd0835db9096f431c9c69f66e7bf
BLAKE2b-256 a0f04a1e6af35dc060ed09b3b37bd8a338e1ad42cd5bf7dc19539999c5ed80e9

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