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-39.tar.gz (827.9 kB view details)

Uploaded Source

Built Distributions

pym2149-39-cp313-cp313-manylinux_2_34_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

pym2149-39-cp313-cp313-manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

pym2149-39-cp312-cp312-manylinux_2_34_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pym2149-39-cp312-cp312-manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pym2149-39-cp311-cp311-manylinux_2_34_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

pym2149-39-cp311-cp311-manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

pym2149-39-cp310-cp310-manylinux_2_34_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

pym2149-39-cp310-cp310-manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pym2149-39-cp39-cp39-manylinux_2_34_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

pym2149-39-cp39-cp39-manylinux_2_28_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

File details

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

File metadata

  • Download URL: pym2149-39.tar.gz
  • Upload date:
  • Size: 827.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pym2149-39.tar.gz
Algorithm Hash digest
SHA256 eeed4508001442087469f56a4b77fac3e121d69cde22b47223cca4ba84aa0fc0
MD5 afdcdcd4d19fcf405212a3ae1eacde67
BLAKE2b-256 c242f641f4eb2e5e3ef1d1468fafdad47a8553cbd85a5053060f08d842ad627c

See more details on using hashes here.

File details

Details for the file pym2149-39-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-39-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 dcc25ebd30795984d4f4be4ad7ac0a6fceee09c270dc44f5b62001efea9f0d34
MD5 d68b285e5440c6229f89552d5433e7db
BLAKE2b-256 a705682518eeda1ffb2231d3b3a58676f711255e8a41b67f9d59c72257187365

See more details on using hashes here.

File details

Details for the file pym2149-39-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-39-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dacabf421954f062345221a4b0d74ebe77422a1aac904b8470e35b177728b04c
MD5 86c2fa2bcc4b7386d59435591e42cd70
BLAKE2b-256 b43dd545d3f8ded397e3c52bf3bb13f7c1ac08f4cd42b6eb3f67393ba7b8af52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ffbecd9c7f76f5ab16b78279c31812c470c4cde5ec172ef95e172bcde01c2e2f
MD5 fbf8a73ac44bcdd938187007d3ca4ca0
BLAKE2b-256 808aeb8621a0ecc5cafb43755c583f1a181b96bef3aedbb95f6dfa8a287a44ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1361546a4b318fe5abfdb3d87a4240fb70e7b50c33b41ad17255d30f45593e16
MD5 c0a0ae863c733e26edfc6a2df8dcfdda
BLAKE2b-256 30159b2a8a37d4a13740311297516402bf9ad9b2559c63891750310eb7fbcf4e

See more details on using hashes here.

File details

Details for the file pym2149-39-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-39-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 49822a8ffeffd212c9f3b3ae984ca43e682cfafc07ff10240ed63e7fa59251c8
MD5 bf149e8719011bec6db320e046c40a7d
BLAKE2b-256 ead3afb0c252ecbbf4a1af6b7e1f9ef6fae58e32c19e9945e06cacb0a1f0fb91

See more details on using hashes here.

File details

Details for the file pym2149-39-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-39-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05b7b33b74d5a72277300825103481de9a874cc87543c59eefcd3e2322743963
MD5 bf9d704d107cf0b1e84eed3980fac8bb
BLAKE2b-256 2a12e27ab6105a47c6b67c6563370158f0ac6ab3908b5058b3a6abbe98811aa5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0582391d2da88b6f1d3b3389ba7913b5f226a2766485983d9eed77801da70b1e
MD5 715e9652c0763ca83313266883c90b8a
BLAKE2b-256 31f98bd5434a56c99b541ad23b4061474891e3a1ed65a3f2c3336d5f71f994dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c7f4d15b932a672b111126a54533d9f02509e11cc5549c8caac9b94628cd3835
MD5 7af54c17989d6cb477c0877332ce2a62
BLAKE2b-256 b371cd8f8ff6693b8fb34e3751a00a37fc98970de8ffe0bcf61cb11d761c8834

See more details on using hashes here.

File details

Details for the file pym2149-39-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-39-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2a398578666c71b0608bf011b7ec1e80c25d10e0a13955d9027b8bf2b625284a
MD5 d691179b484ea3f200d084ccfe047a76
BLAKE2b-256 d4c4fbef7266d08eeff002a0e3cab4644b2d8de7155ca9a907f2949059e76370

See more details on using hashes here.

File details

Details for the file pym2149-39-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-39-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8213fda85365b3481ad7fe0e57a9e56efc75be6033a42b7ec8091952cb5e54b2
MD5 c0312991521a6f67f797c36b1fd3dd57
BLAKE2b-256 6dc15c0dd23e2c2c6ee667d1a183f01b978b071ec38ddb4b9d1b7cb066eec1a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b96b4f0fdb23d8e20a3baffce635a9bde66e97bf4f1c3414401a2fd56410d7f7
MD5 7e8ed40ceee1b11f5bc66fe85eb88fa7
BLAKE2b-256 360a2905f12c6a13940035f19114cc86258074a7890d6b57c4f2b9e27f738677

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6dfa1b6641d945ec9cde45b6e51044f7c2ec970188254201d66fc9e4abacd00b
MD5 f8a4d5e15831d3e2281052438e67e446
BLAKE2b-256 395fa0b81f78da567e1a9ae32510e55438b94dd61ef9f45ac7119f5f424f592c

See more details on using hashes here.

File details

Details for the file pym2149-39-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-39-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1008904efc5fc80dfd63f5d0e0f8369833d99e36fb5886a0bcd5c2efcb8f2e20
MD5 a5a8408578c9b771dbed319ef9f377c0
BLAKE2b-256 179a4f4da6ed63b934e52fef54b8df3330d9acdfcf9d621382f01133e73cd40c

See more details on using hashes here.

File details

Details for the file pym2149-39-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pym2149-39-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 96334805d7b5f0be7bf81f5772469c0ee8300b621bb55c7204aa1d8fdceef878
MD5 86f527c27b5da5f679d2429fa0710c71
BLAKE2b-256 4a80dfe1a91d4b03f8821bb06122ec88d101833ba59b47687bcd6f5691c2dc82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc114cb517fcbfab56a3c8e0e29436d913451271aeb33f9eac71678113a141c5
MD5 49f45907ae21496df556d044e2808a8c
BLAKE2b-256 58b61c5a63de83241037a1ce9d5a9223753aed2d061c1ff0161e9188f5f16a24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4b4da29f4620fbf6ed79b28a683116a0313857473e54c6b751a0c354ebed2d27
MD5 b7a5853aeb340d0b5f990694c4d5894a
BLAKE2b-256 35a0977446468db1278dd16ca245fbce83e4bd9628f7f2f7152a35870043a906

See more details on using hashes here.

File details

Details for the file pym2149-39-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: pym2149-39-cp39-cp39-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.9, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pym2149-39-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 592205e995b70f2c29f4498e4b24f55129a2dc1ede67e4abff3311ebaede3b66
MD5 1600499824b0866366ad655ef4b1a65c
BLAKE2b-256 61f345cc578304beaad7ee986d4edcac5751c3004b0c0925934263aaa1c7baf2

See more details on using hashes here.

File details

Details for the file pym2149-39-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: pym2149-39-cp39-cp39-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pym2149-39-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5c3bb804b942f5376bc247ef29599423a05643e8fd2a077379f3ab42403f75fe
MD5 d8f47c8a1e66fbf3451c285c7c7cccd9
BLAKE2b-256 4de261351133f20a92594e3fe49c7d4bdc244106912bd2ae92dace0988bcd311

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 abaa5970c523a5b574f947e375e94b190d75351c12bca6ee684b24d390d0c412
MD5 ba0e7383cd773fb8e2b4326692476779
BLAKE2b-256 0ade4b90580b4613f20be7cc2213a2829ff0f4619240f6be94bad5cb567fb3c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-39-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8143c4f11127e0320400143d8eaa48a51d47638073034cecff7c2d45c8da0b97
MD5 b176323152f150ce80d7906fe2cea750
BLAKE2b-256 d459362d4f3d4f65d9ee8d7b46c4aa35d9e97af4136ef63761274d765fff7f11

See more details on using hashes here.

Supported by

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