ethman / slakh-generation Goto Github PK
View Code? Open in Web Editor NEWA project to synthesize massive amounts of multitrack audio data from MIDI.
Home Page: http://www.slakh.com/
License: MIT License
A project to synthesize massive amounts of multitrack audio data from MIDI.
Home Page: http://www.slakh.com/
License: MIT License
Hi, I am trying to install boost-python for renderman, but I get "Error: boost-python has been disabled because it does not build!". Any support for python3 coming soon ? Thank you!
Includes getting boost and boost-python linkage for python3
Hi Ethan,
I'm reading your code, and I found something confusing:
line 111 - 116
in the function check_midi_file
in render_by-instrument.py
:
# Make sure there's more than one TYPE of instrument
unique_inst = len(set([utils.get_inst_class(inst_classes, i, pgm0_is_piano) for i in pm.instruments]))
if unique_inst == len(pm.instruments):
# There's only one type of source!
return False
Are these lines only allowing those midi files with some instruments included, those but of the same 'class', to pass?
For example, if we have a midi file with only two tracks and they are asigned with violin (program number 40) and piano (program number 0), respectively. And this midi file will simply not pass the check, does this make sense?
Maybe these lines were intended to be deleted but you forgot? Because in the function header, you did not even mention the TYPE criterion.
Regards!
Jianye
Hello,
After listening to some tracks from Slakh, I have the feeling that there is a mismatch between general MIDI pitches and the mapping Kontakt uses for the drum instruments.
For example, pitch 53 refers to "Ride Bell" in general midi and "Hi Tom Right" in Kontakt (at least in my version: Kontakt Factory 1.4.2, patch Band/Pop Kit).
This might mean that the synthesized audio is not representative of the intention of the annotator of the midi file if this person was using general midi. Moreover, pitches 60 to 71 seem to make Kontakt play sequences of notes instead of a single one, which might lead to synthesized audio even more different (and less realistic?) than the intended one.
Is this intended?
The differences between general midi and Kontakt I identified are pitches 52, 53, 54, 58, 60 to 71.
MIDI rules are important for making some patches work, and require some explaining.
In prepare_midi()
the param same_pgms_diff
governs if we will render two MIDI tracks that have the same program number with the same patch. This option needs to be propagated up so that it is controllable via config.json
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.