midipiano_chung a program by NGUYEN.Chung (freeware 2012-2017)
brainpiano_chung version with neural network brain autochord (freeware 2017)
brainpiano2_chung version with custom neural network brainSONG music generator (freeware 2017)
note: you can save brainchord as FANN .dat training file to use with FANNtool to create a FANN .net neural network file
if the file "brainsave/mybrain.net" is found then this FANN network will be loaded as brainchord instead by brainpiano2_chung
to install, just unzip the zip file to c:/midipiano_chung folder
to uninstall , just delete unzipped folder
to run, double click on midipiano_chung.exe or brainpiano_chung.exe
you must have at least one midiinput port installed in your system.
the program takes the first selected one.
you can make multiple copies in different folders and rename midipiano_chung.exe program.
to connect to a midiplayer , you can install a program like "maple" the free version gives
you 4 out/in midi ports.
chooze the output of your midiplayer to "maple out1 port",and if midipiano is connected to
"maple in1 port" , it will sound as midi data is played.
you can select the midi out port with a midiplayer like "midi_chung" you can find there
=> http://chungswebsite.blogspot.com/search/label/midi_chung
midi usb devices (like piano keyboards) can provide their own midi input ports too.
[W]record you can record and play midi data with autostart,autopause after 14sec blanks
save,load as .midirec files compatible for editing and exporting to midifiles
by midirec_chung .(up to 200.000 messages)
brain versions : press ctrl key to display control panel
velocity curves (V key):
velo0 => linear
velo1 => curve1
velo2 => curve2 -> preferred
velo3 => curve3
automod (V key) : 0...100% automodulation rate
attack/decay (V key) : (A key)on/off
delay : you can add delay on noteoff (notes got longer) by 50...1000 ms
speed : sound speed (50..200)%
edit keyboard volume layout (values per key 0.0 .. 1.0 .. 2.0)
leftmouse button => point
rightmouse button => line
[U]undo [R]redo
up to 200 undo/redo
you can add your own user sounds ( i=10 to 14 ), they will be detected automatically.
add wav files "piano"+str(i)+"_"+str(octave)+".wav" or .mp3
octave=12,24,36,48,60,72,84,96,108 (60=middle C)
for example for i=9 add piano9_12.wav, piano9_24.wav, ..., piano9_108.wav or .mp3
to the ./sounds/ folder.
use wav 16bits 44100Hz stereo / or mp3
automatic volume control :
autovol
autovolcomp -> +compressor
autovolcomp2 -> +compressor2
autovolcomp3 -> +compressor3
autovolcomp4 -> +compressor4
equalizer edit
left mouse -> set low/high freq,level
right mouse -> set mid level
[S]save [L]load
[U]undo [R]redo (once)
keytone equalizer edit (note dependant equalizer, modify the tone of the samples)
left mouse -> set low/high freq,level
right mouse -> set mid level
[S]save [L]load
[X]on/off
[A]apply
[U]undo [R]redo (once)
keytone2 : cross-tone version of keytone
keyrev reverb edit (key dependant reverb, add reverb to the samples)
[S]save [L]load
[Y]on/off
[U]undo [R]redo (once)
[D]nodual,dual,dual2,dual3,dual4 additional keyrev to higher velocity notes
reverb2,3 reverb edit
[S]save [L]load
[U]undo [R]redo (once)
fast sounds access => enter [0],[1]...[9] keys to direct access to piano,piano1...piano9
show/hide keyboard => rightclick mouse
presets/users icons => rightclick mouse on icons
midi input port select [M]
midi input2 port select [M]
midi input3 port select [M]
midiout(thru) port select [M] to connect to a recorder and record while playing for example
(beware : don't create midiout/in loop feedback,a message will be sent if it is detected)
output buffer size [M] => 100...2048 frames (smaller->low latency, larger->higher latency)
transpose [M] => -12...+12
autovolmidi [M] => 0=none 1...127 average target velocity
dual keyrev/velo [M] => 0=none 1...4 additional keyrev to higher velocity notes
direct keyboard input => [F1] ... [F12] to play notes from computer keyboard
[Lshift]+[F1]...[F8] => select keyboard octave
[I][O]type=-7...+7 sound variation (initial=0)
direct bmp piano icons buttons :
granpiano1,granpiano2,granpiano,upright,epiano (presets in /bmp/ folder)
user1,user2,user3,user4,user5 (presets in /save/user/ folder)
plugin support :
you can add an audio plugin in the /plugin/ and /plugin2/ folders
myplugin.dll with its code source is provided as an example
if you dont want plugins,just remove them from the /plugin/,/plugin2/ folders
the following dll functions must be defined and are dynamicaly loaded :
plugininit : your init sub
pluginmain : your gui window edit (called by pressing the [G]plug key)
pluginproc : called as sample=pluginproc(sample) in the audio loop
pluginclose : called to close the plugin
new feature : now output is waveout 32bits integer if possible (plug-mm32.dll)
to return back to waveout 16bits (plug-mm.dll) , rename plug-mm32.dll -> plug-mm32_.dll
autochord learning : [W]record->[A]autochord->[M]learn automatic chord learning from played midi input data or from the internal player .
add/updates the current chord data , press [Z]reset to reinit
midipiano_chung Files
Brought to you by:
nguyenc