Search Unity

[Official] Integrated Midi Support.

Discussion in 'General Discussion' started by CreativeChris, Jun 23, 2014.

Thread Status:
Not open for further replies.
  1. nexus42

    nexus42

    Joined:
    Jun 23, 2014
    Posts:
    13
    It' quite understandable that they are little bit upset. This thread was setup for talking about MIDI as an feature for unity3d, this has nothing - absolutely nothing to do with trackers. Period. It's not understandable that no one stops them of breaking this thread especially no moderator.
    First:
    Unity3d does not run on S60 phones. iPhone, iPad, MacOSX, Windows, Android have built in support for MIDI. The actual devices have Gigabytes of memory. Part of the MIDI standard is that a device must support the GM sound bank - as built in, if one is realy limited on kb, he can use a midi file alone and use the audio driver and sound chip of his device. In old cellphones MIDI was used to generate ringtones due to the limitation of memory. So this discussion is absolute misleading

    Second:
    As I have already mentioned using MIDI means using a completely different workflow. Bringing here tracker into the discussion means comparing apples with potatoes. What a nonsense.
     
  2. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    These platforms are also quite easily capable of MP3 playback. Why would you use MIDI? For the same reason trackers were brought into the conversation. Not every device is as unlimited as you are suggesting and some of us actually do care about the size of our games.

    Further tracker modules are already natively supported and can be put to immediate use without making additional purchases from the asset store. Even with the asset store there are only limited MIDI offerings and the reviews aren't particularly great.
     
    Last edited: Jun 28, 2014
  3. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I don't see calling someone a troll as an ad hominem attack, it's just a quick way to express disbelief at someones convictions. Is the second part a reflection of personal knowledge of the intended implementation? The subject is midi, midi can be used to do various things, music wasnt specified as the single intention of the implementation

    Ryiah i'm aware of the sample collections shipped with products like Kontakt, that is not a valid anology, and again, music was not specified in the OP. Can you point out where the word 'music' was mentioned? If i am proven wrong and the intention was purely to use the standard for music playback, i'll leave the thread in peace, if you're proposing a standard format that is supported by a lot of things should be discarded as a proposal in favor of tracker support which is only useful for one thing with a very limited selection of production software, and let's be aware Unity is targeted at professionals, not children supported by their parents, then it is hard to find you credible

    And it's alright, i'm not upset, just incredulous, given the potential of one thing in a huge sense (even as the engenderment of an attitude of Unity development that would drive the software into incredibly useful real-world cases (with no need for responsibility for it) like continuing on to support something like OSC and so on) and the almost inane triviality of another
     
    nexus42 likes this.
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    You are correct that it was never stated in the original post, but this entire sub-discussion has revolved around using MIDIs for purely musical playback and nothing more.

    I never had problems with hardware support or using it for applications or niche games. I fully understand there are some situations it makes the most sense and have even stated as such.

    As I said, tracker modules were brought into this discussion because they are roughly analogous to MIDIs from a purely musical playback perspective. At least one poster has already benefited from this information because he had never heard of the formats previously.
     
  5. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    Okay, i'll say this very slowly then. This thread is about the proposed support of MIDI, you are calling for the proposal to be discarded in favor of tracker formats, which are specialised, not really professionally supported and basically next to useless in comparison, specifically in the eyes of people who are entirely aware of the potential lying here
     
  6. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    I have never called for this proposal to be discarded except in the event that Unity does not provide full support for MIDIs. Namely support for both hardware and saving MIDIs. Anything less would be purely musical playback and inferior to every single alternate format.

    Not really professionally supported? Does that explain why Unity already supports them and does not support MIDI? Clearly they are supported because they are a popular format. At one point in time they were actually very popular with game developers. I can name at least two still active companies that used them extensively.

    One such company is currently selling a game engine for $19/mo plus 5% royalties.
     
    Last edited: Jun 28, 2014
  7. nexus42

    nexus42

    Joined:
    Jun 23, 2014
    Posts:
    13
    MDI is not a platform it's: "
    MIDI (/ˈmɪdi/; short for Musical Instrument Digital Interface) is a technical standard that describes a protocol, digital interface and connectors and allows a wide variety of electronic musical instruments, computers and other related devices to connect and communicate with one another.[1] A single MIDI link can carry up to sixteen channels of information, each of which can be routed to a separate device.

    MIDI carries event messages that specify notation, pitch and velocity, control signals for parameters such as volume, vibrato, audio panning, cues, and clock signals that set and synchronize tempo between multiple devices. These messages are sent to other devices where they control sound generation and other features. This data can also be recorded into a hardware or software device called a sequencer, which can be used to edit the data and to play it back at a later time.[2]:4

    MIDI technology was standardized in 1983 by a panel of music industry representatives, and is maintained by the MIDI Manufacturers Association (MMA). All official MIDI standards are jointly developed and published by the MMA inLos Angeles, California, US, and for Japan, the MIDI Committee of the Association of Musical Electronics Industry (AMEI) in Tokyo." ... and an industry built around that standard. MIDI itself has no sound, it's merrily a description of music (midi files)), so it can not have pure quality by definition. The quality depends only on the used sound generation: sound card, synthesizer, sound bank or whatsoever. I've tested piano pro app (1.5 GB size) with an iRIG pro keyboard on an iPad mini with headset and the sound is pretty fine. But the size of the sound bank depends highly on the instruments and the quality which is needed for a project.

    Using MIDI prohibits not the use of MP3 files for playback.

    We are interested in MIDI is the possibility to interact with music while playing on a note level in the game, using different input devices. The gamer has the possibility to provide it's own MIDI files. And we want to keep our workflow:

    Composer -> sequencer/Note editor (Logic Pro X as an example)-> MIDI, Musicxml, MP3 -> GameEngine <- Midi device.
     
  8. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    You just mentioned another game engine, your sense of scale and things in the world that can be made possible by software like unity that you wouldn't get from Steam is all out of whack
     
  9. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    According to Google's second definition, a platform is a "declared policy of a political party or group". In this case MIDI is a declared policy describing technical details of a musical protocol and is handled by a specific group. Namely the MIDI Manufacturers Association.

    A niche game. See my earlier post(s) where I specifically mentioned I have no problems with MIDI when used in this context and would actually like to see at least a level of support in Unity to cover this.

    Supporting anything less, namely lack of hardware support but also potentially inability to save MIDIs, is what I have a problem with. At that point Unity would be wasting their time and I would have a problem with them doing so.

    It was a reference to a company. Namely Epic Games. The other company that comes to mind that is still active is Codemasters. Apogee also made extensive use but they aren't much of a company anymore if they are even still in business.
     
    Last edited: Jun 28, 2014
  10. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    So.. a game company uses tracker formats. Good to know but where is the relevance?
     
  11. nexus42

    nexus42

    Joined:
    Jun 23, 2014
    Posts:
    13
    Oh an linguist. Nice :)
    I told nothing about a game. I was writing about the workflow of our music production.Saving MIDI files is a nice to have - but it should be also not to difficult to implement it once you have an MIDI file parser at hand (for the smf0 format).(I was not aware that Unity allows you to save mod, s3m, xm, it or mp3 files created during gameplay.) Indeed MIDI device support should be present.
     
  12. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853

    Those links were not my site. I found them doing a quick search for Unity software synths. I could have linked more that were in that cursory google but I thought those made the point fairly decently. Software synths are different than soundfonts. Soundfonts are samples of a sound as a granular entity like a letter is a member of an alphabet of letters in a particular style. Software synths are sounds generated by algorithms that manipulate filters and waveforms and can be quite compact depending on your needs. They are simply mathematics like Substances are for textures. If you are doing scifi ethereal washes you can basically generate a sine wave and then add various transforms and filters, reverberation and whatever algorithms you want to manipulate the final sound into a format workable for the soundtrack or audio environment you desire. In this case the size of the software synth would be quite small..the tens of kilobytes probably..and this can be manipulated further to play tones of scales with the MIDI driving the synth.

    With sound fonts, for example for a grand piano with a ten second sustain like another poster in this thread alluded to being 14MB for the entire range..well..one could easily drop that by analyzing the musical composition. What key is it in? This drops 4 out of every 12 notes or 1/3 the 14MB. Then what is the compositions range. Can the lowest and highest registers be removed without affecting it? If so then we can remove another 16 notes or more. Is it a lively piece or a plodding dirge. Chances are the 10 second sustain is not needed and one could do well with 2 seconds sustain. The sound fonts would then be about 1.5 mb for the grand piano using real world recorded samples of each key.

    Now..say you want a trap kit and a tympani for the percussion soundfonts. That is a kick, snare, 3 tom toms, floor tom, 3 hi hat sounds, crash and ride cymbals and the tympani. These, for the most part would be short samples except the crash cymbal which you would want sustain on.. That is only twelve samples.. Very small, probably under 0.5 mb. The tympani can be controlled by the portamento channel for rise and fall of head tension via the foot pedal.

    As for getting these into trackers. That is my big bitch. Trackers is a closed box to OS X. I spent a week trying to find any tool, plugin, method, script or what have you to do so as I have a whole rock opera I wanted to use as soundtracks for some mission modules I was building at the time. No go. Not an existing pipeline on OS X. I have used MIDI instruments since 1984, the first being the Alesis HR-16 drum machine. I have owned a sound studio for 30. I design installs and stages and have done so for entertainers such as Michael Jackson and the largest arts install at the 96 Olympics. As CTO of BDP Products LLC I am currently developing musical tools, instruments and software configurators for these to be multipurposed, just as stated in this thread as to what can be done with this format..control light shows, interactive robotics, game controllers. I want MIDI in the Unity core to avoid lag as I am designing the software in Unity so the configuring works in a 3D environment for visual feedback. I truly believe that what folks will come up with if this addition to Unity is done well will blow some minds around here and in the real world. It gives a real world connection via a midi cable to the internal happenings in a Unity compilation, whether app or game, and can allow the creation of expansive soundtracks that fit within the footprint of a mobile download.

    Being respectful and asking questions for clarification and avoiding assumptions certainly will elicit a more congruous tone from me.
     
  13. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853

    Nice work mod. Ignore the instigators previous ad hominems and derogatory assumptions..Typical internets moderation. The conversation was actually about why midi should be in Unity's core and the thread kept getting dragged back to trackers and music.
     
  14. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    You claimed it wasn't used professionally. Not that I really care what you claim at this point. It is very clear you are trolling and not trying to add anything to this discussion. So I'm done responding to you.

    Closest I could find regarding saving audio data was to get a stream and implement the format yourself. Though I do feel that MIDI deserves special attention because I simply cannot see most people using it merely for playback. It'll most likely end up in applications with the occasional niche game.

    Unity implementing a half-baked solution just seems like a waste of time to me.

    Very useful information. And while I do apologize for my earlier attitude towards you, you have to understand that it was not one-sided. I can generally ignore when someone uses terms such as "Windoze" despite finding it very unprofessional.

    But then you immediately started using insults by calling my advice a "stupid suggestion". What I quoted above from you is very fitting and I highly recommend you take it to heart as well.
     
  15. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    I will go off topic for one post here. I have used Macs since 92 or 93. Along the way I have had clients who insisted I use a windows box. Not one of them ever worked correctly or for an extended period before breaking. I had a brand new Dell shipped to me from a top studio and out of the box it had the blue screen of death. Prior to that I had three others die within a week. When I first started a Unity based company in 2009 we bought a new windows box and installed Windows 7.. What a nightmare compared to the macs and took twice as long and required a phone call than the five other macs combined. We needed it for running an AI app called Sylvia, which we spent the next three months teaching about an entire world and it's culture and how to have a sense of humor in replying. One day windows decided that the file suffix belonged to some app that was not even installed on the computer. We could not open it nor the Sylvia developer. So..we did get a refund from of 5K USD from the Sylvia folks and had to eat the 10-20K USD in time and the unretrievable moments of pure hilarious inspiration that were in that AI program that we spent all that time teaching it sentence by sentence. Then I can bitch about finding drivers for the dual boot iMac I set up so that the screen ratio would look proper when booting into windows. More brickwall head running. It seems these boxes/OS don't like me and I don't like them right back. They have cost me time, money and valuable work disappearing in a puff of misplaced bits. It is not an unprofessional complaint or brand bias based on fanboisim. If I used a chainsaw and the chain flew off and cut me I would not be inclined to use that brand again, regardless of if my neighbors had never had the same thing happen to them.
     
  16. c-Row

    c-Row

    Joined:
    Nov 10, 2009
    Posts:
    853
    If they went the extra mile and would allow us to mute single tracks in a MIDI file it would already be better than their tracker support, mind you. Even with the proposed changes in Unity 5 the best way to do dynamic soundtracks is providing each channel as its own mp3/ogg/wav file which would totally bloat the game with every additional channel, while on the other hand MIDI and tracker files could stay the same size while allowing for a simple myFile.channel[x].SetVolume(y).

    I don't care about any uses beyond music playback.
     
  17. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,660
    Yes, that's the point. It can be used to do various things. A major use case is music, but it's not the only use case. And discussion of whether MIDI will help with music use cases (as opposed to existing tracker support etc) does not invalidate any discussion of whether it helps with other use cases, so there's no need for anyone to get upset about it.
     
  18. nexus42

    nexus42

    Joined:
    Jun 23, 2014
    Posts:
    13
    I'll never wrote we want to use MIDI only for playback or that smartphones are to limited to play mp3. Or that we will not use music in mp3 format. This size-of-file topic was brought by your self into the discussion promoting this tracker stuff. Trackers are an absolute niche product for music production and are used only by specialized scene. Have you ever compared tools like Cubase, Reason, LogicPro, etc with something like Renoise? Do you really believe that a musician will switch from one of the former tools to a tracker tool? It's the workflow stupid.

    The limited offers (sfz files only, not updated) on the asset store were the reason why we asked Unity3d for low level MIDI support. Our decision to upgrade to unity5 pro from unity pro 4 depends on that.
     
  19. c-Row

    c-Row

    Joined:
    Nov 10, 2009
    Posts:
    853
    As someone who uses Reason, Live and Renoise on a regular basis I feel the need to say that this is nonsense.
     
  20. nexus42

    nexus42

    Joined:
    Jun 23, 2014
    Posts:
    13
    At least for us it's nonsense to use a tracker tool. It's not in our tool chain. We need MIDI support for the reasons mentioned in earlier posts.
     
  21. nexus42

    nexus42

    Joined:
    Jun 23, 2014
    Posts:
    13
    One could raise the question: why are you not satisfied with the current supported audio file formats? Here some of the answers I have seen so far:

    - Some want to have smaller file sizes using the internal GM sound bank.
    - Some want to interact with the music at realtime on note level.
    - Some want have the scores exported form there note editor displayed in sync with the MIDI.
    - Some want to use midi devices as unique game controller.
    - Some wants to use midi/osc in real time stage installations. (May be something like vdmx http://vidvox.net)
    - Some wants to use mid/osc to connect gamers with interactive music and/or video installations.
    - Some wants to keep there workflow using midi and sound banks.
    - Some wants to use a widely accepted industry standard.
    ....
    May be I haves missed some answers.

    That should be discussed or challenged. But if the signal to noise ratio is to low the message gets lost and that is what happens here with this tracker stuff promotion. I made my points and it's up to unity to decide.
     
    superpig likes this.
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    Except I did not start that specific topic. It was introduced prior to my joining the discussion.

    I fail to see the need to bring personal insults into any conversation.
     
    Last edited: Jun 29, 2014
  23. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    I believe he was paraphrasing a US politics quote that has varied widely from the original which was "it's the economy stupid" which Clinton used against Bush 1 to defeat him in 92. Since then it has alliterated all over the map..with the workflow version now apparently the latest. If you are not american this could go right by you and be taken as a personal insult. I do not think it was from the context he used.
     
    Last edited: Jun 29, 2014
  24. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    Nice to know. I am actually American, but I do tend to avoid anything related to politics or economy. Most of my focus does tend to stick around computers and other science topics. Probably far more than is actually healthy.
     
  25. nexus42

    nexus42

    Joined:
    Jun 23, 2014
    Posts:
    13
    Yes I cited Clinton. It was not mentioned as an personal insult, as the original phrase was not mentioned as a personal insult. The phrase is quite famous outside of the US.
    (http://en.wikipedia.org/wiki/It's_the_economy,_stupid)
     
  26. CreativeChris

    CreativeChris

    Unity Technologies

    Joined:
    Jun 7, 2010
    Posts:
    457
    Thanks everyone for your time, replies and discussions, this has helped us out a lot. Feedback is very much noted!

    This thread will close now, we have noticed there is more demand then we expected for some level of Midi support / workflow integration, we cannot promise working on anything but it's in our thoughts now.

    Once again, great stuff everyone, catch you soon!
     
    Fenikkel likes this.
Thread Status:
Not open for further replies.