0.13.1 • Published 4 years ago

node-spfm v0.13.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

node-spfm npm version

A command-line controller for SPFM Light.

npm.io

This screen shot is node-spfm running under cool-retro-term.

Feature

  • Software clock adjustment. Frequency of tones will be automatically adjusted according to the clock frequency.
  • Deep inter-chip conversion. For example,
    • Convert SN76489 vgm to YM2203 and YM2608 module.
    • Convert YM2612 vgm to YM2608 module (DAC stream to ADPCM conversion is also supported).
  • Suppress click noise on stop.

Requirements

  • macOS or Linux
  • Node 10 or later
  • SPFM Light and RE:Birth module

This program works also on Windows 10 with proper console (ex. bash console in Visual Studio Code), however, playback speed is not stabilized.

Supported File Types

  • Video Game Music Files (.vgm, .vgz)
  • KSS Files (.kss)
  • MGSDRV Files (.mgs)
  • MuSICA / Kinrou5 Files (.bgm)
  • MPK Files (.mpk)
  • OPLL Driver Files (.opx)
  • M3U Playlist

Supported Modules

  • AY-3-8910 (PSG)
  • YM2151 (OPM)
  • YM2203 (OPN)
  • YM2608 (OPNA)
  • YM2612 (OPN2)
  • YM3526 (OPL)
  • YM3812 (OPL2)
  • YM2413 (OPLL)

Install

Node.js 10 or later is required.

npm install -g node-spfm

Usage

SYNOPSIS

  spfm play [<option>] <file> 
  spfm devices [-l]           
  spfm config                 

COMMANDS

  play      Play music files.          
  devices   Show connected devices.    
  config    Interactive configuration. 

See 'spfm <command> --help' to read about a specific command usage.

Keys

  • Cursor Left/Right - Down/Up playback speed.
  • Cursor Down - Reset playback speed.
  • R - Restart current Track
  • PageUp/B - Previous Track
  • PageDown/N - Next Track
  • Shift + PageUp/B - Previous 10 Tracks
  • Shift + PageDown/N - Next 10 Tracks

M3U KSS Extension Support

spfm play command accepts the extended M3U file contains KSS song index and title. The entry of the extended M3U is comma-separated value as following.

<filename>::KSS,<song>,<title>
  • <filename> specifies relative path for KSS. The file extension must be kss or zip.
  • <song> specifies song index in hex ($00,$01,...) or decimal (0,1,2...) format.

Example of extended M3U is like this:

foo.kss::KSS,$80,Foo Song 128 Title
foo.kss::KSS,$81,Foo Song 129 Title
bar.zip::KSS,$01,Bar Title
0.13.0

4 years ago

0.13.1

4 years ago

0.12.0

4 years ago

0.11.3

4 years ago

0.11.2

4 years ago

0.11.1

4 years ago

0.11.0

4 years ago

0.10.0

4 years ago

0.9.4

4 years ago

0.9.3

4 years ago

0.9.2

4 years ago

0.9.1

4 years ago

0.9.0

4 years ago

0.8.8

4 years ago

0.8.7

4 years ago

0.8.6

4 years ago

0.8.5

4 years ago

0.8.4

4 years ago

0.8.3

4 years ago

0.8.2

4 years ago

0.8.1

4 years ago

0.8.0

4 years ago

0.7.1

4 years ago

0.7.0

4 years ago

0.6.3

4 years ago

0.6.2

4 years ago

0.6.1

4 years ago

0.6.0

4 years ago

0.5.1

4 years ago

0.5.0

4 years ago

0.4.4

4 years ago

0.4.3

4 years ago

0.4.1

4 years ago

0.4.2

4 years ago

0.4.0

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago