2025-12-19 22:26:19 -05:00
2025-11-07 16:47:38 -05:00
2025-12-15 18:59:56 -05:00
2025-12-19 22:25:45 -05:00
2025-11-28 22:37:18 -05:00
2025-07-26 17:14:03 -04:00
2025-12-19 22:25:45 -05:00
2025-12-19 22:26:05 -05:00
2025-11-21 10:47:12 -05:00
2025-12-19 22:26:05 -05:00
2025-11-23 11:15:59 -05:00
2024-08-20 07:11:56 +00:00
2025-12-18 23:32:50 -05:00
2025-11-24 16:39:07 -05:00
2025-12-18 23:32:50 -05:00

PyTaiko

A TJA player and Taiko simulator written in Python using the raylib library.

License Platform GitHub Releases Downloads GitHub Stars Discord Members Builds

Features

  • Cross-platform compatibility (Windows, macOS, Linux)
  • Controller Support
  • Low latency audio via ASIO or WDM-KS
  • Recursive Song Select Menu
  • 1080p Support (And higher if you give me assets!)

Modes

  • 1 Player: Single player mode. Default
  • 2 Player: Use both keybinds on the entry screen to access
  • Dan Mode: Access by creating a dan dojo folder and placing dan course jsons in it

System Requirements

  • Windows: Windows 10 or higher
  • macOS: macOS 10.14 (Mojave) or higher
  • Linux: Ubuntu 20.04 or higher (other distributions may work but are untested)

Note

: Operating systems below these requirements are not supported.

FAQ

Q: I'm on Windows and my latency is really high!
A: Change your device_type in game settings to WDM-KS, WASAPI, or ASIO if your computer supports it

Q: I want to add more song paths!
A: You can either append new folders:
tja_path = ["/run/media/yonokid/HDD/Games/PyTaiko/Songs", "Songs", "Cool Folder"]
or replace the base one:
tja_path = ["/run/media/yonokid/HDD/Games/PyTaiko/Songs"]
Just make sure to use / and not \!
Q: I'm trying to play on Mac and it can't open!
A: Delete your installation and follow these commands in the terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
git clone https://github.com/Yonokid/PyTaiko
cd PyTaiko
brew install libsndfile
brew install speexdsp
cd libs/audio
make
mv libaudio.dylib ../../
cd ../../
uv run PyTaiko.py

Installation

Pre-built Binaries

Download the latest release for your operating system from the releases page.

Windows

  1. Install the Visual C++ Redistributable from Microsoft
  2. Run PyTaiko.exe

macOS

Linux

  • Try running the compiled PyTaiko.bin binary
  • If that doesn't work, fall back to running with Python (see Building from Source)

Building from Source

Prerequisites

  • uv package manager
  • Python 3.12+
  • Git

C Libraries

sudo apt install speexdsp libsndfile

Some distributions may also require patchelf and this symbolic link:

sudo ln -s /lib/libatomic.so /lib/libatomic.a

Build Steps

  1. Clone the repository:
git clone https://github.com/Yonokid/PyTaiko
cd PyTaiko
  1. (Optional) Compile audio libraries:
cd libs/audio
make
# Move compiled libraries to main directory

You can also reuse the DLLs/libraries from the pre-built releases. This step is required for MacOS.

  1. Run the game:
uv run PyTaiko.py

Creating Executables

Windows/macOS/Linux

uv add nuitka
uv run nuitka --mode=app --noinclude-setuptools-mode=nofollow --noinclude-IPython-mode=nofollow --assume-yes-for-downloads PyTaiko.py

Controls

  • Press F1 during gameplay for quick restart
  • Press ESC during any screen to go back
  • Generic drum keybinds can be customized in config.toml or through the in-game settings menu

Contributing

Ask DeepWiki

Contributions are welcome! Please keep in mind:

  • Be mindful of existing built-in functions for animations, videos, and other features. Nearly everything has been abstracted and the libs folder has proper documentation for usage.
  • You can also check the DeepWiki page for a detailed explanation of any code.
  • Check the issues page for enhancements and bugs before starting work
  • Feel free to open new issues for bugs or feature requests

Known Issues

See the issues page for current bugs and planned enhancements.

License

This project is licensed under the terms specified in the LICENSE file.

Acknowledgments

Built with raylib - A simple and easy-to-use library to enjoy videogames programming. More credits coming soon

Video demo

DEMO VIDEO


Description
No description provided
Readme GPL-3.0 1.3 GiB
Languages
Python 88.3%
C 10.4%
Makefile 1%
GLSL 0.3%