DOESN'T WORK ON SCRATCH 3.0 See new version of this (v3.0) at: https://scratch.mit.edu/projects/197731062/#player Started in December 2015. It's come a long, long way. I have put a lot of effort into the making of this and I still continue making it today. PLEASE READ ALL NOTES AND CREDITS AND ALL INSTRUCTIONS, before you comment on or run the project. ------------------------------------------------------------------------------- ~~~~~~~~~~~~~~~~~USE TURBO MODE! ~~~~~~~~~~~~~~~~~ ------------------------------------------------------------------------------- There are more examples right at the bottom at Notes and Credits. This does what the title says, plays MIDI CSV files. When you go to choose an example, you can either play the Apple MIDI (this is the MIDI file which has been converted to an mp3) or Scratch MIDI (this is Scratch playing a csv file that came from the MIDI file). Play and stop button: Play: If you click the play button whilst the song is... already playing, it will play the song from beginning. paused, the song will continue playing from where you paused it. Stop: If you click the stop button whilst the song is playing, the song will pause and you can click the play button to resume. You will notice that the stop button turns into a back to start button and if this is clicked the song will rewind to the start but will still be paused, click the play button to play the song again. Track Settings: Track Editor: To access the track editor, press the little cog which is located to the left hand side of the track you would like to edit. At the moment, you can only change the instrument used and the volume of the selected track. In Version 2.0 (which will hopefully be out this summer), you will be able to actually change/create/remove events in a track (such as 'note_on_c'). The window that appears on the screen is draggable (if dragged by the light grey/gray) and you may notice that there is re-size window corner at the bottom right - this currently doesn't work (again, hopefully getting this working this summer). Mute & Solo: Both solo and mute buttons are located to the left of the track names. To mute a track, press the 'M' button next to the track you want to mute. This makes it so all the tracks that aren't muted will be the only ones you can hear. Press it again to un-mute the track. To make a track so it's the only one playing apart from if other tracks are also on solo, you will need to put it onto solo mode. To do this press the orange 'S' button and click again to put it out of solo mode. Press the red 'X' to the top right hand corner to exit the track editor. I would really appreciate it if you gave me some feedback.
IMPORTANT NOTES: BUG: If you press play when it is already playing, the timer will not stop when the song finishes, this doesn't effect playback though. USE TURBO MODE! Some songs may take some time to load. WHEN YOU CHANGE AN INSTRUMENT IN TRACK SETTINGS, WHEN YOU RESTART THE SONG IT WILL CHANGE THE INSTRUMENT BACK TO THE ORIGINAL ONE SO SET THE "READ" VARIABLE TO 0 AND THIS WON'T HAPPEN. THIS VARIABLE IS USED TO CHNAGE INSTRUMENTS DURING THE SONG IF THE MIDI PLAYER IS TOLD TO. Recording currently disabled. Scratch 2.0/Flash doesn't have MIDI so instruments may sound odd. Another bug may be where there are more channels than needed (for this player), go into the csv file and delete the "start_track"s and "end_track"s that are not needed. Increasing the speed whilst playing may speed up the MIDI really fast so it can catch up but it will eventually balance and get to that speed, decreasing the speed may stop it playing for a but as it needs to slow down and wait for the notes before to catch up to the timer. MIDI files with lots of tracks MAY not play as well, maybe not. CREDITS: Thanks @-Elec- for the split block. Thanks http://macappstore.org and some other website for the MIDI to csv converters. The rest is by me, @RobCrafter. IMPORTING: If you can't do any of the following import methods, either scroll to the bottom of notes and credits for some text files you can download then import or generate a nice tune with my new project: https://scratch.mit.edu/projects/112565366/ To import your own MIDI file (mac), go here: http://macappstore.org/midicsv/. After you have done what it says, type this into terminal 'midicsv <insert midi file> <insert midi file, but use .csv/.txt instead of .mid>. You will find the csv file on your computer now. When you see "Read notes and credits, press 'd' when done" do this -> Click 'see inside (on this project of course), right click the list and import the csv/txt file. Press 'd' when done then you might need to wait a bit. Remember that you can adjust the speed. Import (windows): http://fourmilab.ch/webtools/midicsv/#Download Thanks @DevanWolf for finding this. I don't exactly know how to use this but I can find out soon. If you would like me to add a MIDI of your choice into the examples, just throw us a link in the comments. :) CHANGE LOG (Do not have to read this bit) : v0.0: Well, I have an early version of this which you can view, just ask me here or on my profile if you wish to see it. ------------------------------------------------------------------------------- v.1.0: - Removed Enhanced Piano for reasons + Added scratch instruments + Shared ------------------------------------------------------------------------------- v1.6: - Removed piano roll for reasons - Removed actual beats for reasons + Added MIDI editor + Added single and mute channel + Added display + Added intervals, chords and more than 1 note playing at once in a channel + Added fixed beats + Added transpose + Added stop and play song buttons ------------------------------------------------------------------------------- v1.62: + Added more drum sounds ------------------------------------------------------------------------------- v1.7: + Added more samples + Added new track editor (Includes new instrument menu and track add volume) * Rearranged track choices ------------------------------------------------------------------------------- v1.75: * Broke track settings + Added pause, play and back to start ------------------------------------------------------------------------------- v1.77: * Fixed track settings ------------------------------------------------------------------------------- v1.8: + Added new screens for when you start the project ------------------------------------------------------------------------------- v1.82: * Changed the drag for track settings so it is easier to use ------------------------------------------------------------------------------- v1.9: + Added automatic and random (but not to random) and nice tune generator in Examples if you select 11. By the way in the song, it alway starts and ends with 2 bars of double bass, so don't be thinking it's always the same tune. ------------------------------------------------------------------------------- v2.0: https://scratch.mit.edu/projects/116467374/ ------------------------------------------------------------------------------- Other Examples (Don't need to read this either) : Hungarian Rhapsody 2 (fixed beats [2], speed [20] IT LASTS 548 seconds and there are some gaps so don't thing the song is finished, until the timer gets to 548) : http://s000.tinyupload.com/?file_id=84364346379938997513 Fur Elise (fixed beats [1.81], speed [9.03]) : http://s000.tinyupload.com/?file_id=77013171979674543688