Skip to main content

Transform MIDI files into keyboard keys for Genshin Impact instruments.

Project description

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.

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

windsong-0.1.2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

windsong-0.1.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file windsong-0.1.2.tar.gz.

File metadata

  • Download URL: windsong-0.1.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for windsong-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4cfba33fdfea0747d7fec2f428c7dc02a5676fd4b686ea49bc0b918d07d91c07
MD5 90f8258edeceb2dfb101de3bcb5d392a
BLAKE2b-256 78250b2a06f88b8fd826a6744ea178f3b25b1f4aae2ccd945ce8c1bc56b6dc10

See more details on using hashes here.

File details

Details for the file windsong-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: windsong-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.27.1

File hashes

Hashes for windsong-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b53020fffe02a51e3170619d374dababb2566812793cc00fd3585cc09d5fdabe
MD5 6afa1788bcd34912430e4321b410eefe
BLAKE2b-256 b9ab892069431f13e2ba44e9f5bc7efc3a49064a77e51445ba76ba43dcfae2a6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page