OS4 DepotLogo by Nickman 
(anonymous IP: 216.73.216.32,2520) 
 HomeRecentStatsSearchSubmitUploadsMirrorsContactInfoDisclaimerConfigAdmin
 Menu

 Features
   Crashlogs
   Bug tracker
   Locale browser
   Markdown composer
 

 Categories

   o Audio (352)
   o Datatype (51)
   o Demo (214)
   o Development (629)
   o Document (24)
   o Driver (103)
   o Emulation (156)
   o Game (1063)
   o Graphics (516)
   o Library (123)
   o Network (243)
   o Office (69)
   o Utility (962)
   o Video (74)

Total files: 4579

Full index file
Recent index file

 Links

  Amigans.net
  Aminet
  IntuitionBase
  Hyperion Entertainment
  A-Eon
  Amiga Future


Support the site


 Readme for:  Audio » Play » clavicembalo.lha

Clavicembalo

Description: Clavicembalo - a piano for PPC-AmigaOS 4
Download: clavicembalo.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 7Mb
Version: 0.50
Date: 22 Oct 2026
Author: Falke_34
Submitter: Falke_34
Email: falke 34/gmx de
Homepage: http://falke34.bplaced.net
Requirements: AmigaOS 4.1
Category: audio/play
License: Other
Distribute: yes
Min OS Version: 4.1
FileID: 14162
 
 
Comments: 0
Snapshots: 0
Videos: 0
Downloads: 1  (Current version)
1  (Accumulated)
Votes: 0 (0/0)  (30 days/7 days)

Show comments Show snapshots Show videos Show content Show crashlogs Replace file 
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