![]() | Logo by Nickman (anonymous IP: 216.73.216.32,2520) | |||||||||||||
| ||||||||||||||
Audio (352) Datatype (51) Demo (214) Development (629) Document (24) Driver (103) Emulation (156) Game (1063) Graphics (516) Library (123) Network (243) Office (69) Utility (962) Video (74) Total files: 4579 Full index file Recent index file
Amigans.net Aminet IntuitionBase Hyperion Entertainment A-Eon Amiga Future
Support the site
|
Short: Piano for AmigaOS 4.1 (SFZ + mda synths)
Author: Falke_34 (falke.34()gmx.de); see Credits for original authors
Uploader: Falke_34 (falke.34()gmx.de)
Port: PPC-AmigaOS 4
Type: audio/misc
Version: 0.50
Architecture: ppc-amigaos
Requires: AmigaOS 4.1 (PPC), AHI, ReAction
## Clavicembalo - a piano for PPC-AmigaOS 4
Clavicembalo is a piano program for AmigaOS 4.1 with a ReAction GUI. You
can play it with the computer keyboard, with the mouse on the on-screen
88-key piano (A0-C8), or let it play songs from MIDI files or simple
text "sheet music" files. Sound is output through AHI.
Five sound engines are available (Settings > Settings... > "Sound
engine"):
* SFZ sample player - real piano samples (Slender Salamander Grand
Piano), four .sfz variants to choose from (full, Lite, Tuned and
Tuned Lite)
* mdaPiano and mdaEPiano - piano and electric piano synthesizers by
Paul Kellett / MDA
* mdaDX10 - FM synthesizer (DX7 style), 32 presets (default: Harpsichord)
* mdaJX10 - analog polysynth, 46 presets (default: Synth Strings)
For all engines there is an optional reverb (mdaAmbience) with three
controls: room size, high-frequency damping and reverb amount. It is a
short room reverb (small room to small hall).
Since 1.23 the SFZ player mixes its samples itself and plays them
through the same AHI stream as the mda engines: up to 32 voices,
notes fade out when released (instead of being cut off), and the
velocity (mouse click height, MIDI song velocity) selects and crossfades
between the three velocity layers of the .sfz.
Presets and reverb controls can be heard live while the Settings window
is open. "Save" stores them in Clavicembalo.cfg, "Cancel" restores the
previous state.
----------------------------------------
## Requirements
* AmigaOS 4.1 running on a PowerPC system
* AHI (with a working sound driver)
* ReAction classes (part of AmigaOS 4.1)
* For the SFZ sample player only: the Salamander Grand Piano WAV samples
(see Installation). The mda engines need no samples at all.
## Installation
Copy the Clavicembalo drawer to any location. Keep the folder structure
intact:
Clavicembalo (program)
Clavicembalo.cfg (settings, created by "Save")
data/
*.sfz (4 variants, included)
samples/
*.wav (Salamander Grand Piano samples - NOT included)
Keymap/
Clavicembalo.map (default keyboard layout)
Songs/
*.mid, *.txt (demo songs, MIDI or sheet music text)
To use the SFZ sample player you must download the "Slender Salamander"
sample set (48 kHz / 24 bit) and put the .wav files into data/samples/.
The mda engines work without it.
Download:
https://musical-artifacts.com/artifacts/533/SlenderSalamander48khz24bit.zip
## Usage
* Keyboard: The default layout is stored in Keymap/Clavicembalo.map
(numeric keypad, bottom letter row, home row, top row and number row -
a little over 4 octaves). It can be changed under
Keyboard > Edit Keymap... (including a "Learn Key" mode). Chords of
several notes per key are supported. Load Keymap..., Save Keymap and
Reset Keymap to Defaults are available in the Keyboard menu.
* Mouse: click any key of the on-screen piano, or drag across the keys
with the button held down for a glissando. The vertical click position
is the velocity: high on the key = soft, low on the key = loud.
* Space bar = sustain pedal.
* Quit only via Project > Quit or the window close gadget. There are no keyboard
shortcuts any more (no ESC, no menu/button hotkeys): all keys belong to the
piano.
* Shell output: status/info messages (key presses, loading, recording) are off
by default so the input path stays free. For debugging set DEBUG=1 in
Clavicembalo.cfg. Warnings and errors always print. DEBUG=1 now logs every note
event: keyboard, mouse (incl. glissando), pedal (Space) and the song player
(time, lateness, note, velocity, voice, active voices).
* Several keys at once give real chords. All engines have up to 32
voices. The limit of the SFZ player can be changed with
"SFZVOICES=<4..48>" in Clavicembalo.cfg or with the "SFZ voices" slider
in the Settings window (SFZ player only) (default 24) - lower it on a
slow machine.
Settings window (Settings > Settings...), six tabs, each with its own
[Save] [Reset] [Cancel]:
Sound sound engine, .sfz set, SFZ voices, DX10/JX10 preset, volume
Reverb on/off, room size, damping, amount
mdaPiano, mdaEPiano, mdaDX10, mdaJX10
one tab per synth with all its parameters (12/12/16/24
sliders), saved in Clavicembalo.cfg; [Reset] loads the
synth's own start values (DX10/JX10: those of the preset)
All controls act live. [Save] keeps the values of that tab only, [Reset]
loads the factory values of that tab, [Cancel] goes back to the state
at opening / last save. Closing the window cancels everything unsaved.
The Reverb tab is available for every engine, a synth tab only while
that synth is the chosen sound engine. Picking another DX10/JX10 preset
loads the preset's own parameter values into its tab.
Menus:
Project About..., Quit
Settings Settings... (tabs: Sound, Reverb, one per synth)
Song Load Song..., Play, Stop, Record...
Keyboard Edit Keymap..., Load Keymap..., Save Keymap,
Reset Keymap to Defaults
### Playing songs (MIDI or "sheet music" text)
Use the Song menu:
* Load Song... - file requester, shows .mid and .txt files
* Play - start playback from the beginning
* Stop - stop immediately
* Record... - recording window (event based since v50): records key down
AND key up, sustain pedal and velocity, so held notes, overlaps and
two-handed playing are kept. It works on the same event list as the
song player: "Load..." reads .mid and .txt, "Play" is the normal song
player, "Save..." writes the text format (velocity is lost there),
"Save MIDI..." a .mid with velocity and pedal. The list has one row per
note ("time note velocity length") and per pedal change, follows the
playing song (selection moves, list scrolls) and can be edited:
"<ms> <note> <vel> <length ms>" or "<ms> PEDAL ON|OFF", then
Apply / Add / Remove. The recorded pitch includes octave shift and
transpose; on playback those apply again, as for every song. Playing
keys no longer stops a running song.
Standard MIDI files (format 0 and 1) are played directly, including
note length, velocity and sustain pedal (controller 64). All engines
use the velocity from the file (the SFZ player picks/crossfades its
velocity layers with it); text songs have no velocity and play with the
middle layer.
The sheet music text format is meant for short pieces you type yourself:
one line per step, "<Note> <Duration_ms>", chords joined with "+". A note
repeated in the next step is struck again; with a trailing "~" it keeps
sounding instead. "R <ms>" is a rest, "PEDAL ON" / "PEDAL OFF" control
the sustain pedal. Example:
E4+C3+E3 400
E4+C3~+E3~ 400
R 200
PEDAL ON
C4 300
PEDAL OFF
The full reference is in Songs/Notenblatt_Anleitung_und_Vorlage.txt
(which is itself a valid, playable song). Any manually played key
interrupts a running song.
Note: all engines handle up to 32 simultaneous notes. When the limit is
reached, a note that is already fading out is taken first, otherwise
the oldest held note is faded out.
## Source code
The full source code is included in the src/ drawer and can be built
natively on AmigaOS 4.1 with the SDK's gcc/g++. In a Shell, in the main
drawer (not in src/):
make build Clavicembalo
make clean remove program and object files
make debug build with debug info, no optimization
The mda engines (src/mda/*.cpp) are compiled from source together with
the program; no precompiled libraries or cross-compiler are needed. The
origin of the mda sources and the changes made to them are described in
src/mda/README_mda.txt.
## History
1.23 - SFZ player with its own software mixer (new src/mixer.c): up to
32 voices instead of 8, notes fade out when released instead of
being cut off, velocity selects and crossfades the three velocity
layers, the reverb works for the SFZ player too, soft limiter.
If the sample files are missing at startup the program now starts
with mdaPiano instead of quitting. Fixed: sample index table was
a signed BYTE, so .sfz variants with more than 127 samples lost
keys. New config key SFZVOICES=. Not yet measured on real
hardware - on a slow machine lower SFZVOICES= if you hear gaps.
1.22 - User interface is now localized (locale.library catalogs):
German included, English built in. All menu, window, button and
file requester texts come from catalogs. The default file name
when saving a recording as MIDI is "Recording.mid" in English
("Aufnahme.mid" in German). Fixed a small bug where the window
title with the octave/transpose display pointed to a local
buffer.
1.21 - Current version (see $VER string in the program).
Source split into modules in src/, mda engines built from source,
five sound engines (SFZ, mdaPiano, mdaEPiano, mdaDX10, mdaJX10),
reverb, song player (MIDI and text), recorder, keymap editor.
## Credits
AmigaOS 4.1 program:
Falke_34 (falke.34()gmx.de)
mda synthesizers (mdaPiano, mdaEPiano, mdaDX10, mdaJX10, mdaAmbience):
Paul Kellett / maxim digital audio
Sources from mod-audio/mda-lv2 (https://github.com/mod-audio/mda-lv2,
GPL v2 or later) and moddevices/mda-vst2
(https://github.com/moddevices/mda-vst2, MIT license)
Salamander Grand Piano V3 (SFZ definitions, Slender Edition 2017):
Alexander Holm, license CC-BY
Phase alignment by Signal Experiments (sig-ex.com)
AHI:
The AHI developers
----------------------------------------
## Legal
Clavicembalo is provided as is, without any warranty. Use it at your
own risk.
The mda engines are copyright Paul Kellett / maxim digital audio and
are distributed under their original licenses (GPL v2 or later for the
mda-lv2 based code, MIT for the mda-vst2 based code); the license texts
are included in src/mda/ (COPYING_mda-lv2.txt, LICENSE_mda-vst2.txt).
The Salamander Grand Piano samples are by Alexander Holm and licensed
under CC-BY (Creative Commons Attribution). The sample files are not
part of this archive and must be downloaded separately.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 2004-2026 by Björn Hagström All Rights Reserved |