Skip to main content

PCM Player

PCM Player is a Python-based commandline application for playing and testing PCM audio files that are used for creating MSU packs to be used with various emulated games and randomizers, such as A Link to the Past.

Installation

Pre-requisites

  • Python 3.9 or above
  • PortAudio
    • Ubuntu/Debian: apt-get install libportaudio2
    • RHEL: dnf install portaudio
    • Arch: pacman -S portaudio

pipx is recommended it installs PCM Player into an isolated environment to avoid dependency conflicts with other Python applications, and it also creates it standalone application which can be ran directly via commandline.

First, you will want to install pipx.

$ pipx install pcm_player

$ pcm_player test.pcm

Installation Option 2: pip

First, make sure you have pip installed and running: https://packaging.python.org/en/latest/tutorials/installing-packages/

$ pip install pcm_player

$ python3 -m pcm_player test.pcm

Usage

Depending on your environment and how you installed, you may be able to run it either directly or as a Python module:

# Run directly
$ pcm_player test.pcm

# Run as Python module
$ python3 -m pcm_player test.pcm

The application has two main modes:

  • Play the full file, then loop and play around 15 seconds
  • Test the loop by playing the last 5 seconds of the file, then loop and play 5 seconds after the loop point
    • If a longer loop is desired, it can be specified in the -s argument

You can run them like below:

# Play the full PCM file, loop, then play 15 seconds
$ pcm_player test.pcm

# Play the last 5 seconds of the PCM file, loop, then play 5 seconds
$ pcm_player -l test.pcm

# Play the last 8 seconds of the PCM file, loop, then play 8 seconds
$ pcm_player -l -s 8 test.pcm

Credits

  • Hazem Nabil (arkrow) for the PyMusicLooper application, which I used as inspiration for how to play sound files and to use Poetry for making/distributing Python applications.

Metadata

Release files for pcm_player 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pcm_player 0.3.1
File Size Uploaded
pcm_player-0.3.1.tar.gz 3.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pcm_player 0.3.1
File Interpreter ABI Platform
pcm_player-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.8 kB

Release files / pcm_player-0.3.1.tar.gz

Download URL pcm_player-0.3.1.tar.gz
Size 3.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2bbbb3f828c5f98abd8c32ca641e2e475d1345664a71693996889e3d836fe0ed
BLAKE2b-256 checksum
How to use checksums
16df1751a6ed76db97820763a3016d03cab0747a7d18a50e656de61701a6700e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.2 Linux/6.5.0-0.deb12.4-amd64

Release files / pcm_player-0.3.1-py3-none-any.whl

Download URL pcm_player-0.3.1-py3-none-any.whl
Size 5.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e8b18a435ceeb2bb8766fcb4e5035ec5ea59bd5527a055f388262b39f596ae01
BLAKE2b-256 checksum
How to use checksums
c79e7382b2cc7439e715996b3e56052a70ed97c12a085cc5e9ade7064a3c81b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.2 Linux/6.5.0-0.deb12.4-amd64

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page