Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Music Software

Music Software

Scheduled Pinned Locked Moved The Lounge
comdockerhelptutorialquestion
8 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Ajit Jadhav
    wrote on last edited by
    #1

    Hi all, Looks like a lot of guys here know a lot about music. (Me? Just an average flute player while in school, and fantasizing about learning guitar ever since. But I *think* I could compose music.) A few quick qs... 1. Say, I want a software that will automatically detect musical notes from a live concert (most ambitious) and write it to a file. To isolate human voices and individual instruments will be v. tough. So, let's narrow down the problem a lot, and say there is just one instrument being played, as input. The software will be a reverse MIDI or keyboard synthesizer, sort of. What are the difficulties? How would you proceed detecting musical notes, in general terms? I did write a small FFT class (and wrapped it in COM too) to get going, but never went far beyond that. The trouble is, there are many (I don't know the exact technical term here) "overtones" even if you hit a single piano key, for example. Has anyone here thought about this before? Must have. Would you care to share your thoughts? 2. Does anyone have any ideas to share about simplifying musical notation to make it computer friendly? Have people already done it? Any ptrs will be helpful. ----- Nature, to be commanded, must be obeyed. (Francis Bacon) Nature, to be apprehended, must be obeyed. (Ayn Rand)

    L A P J 4 Replies Last reply
    0
    • A Ajit Jadhav

      Hi all, Looks like a lot of guys here know a lot about music. (Me? Just an average flute player while in school, and fantasizing about learning guitar ever since. But I *think* I could compose music.) A few quick qs... 1. Say, I want a software that will automatically detect musical notes from a live concert (most ambitious) and write it to a file. To isolate human voices and individual instruments will be v. tough. So, let's narrow down the problem a lot, and say there is just one instrument being played, as input. The software will be a reverse MIDI or keyboard synthesizer, sort of. What are the difficulties? How would you proceed detecting musical notes, in general terms? I did write a small FFT class (and wrapped it in COM too) to get going, but never went far beyond that. The trouble is, there are many (I don't know the exact technical term here) "overtones" even if you hit a single piano key, for example. Has anyone here thought about this before? Must have. Would you care to share your thoughts? 2. Does anyone have any ideas to share about simplifying musical notation to make it computer friendly? Have people already done it? Any ptrs will be helpful. ----- Nature, to be commanded, must be obeyed. (Francis Bacon) Nature, to be apprehended, must be obeyed. (Ayn Rand)

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      I've thought about this, too, and would love to get my hands on some software to do this. Any classical musician could save a fortune on sheet music with one of these. The overtones are one problem. Another problem I think would be separating out the different envelopes. This would get confusing for something like a piano because the "perceived" overtones may be overtones or they may be another note played higher up on the keyboard. As a semi-pro bass player, my personal interest in this would be to pick out the bass part of a lot of old jazz albums. Then again I have a lot of trouble hearing the notes, so I don't know if my computer could do any better. What would you want to improve to make musical notation more computer friendly? I've only thought about it a little bit, but much of the MIDI standard makes a lot of sense to me.

      1 Reply Last reply
      0
      • A Ajit Jadhav

        Hi all, Looks like a lot of guys here know a lot about music. (Me? Just an average flute player while in school, and fantasizing about learning guitar ever since. But I *think* I could compose music.) A few quick qs... 1. Say, I want a software that will automatically detect musical notes from a live concert (most ambitious) and write it to a file. To isolate human voices and individual instruments will be v. tough. So, let's narrow down the problem a lot, and say there is just one instrument being played, as input. The software will be a reverse MIDI or keyboard synthesizer, sort of. What are the difficulties? How would you proceed detecting musical notes, in general terms? I did write a small FFT class (and wrapped it in COM too) to get going, but never went far beyond that. The trouble is, there are many (I don't know the exact technical term here) "overtones" even if you hit a single piano key, for example. Has anyone here thought about this before? Must have. Would you care to share your thoughts? 2. Does anyone have any ideas to share about simplifying musical notation to make it computer friendly? Have people already done it? Any ptrs will be helpful. ----- Nature, to be commanded, must be obeyed. (Francis Bacon) Nature, to be apprehended, must be obeyed. (Ayn Rand)

        A Offline
        A Offline
        Andrew Peace
        wrote on last edited by
        #3

        Hiya, I don't think it could ever be possible for a ocmputer to transcribe music in such a way. I play clarinet, and play mostly classical music - but the tone of the sound that I achieve is different to that of a jazz clarinetist. Also, jazz instrumentalist (see other post by the guy who plays bass for jazz), particularly wind (and more so for brass players) 'bend' the pitch - i.e. they might sometimes play, on purpose, something in between C# and D - how would the computer recognise these? Also, when more than one instrument is playing at a time, they are both heard by the computer at once so at each point the sound wave is showing the sound for botyh instruments - how would it separate these? A great piece of music software we use at college is Sibelius, very expensive mind you. It doesn't do what you asked, but it can take music played from a MIDI instrument and write a full score, and then separate out the parts. As for your second question, something like this:

        class CMusicalNote : public CScoreObject
        {
        int m_nOctave;
        int m_nPitch; // ie. you could have 1 for C, 2 for D, assuming the piece is in C Major

        //etc.
        };

        Hope that helps? Andrew.

        C 1 Reply Last reply
        0
        • A Andrew Peace

          Hiya, I don't think it could ever be possible for a ocmputer to transcribe music in such a way. I play clarinet, and play mostly classical music - but the tone of the sound that I achieve is different to that of a jazz clarinetist. Also, jazz instrumentalist (see other post by the guy who plays bass for jazz), particularly wind (and more so for brass players) 'bend' the pitch - i.e. they might sometimes play, on purpose, something in between C# and D - how would the computer recognise these? Also, when more than one instrument is playing at a time, they are both heard by the computer at once so at each point the sound wave is showing the sound for botyh instruments - how would it separate these? A great piece of music software we use at college is Sibelius, very expensive mind you. It doesn't do what you asked, but it can take music played from a MIDI instrument and write a full score, and then separate out the parts. As for your second question, something like this:

          class CMusicalNote : public CScoreObject
          {
          int m_nOctave;
          int m_nPitch; // ie. you could have 1 for C, 2 for D, assuming the piece is in C Major

          //etc.
          };

          Hope that helps? Andrew.

          C Offline
          C Offline
          Christian Graus
          wrote on last edited by
          #4

          There is a program called Guitar Pro which will generate notation from a MIDI file and it costs about $50, least that was the price when I was involved with it ( not programming ). Christian The content of this post is not necessarily the opinion of my yadda yadda yadda. To understand recursion, we must first understand recursion.

          A 1 Reply Last reply
          0
          • C Christian Graus

            There is a program called Guitar Pro which will generate notation from a MIDI file and it costs about $50, least that was the price when I was involved with it ( not programming ). Christian The content of this post is not necessarily the opinion of my yadda yadda yadda. To understand recursion, we must first understand recursion.

            A Offline
            A Offline
            Andrew Peace
            wrote on last edited by
            #5

            Hi, I assume that it can't read in a WAV file though? If it can I'm imprsesed! Sibelius is what professionals use as standard now, most classical sheet music is written using it. See the Sibelius website. cheers, Andrew.

            C 1 Reply Last reply
            0
            • A Andrew Peace

              Hi, I assume that it can't read in a WAV file though? If it can I'm imprsesed! Sibelius is what professionals use as standard now, most classical sheet music is written using it. See the Sibelius website. cheers, Andrew.

              C Offline
              C Offline
              Christian Graus
              wrote on last edited by
              #6

              Sadly, no. I thought for ages about how it would be done, given a solo instrument playing with no background noise, but it never got off the ground. Christian The content of this post is not necessarily the opinion of my yadda yadda yadda. To understand recursion, we must first understand recursion.

              1 Reply Last reply
              0
              • A Ajit Jadhav

                Hi all, Looks like a lot of guys here know a lot about music. (Me? Just an average flute player while in school, and fantasizing about learning guitar ever since. But I *think* I could compose music.) A few quick qs... 1. Say, I want a software that will automatically detect musical notes from a live concert (most ambitious) and write it to a file. To isolate human voices and individual instruments will be v. tough. So, let's narrow down the problem a lot, and say there is just one instrument being played, as input. The software will be a reverse MIDI or keyboard synthesizer, sort of. What are the difficulties? How would you proceed detecting musical notes, in general terms? I did write a small FFT class (and wrapped it in COM too) to get going, but never went far beyond that. The trouble is, there are many (I don't know the exact technical term here) "overtones" even if you hit a single piano key, for example. Has anyone here thought about this before? Must have. Would you care to share your thoughts? 2. Does anyone have any ideas to share about simplifying musical notation to make it computer friendly? Have people already done it? Any ptrs will be helpful. ----- Nature, to be commanded, must be obeyed. (Francis Bacon) Nature, to be apprehended, must be obeyed. (Ayn Rand)

                P Offline
                P Offline
                Peter Pearson
                wrote on last edited by
                #7

                I don't think it would be *THAT* hard to do actually (although, admittedly, I wouldn't like to try it). The hardest bit would be to break the piece into the separate instruments. Then you'd just have to analyse the pitch of the note (C, G, etc) and its length (crotchet, minim, etc) and record it. Admittedly, it would have a problem of knowing what key the piece was in, and whether all instruments were in the same key, etc. How do telephone dialling tones work? By the frequency - they just used well-defined frequencies that mean a number. I doubt it would be easy to notate things like string bending on the guitar or vibrato, but still... There was an article in NewScientist about a month ago that told of how HP engineers had made software that could mix dance tracks almost as well as professional DJs, simply by matching the songs by their tempo and key. It would also synchronise the two tracks to be merged so the joining chords or notes would be in a relative key. Regards, Peter

                1 Reply Last reply
                0
                • A Ajit Jadhav

                  Hi all, Looks like a lot of guys here know a lot about music. (Me? Just an average flute player while in school, and fantasizing about learning guitar ever since. But I *think* I could compose music.) A few quick qs... 1. Say, I want a software that will automatically detect musical notes from a live concert (most ambitious) and write it to a file. To isolate human voices and individual instruments will be v. tough. So, let's narrow down the problem a lot, and say there is just one instrument being played, as input. The software will be a reverse MIDI or keyboard synthesizer, sort of. What are the difficulties? How would you proceed detecting musical notes, in general terms? I did write a small FFT class (and wrapped it in COM too) to get going, but never went far beyond that. The trouble is, there are many (I don't know the exact technical term here) "overtones" even if you hit a single piano key, for example. Has anyone here thought about this before? Must have. Would you care to share your thoughts? 2. Does anyone have any ideas to share about simplifying musical notation to make it computer friendly? Have people already done it? Any ptrs will be helpful. ----- Nature, to be commanded, must be obeyed. (Francis Bacon) Nature, to be apprehended, must be obeyed. (Ayn Rand)

                  J Offline
                  J Offline
                  John Fisher
                  wrote on last edited by
                  #8

                  Hi,    There are already some programs that turn a single note from an instrument or human voice into MIDI data. :eek:
                     It also would seem to me that a properly written and trained neural net could "listen" to an orchestra and produce relatively accurate notation. In fact, I'm guessing that it will eventually happen, and that upgrades to the base product will include automatic detection of instrument type. We know it can be done since our minds can do it, the question is "How hard is it?". (BTW, I'm no AI expert, so take this as dreamy speculation.) ;) Here are a few interesting links: http://www.healingmusic.net/MidiVoxQuotesFrame1Source1.htm#MidiVox%20FAQ http://www.hitsquad.com/smm/programs/Inst2Midi/ http://www.geocities.com/vocal2midi/ John

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • World
                  • Users
                  • Groups