Skip to content

danilw/ShadertoyMIDI_in_C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShadertoyMIDI_in_C

What is this - this is port to C from C# of original https://github.com/P-i-N/ShadertoyMIDI

Use case - to display/convert timings of notes.
Create small segments of music and convert timings or small repetitive segments.

Limitations:

  • it does work
  • but...
  • "audio quality" is very different(bad) to original midi - because used simple sine-wave as audio generator
  • and drums not supported

Use example:

  • As midi-web-editor use - https://github.com/ryohey/signal or web or exact same web midi app
  • Add notes in web editor or drop midi file - click file-save
  • build this ShadertoyMIDI_in_C
  • gcc midi2glsl.c -lm -o midi2glsl
  • convert midi with
  • ./midi2glsl test.mid out.glsl
  • open in test editor out.glsl
  • replace Common code with generated in
    https://www.shadertoy.com/view/ftySWm - read athibau comment on shadertoy page explain why sound so lowq
  • or same shader code in example here
  • if too large - around 1000 vec4 array should work everywhere - cut length of song to smaller to fit
  • and compare to converted to shadertoy "sound quality" - it will be bad
  • but maybe atleast "timings" can be used for something
  • as I said in use case - converting small parts of musics is probably only one use case

About

convert midi file to GLSL for Shadertoy, this is port to C of C# original https://github.com/P-i-N/ShadertoyMIDI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors