ste-art
Pianofall prerender mode tutorial
updated
Midi by 변화일상
Minimalist Christmas Asset Pack by Broken Ellipse
Made with Pianofall: pianofall.com
It's been almost five years since the last update, and it's safe to say that Pianofall has been discontinued. But instead of burying the project, I decided to release it as open source so that anyone with knowledge of Unity could modify it. For example one can add some custom assets to the scene and make an unique video.
I'm not going to add new features anytime soon, but I would accept pull requests.
Visit the landing page pianofall.com or go directly to GitHub github.com/ste-art/Pianofall
Download: pianofall.com
--Fixed:
- Options menu and MIDI devices don't work without Visual Studio 2015 installed.
==========================================
Download: pianofall.com
-- Added:
- MIDI device support.
- Keyboard input.
- Sustain pedal and NoteOff events in build-in audio processor.
- Options menu.
- Unity Analytics.
- Readme for Linux.
- Wav audio output.
-- Improved:
- Prerender mode performance. Especially on multicore CPU and SSD.
- Build-in audio processor polyphony. Now each midi channel on each track has its own 128-note processor.
- Camera can now be moved with arrow keys.
-- Fixed:
- Bug 7: Incorrect resolution in fullscreen.
- Bug 10: Closing game when playing midi causes crash.
-- Resolved:
- Task 5: In "Esc" rename "Exit" button to "Main menu" and add "Exit" button what closes the game.
- Task 8: Increase poliphony.
- Proposal 24: Ubuntu need not covered in readme.
==========================================
Music: Aretes by Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0 License
http://creativecommons.org/licenses/by/3.0
==========================================
pianofall.com
Midi: dropbox.com/s/xeso1ci5yg1h188/ppap_converted.mid?dl=0
============================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
============================================
Made with Pianofall: pianofall.com
Download: pianofall.com
-- Added:
- Main menu.
- Preset menu. Editing, saving, loading.
- File, folder and color dialog windows (Mono).
- Micro menu (Esc).
- Color mode: TrackChannelRandomHue.
- Ability to move notes and floor with left mouse button.
- Progress percentage in Audio mode.
==========================================
It's been awhile since the last update. Sorry.
In this year I'll try to make updates a bit more often.
If you find a bug, or have feature proposal, please open an issue here: bitbucket.org/steart/pianofall/issues?status=new&status=open
==========================================
Midi: Medley of chiptune by Snake8Bit
youtube.com/watch?v=sw98e8w1CwE
==========================================
Video Length: 00:04:22.884
Render time: 02:41:15.182
Total notes: 446151
Original video and midi download link: youtube.com/watch?v=9DW1Hzac48g
============================================
Title: 千本桜 (Senbonzakura)
Black Midi by: Tikronix
Original track by: 黒うさP (Kurousa-P)
============================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
============================================
Made with Pianofall: pianofall.com
Video Length: 00:04:19.884
Render time: 00:30:25.232
Total notes: 106000
Original video and midi download link: youtube.com/watch?v=-53vXIvJkok
============================================
Title: Onigashima in the Fairyland ~ Missing Power
Black Midi by: ScubDomino
From: Touhou Project Immaterial and Missing Power
By: Zun
============================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
============================================
Made with Pianofall: pianofall.com
Video Length: 00:01:46.717
Render time: 00:20:56.590
Total notes: 100000
Original video and download link: youtube.com/watch?v=DUgINWBcuwg
============================================
Title: Guren no Yumiya
Black Midi by: BusiedGem
From: Attack on Titan/Shingeki no Kyojin
============================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
============================================
Made with Pianofall: pianofall.com
Video Length: 00:01:38.017
Render time: 02:23:50.523
Total notes: 834923
Total blocks: 436544
Original video and download link: youtube.com/watch?v=aOzUqt6Tjnc
============================================
Title: Mary Had a Little Lamb of Death!
Black Midi by: TheSuperMarioBros2, EpreTroll
============================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
============================================
Made with Pianofall: pianofall.com
Download: pianofall.com
-- Added:
- Configurable notes color modes: BlackAndWhite, Rainbow, RandomHue, ChannelRGB.
- Configurable background color.
- Configurable floor color.
- Ability to move, rotate and scale the floor.
-- Improved:
- Soundfonts complemented with full 128 note samples (instead of old 88).
- Fixed camera roll and pitch clamp.
- Fixed percussion being played as piano in realtime mode.
Still no GUI, sorry.
==================================================
Title: Nyan cat - Impossible remix
Arranged by: BobGmbH
Original video: youtube.com/watch?v=VaA0qbLCdOI
==================================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
Block limit: 15000
Video Length: 00:04:11.450
Render time: 00:58:31.591
Total notes: 384496
Total blocks: 299271
============================================
Title: 恋色マスタースパーク
Black Midi by: TheTrustedComputer
From: Touhou Project Imperishable Night
By: Zun
============================================
Soundfont from http://www.multiplayerpiano.com
Made with Pianofall: pianofall.com
Block limit: 15000
Video Length: 00:05:36.834
Render time: 00:41:31.826
Total notes: 111474
Total blocks: 111348
===============================================
Title: 少女綺想曲 ~ Dream Battle
Black midi by: TheTrustedComputer
From: Touhou Project Imperishable Night
By: ZUN
===============================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
===============================================
Made with Pianofall: pianofall.com
Video Length: 00:03:52.4670000
Render time: 00:23:26.1570603
Total notes: 3700
Original video: youtube.com/watch?v=IHWB7Apz-FQ
=================================================
Title: 輝く針の小人族 ~ Little Princess
Arranged by DMBN (http://easypianoscore.jp)
From: Touhou Project Double Dealing Character
By: ZUN
=================================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
=================================================
Made with Pianofall: pianofall.com
Video Length: 00:04:03.950
Render time: 00:30:02.787
Total notes: 91031
Origina video and midi link: http://www.youtube.com/watch?v=Y4i7_QmRw9A
===============================================================
Title: Marisa Stole the Precious Thing (魔理沙は大変なものを盗んでいきました)
Black midi by: Ryan TTC
Arragement by: IOSYS (ARM)
Based on: Doll Judgement – The Girl Who Played with People’s Shapes
From: Touhou Project 7: Perfect Cherry Blossom
By: ZUN
===============================================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
===============================================================
Made with Pianofall: pianofall.com
Requested by Daniel Gregory
Original video and midi link: youtube.com/watch?v=j3tnjEkPc4M
Block limit: 15000
Video Length: 00:03:42.150
Render time: 00:58:46.235
Total notes: 605034
Total blocks: 396963
========================================
Title: The Doll Maker of Bucuresti
Black midi by: Daniel Gregory
From: Touhou Project 7: Perfect Cherry Blossom
By: ZUN
========================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
========================================
Made with Pianofall: pianofall.com
Video Length: 00:00:46.034
Render time: 00:04:06.138
Total notes: 374
=================================
Track: Nyan cat
NMPB Index: 0
=================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
The issue is currently Pianofall supports only NoteOn events and unable to stop notes, thereby notes start and sound until sample ends, or next sample overlaps it. Somehow the old soundfont fits it very well.
This time I tried Keppy's Steinway Piano (Grand Piano, 10sec damperless version). I think it sounds really great with normal midis, but I'm not sure about black ones. What do you think?
Compare with same video with the old soundfont: youtube.com/watch?v=lwo2M3aISG4
Track requested by Tikronix.
Original video and midi link: youtube.com/watch?v=PqjxqGcu-Z0
Block limit: 15000
Video Length: 00:03:42.667
Render time: 01:38:11.000
Total notes: 589508
Total blocks: 583719
============================================
Title: Gensokyo Millennium ~ History of the Moon
Black midi by: EpreTroll
From: Touhou Project 8: Imperishable Night
By: ZUN
============================================
This soundfont was made by Keppy Studios licensed under (CC BY 4.0)
Archive: http://web.archive.org/web/20150910003452/http://keppystudios.com/kspproject.html
============================================
Made with Pianofall: pianofall.com
This mode has 4 levels of reduction: from 1 to 4 ms periods.
If frame generates less than 128 blocks, double notes are allowed.
If greater than 128 - doubled being removed in 1 ms step.
If greater than 256 - 2 ms step. And so on up to 512.
Total notes count is 7777131, but the track supposed to be 8.1 million. It happened because of some notes being placed in channel 9 (#10 if counting from 1).
According to MIDI standard channel 9 can contain only drums/percussion. So Pianofall ignores this channel to prevent false piano sounds caused by percussion that usually happens in non-black midis.
The sound was manually normalized to prevent clipping on overloads. Due to floating point format it is easy to fix clipping even after the sound had been rendered, just by lowering the volume. What is impossible with standard 16bit integer format.
Block limit: 12000
Total notes: 7777131
Total blocks: 1746666
Requested by Tikronix.
================================
Title: Anti-Chlorobenzene
Black midi by: Thinker-AI
Original by: オワタP
================================
Made with Pianofall: pianofall.com
This applies only visual blocks. All the sounds are played in all modes.
0 - No doubles removing.
1 - Removes doubles within one frame
2 - Removes doubles within one millisecond.
3 - Removes doubles within one millisecond but only in frames with heavy block generation.
This video is rendered in mode 3. It allows to generate doubles on easy parts (like at 0:05 - some notes generates two blocks) and skip doubles on hard (like at 2:45) and allows to render some heavy tracks without crashes.
This video consists of 12500 frames.
It takes only 30 minutes to render 10900 frames.
And about 12 hours to render the rest 1600 - the heavy ones like at 2:44 - 2:56.
Maybe I need to increase double reduction period (2ms, 3ms) depending on frame heaviness. Sinse result will look the same, but it could save time.
-------------------------------------------------------------------------------------
Requested by: EpreTroll
Oridinal video and midi link: youtube.com/watch?v=wt1L8GnYxTk
Block limit: 15000
Video length: 00:03:29.534
Render time: 12:15:15.764
Total notes: 5507122
Blocks generated: 1723153
==========================================
Title: Reach for the Moon ~ Immortal Smoke
Black midi by: EpreTroll
From: TouhouProject 8: Imperishable Night
By: ZUN
==========================================
Made with Pianofall: pianofall.com
Original video (broken?): http://www.nicovideo.jp/watch/sm16607432
Midi link: http://ll.la/mR*R
Block limit: 15000
Video length: 00:03:48.3000000
Render time: 00:46:22.5396042
Total notes: 41378
========================================
Title: 冥土革命サクヤの譜面を真っ黒にしてしまった
Black midi by: XRCreate
Original Lunar Clock ~ Luna Dial
From: Touhou Project 6: EoSD
By: ZUN
NMPB Index: 12621
========================================
Made with Pianofall: pianofall.com
Video length: 00:02:24.934
Render time: 02:41:18.197
Total notes: 197660
Original video and midi link: http://www.youtube.com/watch?v=ZHFVPtU2wxI
=======================================
Title: Ode to Insane Joy
Black midi by: RetroUniversalHT
Original track: Ode to Joy
Composer: Ludwig Van Beethoven
NMPB Index: 18356
=======================================
Made with Pianofall: pianofall.com
Block limit: 15000
Video length: 00:03:10.634
Render time: 00:35:32.954
Total notes: 116504
=================================
Title: Jingle Bells
Black Midi by: 변화일상
Original by: James Lord Pierpont
=================================
Made with Pianofall: pianofall.com
Original video and midi link: http://www.youtube.com/watch?v=fRxBFaTh_8Y
Block limit: 15000
Video length: 00:02:01.050
Render time: 00:28:46.702
Total notes: 134069
=======================================
Title: Crystallized Silver
Black Midi by: EpreTroll
From Touhou Project 7: Perfect Cherry Blossom
Original by: ZUN
NMPB Index: 22904
=======================================
Made with Pianofall: pianofall.com
Before start the rendering I use a script to count how many notes it generates each frame (assuming 60 fps). The maximum in this track is 24698, so I set the block limit to 25000. But after about two hours of rendering it crashes with some internal PhysX error.
Therefore I have to set the limit to 20000.
But since it has 5 frames with higher block generation rate, some of the blocks was created and deleted before phisics and graphics was applied. In fact it skipped 20109 blocks.
Requested by MegaSantiago200 and vesteel
Original video and midi link: youtube.com/watch?v=cuQpPDUCS5A
Blocks per frame: 20000
Video length: 00:03:43.950
Render time: 05:27:49.383
Total Notes: 779201
Blocks Created: 759092
===================================
Title: Super Moldy Apple
Black Midi by: TheSuperMarioBros2
Based on: Bad Apple!!
By: Alstroemeria Records
Based on (again): Bad Apple!!
From: Touhou Project: Lotus Land Story
By: ZUN
NMPB Index: 22349
===================================
Made with Pianofall: pianofall.com
And then just chrashed. Maybe ate all my 32 GB RAM.
I should try it again after some optimizations.
Requested by Tikronix.
Original video and midi link: http://www.youtube.com/watch?v=pP73Xp68WII
================================
Title: Anti-Chlorobenzene
Black midi by: Thinker-AI
Original by: オワタP
================================
Made with Pianofall: pianofall.com
Looks like tracks with greater than 1 million notes don't sound good on Pianofall.
Requested by Ryan Video Channel (a20229644)
Block limit: 15000
Video length: 00:01:16.150
Render time: 04:04:11.958
Total notes: 1019046
==========================================
Title: Kuk
Black Midi by: Snake8Bit
Original by: Ogge
NMPB Index: 22870
==========================================
Made with Pianofall: pianofall.com
Original video: youtube.com/watch?v=T0XbN_N6cmM
Block limit: 15000
Video length: 00:03:54.050
Render time: 01:01:58.174
Total notes: 266494
==================================================
Title: Let It Go
Black midi by: Zarhym Raider
From: Frozen
Original Composers: Kristen Anderson-Lopez, Robert Lopez
NMPB Index: 17515
==================================================
Made with Pianofall: pianofall.com
Original video: youtube.com/watch?v=ZQ7ipUQoik8
Block limit: 15000
Video length: 00:03:15.784
Render time: 00:36:22.726
Total notes: 33456
=======================================
Title: Pi
Based on TSMB2's 3.1415 Million notes version
NMPB Index: 21084
=======================================
Made with Pianofall: pianofall.com
Video and midi link: youtube.com/watch?v=7qDTRq-FhKQ
Blocklimit: 15000
Video length: 00:06:10.567
Render time: 01:21:35.330
Total notes: 166112
========================================
Title: Necrofantasia ~ All Hell Freezes Over aka Necrofantasia II
Black midi by: kakakakaito1998
Original track: Necrofantasia
From: Touhou Project 7 Perfect Cherry Blossom
Original composer: ZUN
NMPB Index: 17470
========================================
Made with Pianofall: pianofall.com
Original video and midi link: http://www.youtube.com/watch?v=wkyGQnZNLYY
Block limit: 5000.
Video length: 00:00:56.434
Render time: 00:09:48.200
Total notes: 11899
======================================
Title: FUCK OFF!!!
By: Chris Kogos
NMPB Index 4129
======================================
Made with Pianofall: pianofall.com
Original video and midi link: youtube.com/watch?v=sw98e8w1CwE
Block limit: 15000
Video length: 00:07:01.717
Render time: 01:21:28.472
Total notes: 41666
======================================
Title: Medley of chiptunes
By: Snake8Bit
NMPB Index: 14606
Original track list:
0:00 Infected - MapEdit
0:33 Ogge - Kuk
1:39 Thomas Danko - Plastic Pop
2:09 KiNDLY - Tuber Theme #14
2:31 Mark 'TDK' Knight - Chubby Chubby Chip Chip
4:05 tPORt - Shuric Scan
4:43 Digital Insanity - Unreal Superhero 3
5:51 Brandon Walsh (Daniel Wressle) - Chip. House. Doskpop. Love.
======================================
Made with Pianofall: pianofall.com
Video length: 00:04:32.934
Render time: 00:55:31.815
Total notes: 101079
=========================================
Title: Po Pi Po
Composer: LamazeP
Black midi by: Kakakakaito1998
NMPB Index: 7158
=========================================
Made with Pianofall: pianofall.com
Video time: 00:02:29.767
Render time: 00:23:34.983
Total notes: 54186
====================================
Title: Lag tester
Based on Snake8Bit's 1.92 million notes lag tester
NMPB index: 16081
====================================
Made with Pianofall: pianofall.com
Video length: 00:02:56.134
Render time: 00:39:06.986
Total notes: 88725
==========================================
Title: Shanghai Teahouse v2 [88k notes]
Arranger: ThinkerAI
Origina track: Shanghai Teahouse ~ Chinese Tea
From: Touhou Project 6: EoSD
Composer: Zun
NMPB Index: 18142
==========================================
Made with Pianofall: pianofall.com
Max blocks per frame: 5000
See aslo 20k version: youtube.com/watch?v=gzqaTHEocvA
Video length: 00:02:24.9340000
Render time: 00:36:53.8887142
Total notes: 399113
Original video and midi link: http://www.youtube.com/watch?v=ZHFVPtU2wxI
=======================================
Title: Ode to Insane Joy
Black midi by: RetroUniversalHT
Original track: Ode to Joy
Composer: Ludwig Van Beethoven
NMPB Index: 18356
=======================================
Made with Pianofall: pianofall.com
It takes more than two minutes to render 16 seconds video.
Look for black midi renders soon.
===========================================
Title: wind
NMPB index: 7550
===========================================
Made with Pianofall: pianofall.com
It removes note quota limitations and gives smoother playback.
--------------------------------------------------------------------------------------
Track: Night of Nights
Artist: COOL&CREATE
Original track: Flowering Night
From: Touhou Project Games (PoFV, SWR)
Original composer: ZUN.
NMPB index: 149.
--------------------------------------------------------------------------------------
Made with Pianofall: pianofall.com
It's not Unity or something. Just pure C# and OpenGL.
Sorry for low resolution.
2012.
To prevent lags I had to reduce object limit down to 150.
And the sound is a bit laggy - Look's like "StopWatch" class uses high precision timer only on Windows and on Android it replaces it with standard precision (it's not enough for smooth sound).
Evidently to port it to Andriod I'll have to write some platform specific code to make it use high precision timer everywhere.
And yes, It's still connected to http://www.multiplayerpiano.com
---------------------------------------------------------------------------------------------------------------------------
Title : 化け猫が魔女達の舞踏会をスタジオで弾いてみた (Witches Dance Party)
Circle : AssaultDoor
Arranger : setsugen
Piano : 猫娘。
From: Theme in Touhou 7.5 - Immaterial and Missing Power, and Touhou 12.8 - The Great Fairy War ~ Eastern Three Fairies
Original composer: ZUN
NMPB Index: 3
---------------------------------------------------------------------------------------------------------------------------
It takes a plenty of time to accomplish this. Unity inself is unable to process that much sounds. 256 sound sources is the hardcoded limit and lags as hell.
So I have to write my own sound system. It's able to process more than 1500 sounds per frame (it's sometimes happes on black midis) and still runs smoothly.
This sound system has also an advantage: since I do all the processing manually, I can control the time when sound is being processed. It means it's maybe possible to make prerendered 60fps videos for really black midis with millions of notes what can't be usually processed in realtime.
--------------------------------------------------------------------------------------
Track: Last Brutal Sister Flandre Scarlet
Artist: COOL&CREATE
Original track: U.N. Owen was her?
From: Touhou Project 6: Embodiment of Scarlet Devil
Original composer: ZUN.
NMPB index: 190.
--------------------------------------------------------------------------------------
------------------------------------------------------------------------------
Track: Necrofantasia. http://www.youtube.com/watch?v=PKtrMQBNzZQ
From: Touhou Project 7 Perfect Cherry Blossom
Black Midi arranger: kakakakaito1998
Original composer: ZUN
NMPB Index: 669
------------------------------------------------------------------------------
--------------------------------------------------------
0:19
Track: Nyan cat
NMPB Index: 0
--------------------------------------------------------
0:58
Track: All Notes
NMPB Index: 13063
--------------------------------------------------------
1:08
Track: Full NoteQuota
By: Ste-art
NMPB Index: 12553
--------------------------------------------------------
1:20
Track: Circus Galop
By: Marc-André Hamelin
NMPB Index: 7291
--------------------------------------------------------
Video recording software: FFmpeg + screen-capture-recorder filter.