Crates.io | fbd_sequencer_cli |
lib.rs | fbd_sequencer_cli |
version | 0.1.0 |
source | src |
created_at | 2024-07-01 18:14:51.432471 |
updated_at | 2024-07-01 18:14:51.432471 |
description | A command-line tool for playing music using PSG or AY-3-8910 sound sources. It supports playing .fbd sequence files and can output directly to audio devices or generate .wav files. |
homepage | https://github.com/ain1084/rust_fbd_sequencer_cli |
repository | https://github.com/ain1084/rust_fbd_sequencer_cli |
max_upload_size | |
id | 1288930 |
size | 49,882 |
This crate implements a sequencer for playing music using PSG or AY-3-8910 sound sources. No actual PSG hardware is required as the PCM is generated and played through software. Currently, it only supports playing .fbd sequence files.
cargo install fbd_sequencer_cli
Pre-built binaries are available on the release page of the repository.
!!! Due to the nature of containing only executable files, they may be falsely detected as a virus, leading to complex operations for download or execution. If possible, it is recommended to use cargo install.
Filename | Description |
---|---|
fbdplay-x86_64-unknown-linux-gnu.zip | fbdplay binary for Linux x64 |
fbdplay-x86_64-pc-windows-msvc.zip | fbdplay binary for Windows x64 |
fpdplay-aarch64-pc-windows-msvc.zip | fbdplay binary for Windows arm64 |
fddplay-aarch64-apple-darwin.zip | fbdplay binary for macOS (with Apple silicon) |
The fbd_files.zip (Archive of .fbd files) can be found here: fbd_files.zip
fbdplay is a CLI tool for playing .fbd files. It can output to audio devices and generate .wav files.
The fbd_files can be found in the fbd_files directory of the repository. Alternatively, you can download the fbd_files.zip from the release page.
FBD Music player
Usage: fbdplay [OPTIONS] <INPUT> [OUTPUT]
Arguments:
<INPUT> Sets the input .fbd file
[OUTPUT] Sets the generated .wav file
Options:
-p, --psg-crate <PSG_CRATE> Sets the crate for waveform generation [default: psg] [possible values: psg, psg-lite]
-c, --clock-rate <CLOCK_RATE> Sets the clock rate (MHz) (e.g., 2.0, 1.7897725...) [default: 2]
-s, --sample-rate <SAMPLE_RATE> Sets the sample rate (Hz) [default: 44100]
-h, --help Print help
-V, --version Print version
fbdplay fbd_files/YS200.fbd
fbdplay fbd_files/YS200.fbd YS200.wav
fbdplay fbd_files/YS200.fbd -s 48000
To generate PSG waveforms, two crates can be used interchangeably:
The crate to be used can be changed with the -p
option in fbdplay. The psg crate is the default as it generates higher quality waveforms compared to the psg-lite crate. psg-lite is lightweight as the name suggests but sacrifices sound quality (though with a sample rate around 44.1KHz, the difference in sound quality is not extreme).
When using it on a PC, there are no disadvantages to using the psg crate, but I made it switchable since I implemented it. (The reason for implementing psg-lite was that I was unaware of the existence of the psg crate and for studying Rust).
Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.