• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: MIDI Transpose?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MIDI Transpose?


  • Subject: Re: MIDI Transpose?
  • From: Brian Willoughby <email@hidden>
  • Date: Tue, 3 Jun 2008 14:18:48 -0700


On Jun 3, 2008, at 07:29, Jay Koutavas wrote:
The preflight tweaking of the loaded file is a clever idea which had not occurred to me. However, reloading the file each time the transpose request occurs is cumbersome. We need to transpose numerous times after a given load. Even while playing, ideally.

Now that you've described a need for transposition while playing, that pretty much puts the nail in the coffin on handling transpose while reading the file.


Manipulating the notes mathematically on the fly seemed less daunting then pitch bending. But Peter's suggestion about tweaking the time pitch unit makes it seem less so.

Not only less daunting, but better-sounding, and less CPU-intensive. It's practically sacrilege to use the time pitch unit when you are playing MIDI data. The audio quality will suffer and the CPU usage will go up. I don't think you've begun to exhaust the CoreMIDI options just yet.


Bill pretty much put the nail in the per-midi note transpose on-the- fly when he stated there's not destination endpoint representing speakers.

I disagree with your interpretation. You've not examined the options of disconnecting your MIDI player from the sound generator. So long as you connect your MusicPlayer directly to the selected MIDI device, you're stuck with the untransposed pitches. You should examine my suggestion to use a virtual end point between the sequence and the synth.


It might help to point out that speakers are not MIDI devices. Even if you had a destination endpoint for the speakers, how could you transpose the MIDI data on a device that doesn't deal with MIDI data?

I think you should describe your intended MIDI system arrangement. Do you support external MIDI devices? If so, then time pitch will not be able to affect the audio without additional CoreAudio routing and substantial audio interface I/O. Do you limit your users to only using software MIDI instruments? Is your program restricted to only the Apple DLS Synth? If the latter is the case, then you could create a virtual MIDI input which transposes incoming MIDI data and then sends it to the DLS Synth. You would then modify your current MusicPlayer to send the SMF playback data to your virtual MIDI port instead of directly to the DLS, and thus you would have on-the-fly transposition. The sound quality in this arrangement will be superior to using the time pitch unit, and it will take less CPU.

P.S. You could also consider sending a MIDI Transpose Event to the Apple DLS Synth without altering the MIDI data. I have not tested this fully for compliance, but the MIDI specification has very flexible transpose features, and most General MIDI Devices are required to implement these features.

Brian Willoughby
Sound Consulting

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: MIDI Transpose?
      • From: Jay Koutavas <email@hidden>
    • Re: MIDI Transpose?
      • From: Jay Koutavas <email@hidden>
References: 
 >Re: MIDI Transpose? (From: William Stewart <email@hidden>)
 >Re: MIDI Transpose? (From: Jay Koutavas <email@hidden>)
 >Re: MIDI Transpose? (From: William Stewart <email@hidden>)
 >Re: MIDI Transpose? (From: Jay Koutavas <email@hidden>)
 >Re: MIDI Transpose? (From: Brian Willoughby <email@hidden>)
 >Re: MIDI Transpose? (From: Jay Koutavas <email@hidden>)

  • Prev by Date: Re: Downsampling / channel reduction
  • Next by Date: Re: MIDI Transpose?
  • Previous by thread: Re: MIDI Transpose?
  • Next by thread: Re: MIDI Transpose?
  • Index(es):
    • Date
    • Thread