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

Uploaded Source

Built Distributions

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

pym2149-43-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-43-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-43-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-43-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-43-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-43-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-43-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-43-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-43-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

File details

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

File metadata

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

File hashes

Hashes for pym2149-43.tar.gz
Algorithm Hash digest
SHA256 aeb81ab50891a659f5d54450b4ab782d976e055c28f3eeca4434d18a2edb61bb
MD5 9cf36bc96ec48b0f656bdcb66215536e
BLAKE2b-256 7747c15b6877347797408a94c6f441a5c9be9e21c80991104026920c77cef8be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 4de8072a00368dddd113c40f560bfb375f2b46c8c95cd90b8ebab2203e003a36
MD5 50632329ad46f8ccae8d74431dbaa2ed
BLAKE2b-256 1789053008f50f02b5a2b7145c48cad10e53df98089fbbd1acfdf68c9dab4767

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 78c85c309daa92ab12dc9963bc3174160f3ef445b0b1b4ab6520b235ace835f8
MD5 a3b9803deeaa002137a8fb0152676c02
BLAKE2b-256 849c76854ceb69ae540921807c5d5e7b84b03e2a502e31173fad98e4622fd88f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 588eb64e79dab12ca7bb7c2f46248ce4a5d32360e96d41b1bb8a075a2712aca1
MD5 de22ad1f157773eed717d6940a738b29
BLAKE2b-256 9ee2deaba3cd9d84d5eadb4feca968fce6348ed486eeb1e4d7838b691e61c22d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 123383be76e7dbef583f5388e541abecdf8be7510a4c5c84a5f09cc30b102df4
MD5 aa30d5fd07ca74a7fd4143ee1f9d76e8
BLAKE2b-256 413d182a25c1d848b3ee139cf5df050131a64f157d1085de9b193cab55d21334

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 71284758098b5abf7ff7ce58b957c602bab25b7d95690a2bc1e9b4ea3f27c865
MD5 a91f8b29b495034b2e1668aace26da89
BLAKE2b-256 935dbfd4acd0854048f0502c4f97ea55c8da0a3dbc8c198617e60032980215b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5f58450e277281dff86a9304f7a95f7da4643b063c1bf25bed40edf460fb50a1
MD5 5fd49e7f491999617f99f76fdfd976da
BLAKE2b-256 49a0c4c0e41f302d437de0d8daab3bb85d52f4e78a12fec23144d38140a191fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 9e0aa7af2c591c57e08a34db3522a6bde58a0bded384b3e4bdda5f6363663a77
MD5 712efc7ba75bd7a891cd769f1df663a1
BLAKE2b-256 44ac9b27499c88705face1b804cfd8128026d6f4222e7a868e3a94728c26d730

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 78cb30b34b0a8113e47fb775b7970c1c8a3cee8f0e1c413711a3310f7af170ab
MD5 50b990b397f2771cca3f3afae8f51c6b
BLAKE2b-256 b8a558acbf8e56653b3aa5d3800e2bc96d1431516587e19988c831e8e758084f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-43-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 5255174abe02b09a9996f479973a9daa7049b3c4cbc5464742199fad7c9c2c67
MD5 c180b0cb3b22b37f32cf6c1707a875e6
BLAKE2b-256 c54f69c5020ed5f615d0596071c8e7e1a82b0e7c5527e19399107114e9eae60b

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