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

Uploaded Source

Built Distributions

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

pym2149-41-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-41-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl (1.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ i686

pym2149-41-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-41-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-41-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-41-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

pym2149-41-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-41-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-41-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-41-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pym2149-41-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-41-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-41-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-41-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

pym2149-41-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-41-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-41-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-41-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pym2149-41-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-41-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-41-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-41-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

pym2149-41-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-41-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-41.tar.gz.

File metadata

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

File hashes

Hashes for pym2149-41.tar.gz
Algorithm Hash digest
SHA256 8db3796f15c63ca43cbd761a40457029aaefd37d560f33a570e60f1e87656aa6
MD5 8af30adcde5bac3e632508b0e79344d9
BLAKE2b-256 3ce4fd8ed3f4801d87e0b0301fca017a14a77e6b5a3e8d92f4fd59fd00dbb91b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fd11a7fbea110b838198853309fd7b222b33d224b2858902893f78067b0b85c3
MD5 6784c5f2757dec4a0ac27f478cbc2638
BLAKE2b-256 e58e735520a69c4a467116c86bb8a46236ee6e156f5e55703681b34ae3848996

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 37a5cdef847a56f46995da61d1a1d815a398566459b1005c12d548a80d9906be
MD5 d45eb371dfcdb37bd60e64e0bea3dd1e
BLAKE2b-256 10e3b47c6963de6425e328373996f1e14f58f692ebe22cebed2348c896d9cfac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp314-cp314-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 713a1ad025b1279d560ca6940e30e313f97ca9a6768bec0cd400d0939eb71af1
MD5 737b9bdc9b64fdc28fac6d079d6fc1b0
BLAKE2b-256 fd47a0c3567f16278a6ca6d6c1babce4136ec16f616213ed4f152684acb1caae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 d32f4e6ec4c53fa2ad222054c38ca22221000f7b653042b52a83c7fdcc697a58
MD5 096936a9044922e6277b9d2a602a1346
BLAKE2b-256 bf4217cdaf97b4f461873cc0860fd7641361ad75c95bdca6bf4a9b25ed2aa747

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 dbd38a964664f4538f2a8ae516b1c4878f4b36ee4bc1270de6f406bad7064302
MD5 ef6dc4230e9b2026da66948aa2fd6567
BLAKE2b-256 69b2e60f5f34d5d57389f7ba2fc1d1d8a9b7e3c42bfd4b7d536aacb8b769ff6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 a0ff50a841b165dd51baae90e4a0bc733b7c8a837a800552b673c41bcefbd2f9
MD5 84d42846b2dd2dc92e5d25398e11e290
BLAKE2b-256 706919ab1dfa85ade2d07a5e1ac48efcd268a18e3b4b5a1822662ad5ce35ca10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp313-cp313-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 2a96a40d7cedcce1e7d8d1bc8561ab16fa0ad2fa51de83bdf5c4cb966434c096
MD5 69bc3b266078ec93a3ad15aa26e42c84
BLAKE2b-256 f7ea9f97ddccc76e0642552acb9e9cf5361d10617f68c4f745f15a99de56625a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 5a4152c5d391c40495a2873bf5f39ef68724cec192e03e18a228d439ac202486
MD5 8e26751519503374af25a7499a6df03c
BLAKE2b-256 4ad06834cd70009109e3518a3369c80f23100bc44dbca444c863d4b291364afa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 47212439ae6ebc6a25beb01b6118d1efa6a6a238ae812cb1d0e28cdcb0d201d6
MD5 888666d80314e5e34c44b3a3505dd99c
BLAKE2b-256 fbe4603f391b4c18d3afff8e107e04fcadae346a9e052657ce4e87ec8fb3c803

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 9f3dab31ae68112b79e506d98432a17b6eb1ab8606275bdfe06d3337c0ada217
MD5 58d6bb33723937e3550792c88e81d266
BLAKE2b-256 360657da1753cac1cde33849e104d26ee3e40faab4a4470a8d54bd9305590d9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp312-cp312-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 1b0e015b4be5070c4b0f8e42e5e9d9b9856049c5ebed6038ebd057a0d7d89b35
MD5 c717e6f9eed6ea517fb970eb6b7de45b
BLAKE2b-256 281d109f0a32dbf83e32fbe287bb661e8d3d4f56f75670410f5136e51771dc57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 a33f5015f765b166a21bd04525d2965433245bf0ffbd7c53774a5762ebe4039f
MD5 425365c72a52f3d3ae5de782fe47cb61
BLAKE2b-256 5180f24a5198014574926417de9174dea2369d205c117784a2831bf90cbfe2de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 86f155ec3739133df4fbeb9c5bd5bd80f8413466d1d5ed9bd58dbc0997aa86ae
MD5 4aeb2cf8a16e7f0ed034167bfc623ac5
BLAKE2b-256 c9d5c0847a2f44e89f4b3e20aeda317e20b7fa3fec6f149a7ece709797e67eaa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 bee2184d955909fcb996ab9d5f120a448eec941d54e8cf26440992eaf4a85f82
MD5 5146b729681ba08fa684dcc37f97db80
BLAKE2b-256 77c41af5e9b8ec68cb2a656b1403e0c47f97ed8e4a9f6215b749ba7cbda2db83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp311-cp311-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 42f46cb91a822ac2bb86d1eb77dc7c3f69c6b39bdda225f84a20e361bb7211a4
MD5 332bba3bda19f7c63ba5bbb93befbf24
BLAKE2b-256 ef5a4630dd9bb5a95017a168edcadb8bdd2e749a72cb3cd1e74c09eb77ea41cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 47614edbf5a89886d8cd6a49f1d01390dc4d7c8e8810f79618903ee4a0c1509c
MD5 b99c50e55c1f37f89f985ef32f4c8c1d
BLAKE2b-256 32f20c841db5dd94e0c4383a0bfb1520a593b1497eac0010afb11e03587239de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c1e1f57a20ebe1a64c055ea858a6803fabbeeecf753f4c30449c9666a277e284
MD5 cc750e2faab2fa9967842f6f9b2826d1
BLAKE2b-256 db85ac2659e854bbf03e064628aa407b8ba1b72cb42bd8a920aa3bd044a0b385

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 1109de21a7998a2eb654830889be8c39f16e7c93961348a4c4c660559a4fb5fd
MD5 6bb47d5945dd99477a6423b73314701e
BLAKE2b-256 4b1070f439c83dba18a2aa90f66dd60b2d2ffcca88b9d9b67fdb3bb79f0d3e4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp310-cp310-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 135bec75a1ae49ff508190b2b2a7749f9d103446a2bc41c4b678871ee4c60418
MD5 62921de2751130adb9207e3c6d68760f
BLAKE2b-256 31424fe08070e8e784ae12175474fff8a614518cccee8920c0faf2eccd4ecb87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 2203375677f078eb9f0a8e35619e4d5abd233fad99eb7e2a35ff4f5a5297089d
MD5 c665e2f83eed6940f3b599b72ea0c3b2
BLAKE2b-256 37363bb8022a69435fc8d4ee9a11aeedccefd09ac60e25335920af1c79f6b97a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c072c035ecc9a5270c52339e61e87f3405e57781e48cb610e413eaae1065bcca
MD5 994b5201378c31638d7f842a9358724d
BLAKE2b-256 f6492d162565715779f31a9737529f6dcca195d78bcc933a65121db1086d8e45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 05334aa79bd894916f28b222d403ac60bb86ec0fdf3d0cc46bf29eea3eadfa56
MD5 2a51153eac2f449b1a3802bc913f9ac5
BLAKE2b-256 35dd626dd34f828460b547a1e8d1ef3cd1f34ca8fc118902cc9d1e3b507f96ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp39-cp39-manylinux1_x86_64.manylinux_2_34_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 25386d097206a301748c789409f85434de61ce1a2c8684f4ddbf08dba9be6a5a
MD5 1e76934980947d689f9126ac194455a4
BLAKE2b-256 7555cb6d6c686fc6044a699b4d7f9109ebcd39c8ff45e93066cd79de7cb89383

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pym2149-41-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 51af9b0c148ac9c1bc8a854fa53722842f179094c7429b73673c162afaa15a0a
MD5 a2ffcb78b70f24fd9014fccfc3c8cac2
BLAKE2b-256 d8e6304c1a64d2024c899c14cca9b36bb64ef3f5083b299a68f1c43569d63b4c

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