Skip to main content

windsong

Transform MIDI files into keyboard keys for Genshin Impact instruments.

Install

pip install windsong, or for debugging/source install:

git clone https://github.com/ongyx/windsong && cd windsong
pip install flit  # if you don't have it yet
flit install -s

Usage

Keys are dumped in the following format:

<track/part name>:
<chord 1> <chord 2>
<chord 3> <chord 4>

where one line is a bar of the midi song, depending on the time signature.

windsong <midi-file> will dump the keys to stdout. You can save it to a file by windsong -s keys.txt <midi-file>.

More details can be found using windsong --help. If an error occurs, please open an issue, run windsong --debug <midi-file> and paste the logs there.

Caveats

Some restrictions apply due to limitations of the Genshin Impact instruments themselves:

  • Only notes in the C major scale (C, D, E, F, G, A, B) can be played. No sharps or flats (yet). However, you can transpose notes with the -t option.
  • Notes must be between C3 and B5.

Any invalid notes are replaced with a dash -.

Credits/License

tests/bach_prelude.mid is synthesised by Roland Lopes, hosted at this link.

windsong is licensed under the MIT license.

Release files for windsong 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for windsong 0.1.2
File Size Uploaded
windsong-0.1.2.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for windsong 0.1.2
File Interpreter ABI Platform
windsong-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size:9.8 kB

Release files / windsong-0.1.2.tar.gz

Download URL windsong-0.1.2.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4cfba33fdfea0747d7fec2f428c7dc02a5676fd4b686ea49bc0b918d07d91c07
BLAKE2b-256 checksum
How to use checksums
78250b2a06f88b8fd826a6744ea178f3b25b1f4aae2ccd945ce8c1bc56b6dc10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.27.1

Release files / windsong-0.1.2-py3-none-any.whl

Download URL windsong-0.1.2-py3-none-any.whl
Size 4.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b53020fffe02a51e3170619d374dababb2566812793cc00fd3585cc09d5fdabe
BLAKE2b-256 checksum
How to use checksums
b9ab892069431f13e2ba44e9f5bc7efc3a49064a77e51445ba76ba43dcfae2a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.27.1

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page