Language…
11 users online: ASMagician Maks, Clone., crocodileman94, Dark Prince, EntySky,  Fyre150, Jordan, palrumia, RXDARK, TheMorganah, UTF - Guests: 82 - Bots: 280
Users: 66,263 (2,216 active)
Latest user: onyxblaster

Introducing piano samples recorded from MIDI

I experimentally made 8 piano samples, each of which would be used for different pitch range. I am eager to showing them off, so why not. If this sample set can contribute to some nice piano songs, it would be very nice!

For those who are interested, here are samples and example music.
sample set
SPC

Eight pitches of MIDI piano are recorded at 24000Hz - C8, E7, A6, D6, G5, B4, D4, and G3. (where middle C is C5)

Each .brr's size is
p+32.brr (C8) 1,712 bytes (0x6B0)
p+24.brr (E7) 2,522 bytes (0x9DA)
p+17.brr (A6) 4,610 bytes (0x1202)
p+10.brr (D6) 4,700 bytes (0x125C)
p+3.brr (G5) 5,834 bytes (0x16CA)
p-5.brr (B4) 5,294 bytes (0x14AE)
p-14.brr (D4) 5,915 bytes (0x171B)
p-21.brr (G3) 5,258 bytes (0x148A)

Those sizes may not be feasible if various custom instruments are needed. In that case, using 2~3 of them, for example, could be considered.

Usage
Avoiding text explanation, due to bad english.. Text would be more confusing.


Tuning: $EE $40 (adjust to original smw samples)

Usage example (AMK)
Code
#instruments
{
	; Format: "brr" $AA $BB $CC $DD $EE
	;   AA, BB: ADSR (AA+80)
	;   CC: Dont care (80~)
	;   DD, EE: Pitch
	"p+32.brr" $DF $AC $B8 $03 $00
	"p+24.brr" $CF $AC $B8 $03 $00
	"p+17.brr" $BF $AC $B8 $03 $00
	"p+10.brr" $BF $AC $B8 $03 $00
	"p+3.brr" $AF $AC $B8 $03 $00
	"p-5.brr" $AF $AC $B8 $03 $00
	"p-14.brr" $AF $AC $B8 $03 $00
	"p-21.brr" $BF $AC $B8 $03 $00
}

"C8=@30 h-13" ; p+32.brr
"E7=@31 h-5" ; p+24.brr
"A6=@32 h2" ; p+17.brr
"D6=@33 h9" ; p+10.brr
"G5=@34 h16" ; p+3.brr
"B4=@35 h24" ; p-5.brr
"D4=@36 h33" ; p-14.brr
"G3=@37 h40" ; p-21.brr

#0
$EE $40
; setting instrument corresponding to range
o1 G3 c d e f g D4 a b
o2 c d B4 e f g a b
o3 G5 c d e f g D6 a b
o4 c d A6 e f g a E7 b
o5 c d e C8 f g a b
o6 c d


Sample set could be another issue because of size. This example is for OW songs.
Code
#samples
{
	"default/00 SMW @0.brr"
	"default/01 SMW @1.brr"
	"default/02 SMW @2.brr"
	"default/03 SMW @3.brr"
	"default/04 SMW @4.brr"
	"default/05 SMW @8.brr"
	"default/06 SMW @22.brr"
	"EMPTY.brr" ; "default/07 SMW @5.brr"
	"default/08 SMW @6.brr"
	"EMPTY.brr"
	"EMPTY.brr"
	"default/0B SMW @10.brr"
	"EMPTY.brr" ; "default/0C SMW @13.brr"
	"EMPTY.brr"
	"EMPTY.brr" ; "default/0E SMW @29.brr"
	"default/0F SMW @21.brr"
	"EMPTY.brr"
	"EMPTY.brr"
	"EMPTY.brr"
	"optimized/13 SMW Thunder.brr"
	"p+32.brr"
	"p+24.brr"
	"p+17.brr"
	"p+10.brr"
	"p+3.brr"
	"p-5.brr"
	"p-14.brr"
	"p-21.brr"
}
These sound pretty nice.
I'm sure someone has a good use for these.
________________________________________________________
Mario the Gaul
Ahh, thanks for this! My NR thing I made during Idol sounded awfully muddy, so this will definitely be useful for future reference.
Updated that piano roll image.
And here's a tool that make using these samples convenient.
http://bin.smwcentral.net/u/1250/piano_tool.zip

Originally posted by readme.txt
1. What this program does:

Sometimes you'd like to use multiple samples for a single semantic "instrument", because one sample doesn't sound well at high or low pitch.
Suppose you are given 8 samples for piano. It is tough to designate corresponding sample whenever the next note's pitch is out of the range of the current sample.

The main purpose of this program is to support automatically designating the sample when needed.
It will automatically insert 'instrument commands(@)' or 'addmusic macros'.
What are the 'addmusic macros'?
They're components defined like "TEST=@31" in AddmusicM/AddmusicK, which starts with a capital letter.
If you define a macro as "High=@31 v255", the term 'High' can be used for changing instrument, as well as the volume.



2. How to use:

1) Copy&paste notes which you're going to make played with the piano sample set I uploaded.
Save it as a text file.
'sample.txt' is an example input. As you could see, it simply consists of notes only.
Because of the program's purpose, @ and h commands are not allowed.


2) Drag your text file to piano.exe. That's all.
Even if you use multiple samples for one instrument, this tool make your work as easy as one involving a single vanilla instrument.



3. Setting the config file:

Config file is used for defining the range of each sample.
First comes the number of samples.
Next comes pairs of pitch and name for each range.
Pitch is a decimal number and indicates a lowerbound of that range. The value starts from o1c(=0) and o1c+(=1), o1d(=2), ... so on.
Name simply means the range's name. It should start with a capital letter.



4. Using macros for designating samples:

Why macros instead of @? It's because of the convenience.
Since each sample is recorded at different pitch, its musical scale is different from others.
For example the middle C could be o5e in one sample, but with o3a in other sample.
You might want to make them consistent somehow. And this can be done with tuning commands(h).
Macros can be used for defining both @/h. For example "High=@30 h-13".

With macros, you can also assign different volume for each range. You can assign lower volume for low pitch ranges, for instance.



For example, you define instruments and macros like this:
Originally posted by worldpeace
Code
#instruments
{
	; Format: "brr" $AA $BB $CC $DD $EE
	;   AA, BB: ADSR (AA+80)
	;   CC: Dont care (80~)
	;   DD, EE: Pitch
	"p+32.brr" $DF $AC $B8 $03 $00
	"p+24.brr" $CF $AC $B8 $03 $00
	"p+17.brr" $BF $AC $B8 $03 $00
	"p+10.brr" $BF $AC $B8 $03 $00
	"p+3.brr" $AF $AC $B8 $03 $00
	"p-5.brr" $AF $AC $B8 $03 $00
	"p-14.brr" $AF $AC $B8 $03 $00
	"p-21.brr" $BF $AC $B8 $03 $00
}

"C8=@30 h-13" ; p+32.brr
"E7=@31 h-5" ; p+24.brr
"A6=@32 h2" ; p+17.brr
"D6=@33 h9" ; p+10.brr
"G5=@34 h16" ; p+3.brr
"B4=@35 h24" ; p-5.brr
"D4=@36 h33" ; p-14.brr
"G3=@37 h40" ; p-21.brr


and you want make this track played with piano:
Code
#0		; put your piano channel here
$EE $40		; (if other instrument will be played as well in this channel, then selectively put the piano section)
o1cc+dd+eff+gg+aa+b
>cc+dd+eff+gg+aa+b
>cd-de-efg-ga-ab-b
>cd-de-efg-ga-ab-b
>cc+dd+eff+gg+aa+b
>cc+d

o4c8e8g8>c8<g8e8c4


this program will automatically generate instrument-designating commands(macros), like:
Code
#0		; put your piano channel here
$EE $40		; (if other instrument will be played as well in this channel, then selectively put the piano section)
o1 G3 cc+dd+eff+g D4 g+aa+b
>cc+d B4 d+eff+gg+aa+b
> G5 cd-de-efg-g D6 a-ab-b
>cd-d A6 e-efg-ga-a E7 b-b
>cc+dd+e C8 ff+gg+aa+b
>cc+d

o4 D6 c8 A6 e8g8> E7 c8< A6 g8e8 D6 c4


It just inserts macros right before the note when needed. So this tool let working with this piano set make easy.