Coder Social home page Coder Social logo

ethman / slakh-generation Goto Github PK

View Code? Open in Web Editor NEW
53.0 53.0 4.0 55.82 MB

A project to synthesize massive amounts of multitrack audio data from MIDI.

Home Page: http://www.slakh.com/

License: MIT License

Makefile 0.05% C 21.00% C++ 66.47% Objective-C++ 3.67% Objective-C 7.84% Java 0.76% CMake 0.05% R 0.02% Ruby 0.01% Python 0.14%

slakh-generation's People

Contributors

ethman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

slakh-generation's Issues

boost-python does not build

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!

Code: check_midi_file function: ignore only one TYPE?

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

Ambiguous mapping between MIDI to drum instruments

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.

Bubble up same_pgms_diff

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.