A sample library, created for bitKlavier
Table of Contents:
- Library Specs
- Download Instructions
- Microphone Image Overview
- Recording and Post-Production Information
- File Naming Convention
- More Images
- Recorded by: Andrés Villalta
- Piano Played by: Matt Wang
- Edited and Denoised by: Jeff Gordon, Katie Chou, Christien Ayers, Matt Wang, Dan Trueman
- Producer: Dan Trueman
With support from Princeton University’s Department of Music and Council for the Humanities
The bitKlavier Grand consists of sample collections of a new Steinway D grand piano from nine different stereo mic images (described below), with:
- 16 velocity layers, at every minor 3rd (starting at A0)
- Hammer release samples
- Release resonance samples
- Pedal samples
Release packages at 96k/24bit, 88.2k/24bit, 48k/24bit, 44.1k/16bit are available for various applications. For live performance, 44.1k/16bit is a reasonable choice, as it is CD quality but minimizes load-times/RAM-usage or disc-streaming burdens. For recording purposes, any of the packages will work (bitKlavier will adjust sample rates internally on the fly), but of course using the package that is at the same bitrate as your recording session makes sense.
As of bitKlavier v2.9, all of these packages can be opened directly in the application by setting the “sample search path” to wherever they are stored and then selecting the desired one in the sample library menu. Note that these are large libraries and using the “enable direct-from-disk sample playback” option, with the files stored on an internal SSD or Thunderbolt SSD drive (anything slower likely won’t stream fast enough), is recommended; loading into RAM will take a long time and a lot of RAM.
We have not created any other formats (e.g., SoundFonts/SFZ) for these, but the license (CC-BY 4.0) allows for that so we welcome it.
There are two ways to download these collections. The first is through direct links on Archive.org; this should be straightforward, but might also take a while as the download speeds can be pretty slow.
The second is using through Princeton University’s Dataspace, using Globus, which takes a little bit of setup (making a free account with them, installing their download software), but should lead to faster download speeds. For Globus, you need to:
- create a free Globus account if you don’t already have one
- then download and install Globus Connect Personal
- check out this little video which shows how to use it for bitKlavier (and make sure you click on the little split panel icon near the top right of the window so you are seeing two panels, one for the remote sample library, and the other for your download location)
Globus should enable faster downloads than the usual hosts (these are large, especially at the higher sample rates!), so the extra hassle might be worth it. You can also try out individual samples in Globus, before downloading, to see if you really want it.
Here are the links:
- Harp Omni:
- House ORTF:
- House Wide Cardioid:
- Lip Cardioid:
- Piano Bar:
- Stage Lid Omni:
- Stage Lid ORTF:
- Tail Omni:
Microphone Image Overview:
We used eighteen channels to sample the Steinway D at Princeton University’s Taplin Auditorium in Fine Hall. The piano was sampled with the lid fully open, in concert position. The sessions were conducted over several days in January 2021.
The piano is a complex instrument and the sound experienced by the listener can change dramatically based on where the listener is located relative to the instrument. In order to capture a wide variety of listening angles, Villalta chose a combination of microphone pairs that would recreate differing representations in tonal and in stereophonic sound.
There are eight pairs of microphones that recreate an image and tone that a listener might encounter; and one pair that recreates what a seated pianist would hear.
House ORTF: Schoeps cmc64—cardioids
This pair of microphones is designed to capture the sound of the piano in the hall as heard by an audience member. It’s positioned at the edge of the stage about 9 feet in the air. It captures the sound of the harp and strings as well as the contribution of the room acoustic. It’s posiition above the stage is intended to minimize reflections from both the open lid of the piano, and the stage-floor. The ORTF configuration of the microphones is a near-coincident arrangement that accurately recreates a stereo image of the piano as heard by a listener centered in the audience.
House Wide Cardioid: Microtech Gefell M950—wide-cardioids
This pair of microphones is also designed to capture the sound of the piano in the hall as heard by a seated audience member in the first row. This pair is lower (at about the level of the keyboard) and widely spaced. The stereo image is more diffuse, and there are significant contributions of sound reflecting from both the open lid, and stage-floor.
Decca Tail: Schoeps cmc62S—omni-directionals with high-frequency boost
This pair of microphones is also positioned to capture the sound of the piano in the hall as heard by an audience member. The position at the tail of the piano, about eight feet back, recreates a diffuse but slightly narrower stereo image than the pairs described above. It also captures the contribution of the room and some floor-reflections, while avoiding reflections from the open lid. The use of omnidirectional microphones also recreates a more linear low-frequency response. There is less direct sound from the strings, hammers and harp. Because of this, this position can sound “darker” than the positions described above. This microphone position was famously used by the engineers at the Decca records company and is widely used in classical repertoire to this day.
Lip Cardioid: DPA 4011—cardioids
This pair of microphones is designed to capture the sound of the strings, hammers and harp with little contribution from the open lid, stage-floor, and room. It’s centrally located position accurately captures the stereo image of the piano if a listener was facing the open lid. The use of cardioids and the close position (at the lip of the piano) gives an impression of a bass-boost (by taking advantage of the proximity effect of cardioids). This is a familiar position used in jazz recordings. It’s a close sound and somewhat darker than a pair of mics that would be higher above the strings.
Harp Omnis: DPA 4060—omni-directionals
These microphones are placed directly on the metal harp of the piano and positioned to capture a “high strings / low strings” perspective of the piano (along the length of the harp). Such close positioning allows an engineer to ignore the natural stereo image a listener would experience, and therefore can be more freely positioned in a stereo image by the use of panning. Since they are a bit further from the hammers, they predominantly capture the sound of the vibrating strings and soundboard.
Piano Bar: Earthworks—omni-directionals
This microphone system suspends omnidirectional microphones within the piano. The bar is placed across the harp near the hammers and provides a low string / high string player’s perspective. It also produces a close sound without room or lid interactions. It can be panned across an artificial stereophonic perspective effectively in post-production.
Stage Lid ORTF: Sanken CU41—cardioids
This pair is placed centrally (audience perspective) at about six and a half feet high and is aimed parallel to the open lid of the piano. It captures a balanced stereo image of the harp without reflections from the lid. It has a more even frequency response than the cardioids placed at the lip of the piano, as it is 1.5 meters above and away from the strings. This captures the percussive sound of the hammers quite well.
Stage Lid Omni: Schoeps cmc62—omni-directionals
This pair is placed centrally (audience perspective) at about six and a half feet high and is aimed parallel to the open lid of the piano (flanking, and at the same height as the Sankens listed above). They are spaced about a meter apart and capture a slightly more diffuse stereo image of the harp. Since they are omnidirectional, they also capture a bit of the room. These can be blended with the Sanken CU41s to add or subtract some bass response and/or room sound.
Binaural: Neumann KU100
This is the binaural head placed in the same location as a seated pianist. It accurately captures what the player would hear while playing the instrument.
Recording and Post-Production Process
The session was recorded using ProTools at 96k/24bit. Between 20–30 samples were recorded for each note (every minor third, starting at A0), with the aim of creating 16 velocity layers, relatively evenly distributed across the dynamic range of the instrument. Individual samples for hammers, pedals, and resonance on key release were also recorded at multiple loudnesses.
The piano was tuned (equal temperament, A440) before and between the sessions.
The main samples were coarsely edited and exported in Logic Pro, choices made based on relative loudnesses (measured as RMS in Logic Pro’s Multimeter) in an effort to evenly divide the dynamic range for each note but also to balance that division across the range of the keyboard (so, for instance, velocity of 64 sounds similarly loud across adjacent notes). This was a fairly laborious process involving multiple spreadsheets and comparisons before the final 16 velocity layers were chosen for each note. Some analysis took place at this stage to measure offsets from an even distribution, to be used later to further rebalance the velocity layering.
Hammer samples were individually edited, as were samples for the resonance releases (where the attacks were cut off and only the ring after key release retained, with 100ms fade in and out enveloping) and pedal sounds.
All the samples were batch denoised with iZotope RX8’s spectral denoise tool, to remove room and mic noise. They were further individually denoised to remove stray clicks and thumps as needed, using RX8’s spectral repair tool.
The main pitched samples (not the hammers, pedals, or release resonance samples) were batch edited in Python, using the Essentia library to detect onsets and consistently trim leading silence before the attacks, and also to add short attack (5ms) and release (100ms) fades.
The velocity layers in the main pitched samples were further rebalanced using the data created in the first exporting stage; another script in Python made small adjustments (usually <2dB) to the gains of all the samples so that they were evenly distributed, soft to loud, and so they matched as well as possible across the keyboard (softest notes balanced along the full compass of the instrument, loudest, and so on). These were all tested by ear using an automated playback system so bitKlavier could be played at the exact same velocity from note to note, or with the exact same velocity difference on a single note.
At every stage of this processing, the samples were saved at 96k/32b, to minimize artifacts.
Needless to say, there was a lot of trial and error in developing this process, but in the end, all of the mic images were produced using this same process.
File Naming Convention
- C4 = middle C
- Main note names:
- [note name][octave]v[velocity].wav
- e.g., “D#5v13.wav”
- Release resonance notes:
- harm[note name][octave]v[velocity].wav
- e.g., “harmC2v2.wav”
- Hammer samples:
- rel[1-88].wav (one per key)
- e.g., “rel23.wav”
- Pedal samples:
- e.g., “pedalU2.wav” => pedal release (U = up), velocity = 2 (quicker release than velocity = 1)
Note that bitKlavier should be able to load any folder of samples named according to this convention and map it appropriately, regardless of number of velocity layers, or number of samples per octave, etc.
The bitKlavier Grand sample library is covered by the CC BY 4.0 license:
Have at it…