Skip to main content

YM2149 emulator supporting YM files, OSC to JACK, PortAudio, WAV

Project description

pym2149

YM2149 emulator supporting YM files, OSC to JACK, PortAudio, WAV.

Install

These are generic installation instructions.

To use, disposably

Install the current release from PyPI to a virtual environment:

python3 -m venv venvname
venvname/bin/pip install -U pip
venvname/bin/pip install pym2149
. venvname/bin/activate

To use, permanently

# Tested on Linux and Mac:
pip3 install --break-system-packages --user pym2149

See ~/.local/bin for executables.

To develop

First install venvpool to get the motivate command:

pip3 install --break-system-packages --user venvpool

Get codebase and install executables:

git clone git@github.com:combatopera/pym2149.git
motivate pym2149

Requirements will be satisfied just in time, using sibling projects with matching .egg-info if any.

Usage

# Play a tune written in the Lurlene live coding language:
lc2portaudio 'contrib/Jochen Hippel - 7 Gates of Jambala Level 9.py'
lc2jack 'contrib/Jochen Hippel - 7 Gates of Jambala Level 9.py'

# Play a Dosound sound effect:
dosound2jack contrib/sounds.s snd19

Commands

bpmtool

Show a table of speed (updates per tracker line) to BPM.

dosound2jack

Play a Dosound script via JACK.

dosound2txt

Render a Dosound script to logging.

dosound2wav

Render a Dosound script to WAV.

dsd2wav

Render Dosound bytecode to WAV.

lc2jack

Play a Lurlene song via JACK.

lc2portaudio

Play a Lurlene song via PortAudio.

lc2txt

Render a Lurlene song to logging.

lc2wav

Render a Lurlene song to WAV.

mkdsd

Compile Dosound DSL scripts to bytecode for playback on a real Atari.

ym2jack

Play a YM file via JACK.

ym2portaudio

Play a YM file via PortAudio.

ym2txt

Render a YM file to logging.

ym2wav

Render a YM file to WAV.

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

pym2149-42.tar.gz (827.5 kB view details)

Uploaded Source

Built Distributions

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

pym2149-42-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pym2149-42-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl (1.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ i686

pym2149-42-cp314-cp314-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pym2149-42-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

pym2149-42-cp313-cp313-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pym2149-42-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pym2149-42-cp312-cp312-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pym2149-42-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

pym2149-42-cp311-cp311-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pym2149-42-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pym2149-42-cp310-cp310-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pym2149-42-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

pym2149-42-cp39-cp39-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64manylinux: glibc 2.5+ x86-64

pym2149-42-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

File details

Details for the file pym2149-42.tar.gz.

File metadata

  • Download URL: pym2149-42.tar.gz
  • Upload date:
  • Size: 827.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pym2149-42.tar.gz
Algorithm Hash digest
SHA256 cd98f6a180424a8b3b8b459373cb4a6ef9a3963550e7d03e14a526dc314454d9
MD5 318a686a8282d3e4e5ce536573f63b37
BLAKE2b-256 8c39555460e38f3bb8e13e76e97b40ec1055adee68e9a4ce790317e685887156

See more details on using hashes here.

File details

Details for the file pym2149-42-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2a7d365a7c6d32cf4d88f221809f472d8b57fe09cb1b082d46ac55e5fdefad70
MD5 150e0c0f23c281acdfc655fa8dd58b51
BLAKE2b-256 6ae11def5717df53b26683d6e2f3b00cbb4f882ddb556abdd3ef8984ae57b944

See more details on using hashes here.

File details

Details for the file pym2149-42-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for pym2149-42-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 924697fbb87a34ebd0a80bdb2aa07aa454d479dc55e36408b93be5a01f984484
MD5 b921b67f9c083bc80a896c4af144ebde
BLAKE2b-256 3a0dc18d923767b3320f092455305bdb9eada98a4241bf5764cf12d0885f528d

See more details on using hashes here.

File details

Details for the file pym2149-42-cp314-cp314-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp314-cp314-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b6b7f911410d723d7b6b20f8cbb58f9675db78becf34329383bb66d6e5106294
MD5 cbf42a4f44888df5974082d3adf5c151
BLAKE2b-256 6dc11fd76aa72c9c9bee37a71cdb1f04f545fcd0146f54dd103a277fe3f3a908

See more details on using hashes here.

File details

Details for the file pym2149-42-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 809484d8e9acc6358b841f4af7b53f13d36d31685983a38098cf693aee0549d2
MD5 1c9207d8a0dbea51655ecd2dc6385009
BLAKE2b-256 881e1f2ecefdac5ab5ae9c335f8c342a658e780a7da05986f9a302296cf26d75

See more details on using hashes here.

File details

Details for the file pym2149-42-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cff8c207c5739a6fb20e63e69b529de0bf16cf093b9593dcacba07a298f5dc93
MD5 dd1224728c6b6999dfcb64fa6eedc827
BLAKE2b-256 4c8318422feed0bea79a8943b2890ee5adb6c9198c41853eaf5d100693ab80c2

See more details on using hashes here.

File details

Details for the file pym2149-42-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for pym2149-42-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 1e529e5b8033c7c9e915230bf50ed97ed9e39565ecebc92713f25e0fd58c506e
MD5 95b5c6d24c0a4d8f1f68ef0f6a3f9651
BLAKE2b-256 da574caa6001432fcce8848955a58881201062969887d7e4b2e4fbca7c2387a7

See more details on using hashes here.

File details

Details for the file pym2149-42-cp313-cp313-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp313-cp313-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 7cacf4f4232d137af94b74604567b9c165ff7d3b0a7e712215ae94788ac59df2
MD5 839c92ec1fe33e1104d72b51897103a8
BLAKE2b-256 b07d8f91678686c203cdeb4b936804786496c963b7a3693253151debecaebe68

See more details on using hashes here.

File details

Details for the file pym2149-42-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 619bb1da7407f2828d1437c3b35b5a76d81285bd7b3bf16f7f5ac07e054261fc
MD5 bd5a54d9b2e9adbfb357f7663befdce7
BLAKE2b-256 032b3f3b764a84be50d7a25929feb1527028736a277721cf0abe07c345ad21ef

See more details on using hashes here.

File details

Details for the file pym2149-42-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6b7901c563d575ffdb83eba2c7c595f2f1d5ba0e50316c99decb755be8e35a2d
MD5 d4edb20dae53a86c53faddb2352020e2
BLAKE2b-256 92b4fa6e0c4d9afc210dcd31953edfcfbd0e716e29060234d47606a23f7a1e99

See more details on using hashes here.

File details

Details for the file pym2149-42-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for pym2149-42-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 87f13c9d111134ad26a1112554b05b2a7fd655699e768e88daab5e089f4aa9a1
MD5 59f2c6d4c9d8c655c606b7134e4070f2
BLAKE2b-256 4766a4343c9dbfd7098f4cc511832d9f521bf3d20467f587da22c8d425c636f2

See more details on using hashes here.

File details

Details for the file pym2149-42-cp312-cp312-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp312-cp312-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 fbbc56b439d21422b749c226d2d564a04a11b813ee66f5d10616bb8b852306b9
MD5 f4e6b4d7168ed66b338731d550964825
BLAKE2b-256 5e67c36d781eb76b4430a2c737408fee3af6a419a915118abaee2d23d33cfcdc

See more details on using hashes here.

File details

Details for the file pym2149-42-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 220e6a69a9d8d54c3f8186771b93a84bce072109810e8c81f1b64d1bef91f631
MD5 cfcf9c2bfdb9859215a77389f99405ea
BLAKE2b-256 6f341676399b55e83074ca3f85c9fd24a9ffb333a7e5c36f31bdb6b2dec25c7e

See more details on using hashes here.

File details

Details for the file pym2149-42-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a02888a83a0fc6d5858a5c1762beac2a02faa0cd956cef57e3809fd8128d7a78
MD5 5cd487d86a6fe28a507cf937cdec5863
BLAKE2b-256 028e7064eddc6059517f92b912d73c66ecc3db87898b222e1cb80d6b33605ce0

See more details on using hashes here.

File details

Details for the file pym2149-42-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for pym2149-42-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 98d01e522b79b80be2ad881888f2cbd5d938e24e15f4d0ed7f72bc39baabf266
MD5 75b935307f9cdfcf3eef807da444c995
BLAKE2b-256 3e95ebf83a93bea61b52dca3de256c3dc370e7e3f172409381df21c3f3f6e4ad

See more details on using hashes here.

File details

Details for the file pym2149-42-cp311-cp311-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp311-cp311-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ae5584a4ee6ef83fabd95e8085d3c53b135a564cb1800a96696c22e557079570
MD5 753f14b18f62a94e1a7818ddbe5e9095
BLAKE2b-256 4e3a3fd416d0840a2e7a1792749fa2d0e36b5d0d78671f27a0ee174518d21374

See more details on using hashes here.

File details

Details for the file pym2149-42-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 60c1d255be9353e584a64d2357d1729b4c2206d0a16b4449e4a5e04239669e0a
MD5 64608da9d80850917326caf24a12d280
BLAKE2b-256 b0db36fe50f5fe40cce1752fb7241fd785943c6ac73633dae4246cb8ef920106

See more details on using hashes here.

File details

Details for the file pym2149-42-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4426cb42c80447f9ea9b3dd3b560a48ea07d6f97cebddb45a0f69d4972491ed9
MD5 d77f2d03ef3ef71cad72d705718a29aa
BLAKE2b-256 e60be12bd12dada936f6ee7c2f85d9f436d44c69791ec323c9d7b5d384d90306

See more details on using hashes here.

File details

Details for the file pym2149-42-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for pym2149-42-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 b71b2ed72949e8c6ab50e798c6d196cadadd59abe549bc60f75a8c837b1e79f7
MD5 dda77f173c49df349102c1f91f802b2a
BLAKE2b-256 f1e343b92dfccf740a6af41253a7e52a13863d8a89a79d062b28f40290b56981

See more details on using hashes here.

File details

Details for the file pym2149-42-cp310-cp310-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp310-cp310-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 bc65854005924c1e9987512bb3ce38be877f4b3e4788a01b04b00b43c09a83ad
MD5 36af784b809d0a875ee48419983aabb2
BLAKE2b-256 743d3d33764259e0fd5b0b8cc963f8f69bc5487da51c540c33d9e72fabfb3f80

See more details on using hashes here.

File details

Details for the file pym2149-42-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 0256e8de6b8ad9032a45b082449d52cb4a8746855d491d7cc1d5416c29915090
MD5 43d518efebe99914b61df109f8a1ff8d
BLAKE2b-256 9cc6924333b51ddf9c389a3cefa5e5ff5bd5ebd784d6dfc3bb39286246861994

See more details on using hashes here.

File details

Details for the file pym2149-42-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4c1d4197f3b158d7dbd8b9f1d269cd0b39c7900211b44ddf2180da5ee293d1d9
MD5 06e7e17014595a349334fd8a7cb53c6e
BLAKE2b-256 eb15ea52a08d9b6e4109a4157f2eb2c267f64836ab2bed0023a6e10d8ac6270d

See more details on using hashes here.

File details

Details for the file pym2149-42-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for pym2149-42-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 4752defd416acf1e1e1ff6950405411977ff6529cd2c223246b7af296fa761eb
MD5 a71f354e40cb288f81d549e2fef4a69e
BLAKE2b-256 09b86999e64be7e1e88deb578b0f8120b87b118ced77474fbde0b908a956bb1b

See more details on using hashes here.

File details

Details for the file pym2149-42-cp39-cp39-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp39-cp39-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 0a9b287bc58c9c1a809a493e7b38437a0d9bc9bebf48aefc3e54b9ba6db6238d
MD5 9315d9620a945abc015f4c349d336eca
BLAKE2b-256 fd82f63aed686f79a8ecde1603485933aa360a7d21ac1d2e7eed0c9b08472a4a

See more details on using hashes here.

File details

Details for the file pym2149-42-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-42-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b1ac1658c9e7eb1a34cebc2891e1b364ab3895dd4ec5782c6833444f6c084885
MD5 95904d1a04f5516d0668369a99450337
BLAKE2b-256 7b1e0f60ac4af75325c0d954152d1df8abf9ef1efe09616efa21b628243b63c6

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