• 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: re-sent: Help: why kAudioUnitSubType_TimePitch can't set ASBD??
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: re-sent: Help: why kAudioUnitSubType_TimePitch can't set ASBD??


  • Subject: Re: re-sent: Help: why kAudioUnitSubType_TimePitch can't set ASBD??
  • From: William Stewart <email@hidden>
  • Date: Tue, 14 Aug 2007 12:09:03 -0700

A format converter is an AU type that has a more relaxed semantic around the relationship between input and output formats. There are various and different types (what we call sub-types) of the aufc type that Apple ships (and 3rd party developers can and do as well):

(1) Deferred renderer
- it calls for input on a different thread than it is called for output. It can also "chunk up" the input pulls to a larger size than it is being asked to produce output for
(2) AUConverter
- transforms between many different PCM formats (int/float, interleaved/deinterleaved, sample rate)
(3) Merger and Splitter
- merges (or splits) input(s) to output(s)
(4) Varispeed
- varies the play rate (and pitch) of audio - 2X speed (double pitch), 0.5X speed (half pitch), etc.
(5) AUTimePitch
- independent control of both play rate and pitch.


So, The first confusion is between a component type: 'aufc' and a particular instance of that type 'conv' in the case of the AUConverter audio unit.

You can host converter units in host apps, but with some restrictions. So, in AU Lab, it will look for converter units on tracks that have a File Player as their source unit. It uses the fact (as with generator types as well), that the unit publishes a view as a signal to determine that the unit is "UI friendly". For instance, both the varispeed and time pitch units can be useful in a host app where the user can use these AUs' UI to change the rate for instance. However, other aufc units (and generators as well) are only interesting from a "programmer" point of view. For instance, an AUConverter can be used to transform ints to floats, but of its own it doesn't really have any parameters that make sense for a user to manipulate... The ScheduledSlicePlayer is another example - great from a programming point of view, but not much good for a user without a custom UI (and the file player is the version we provide with a UI that makes this useful)

The other confusion is one of requirements for supporting formats. The only format that we require all audio units to support is the canonical sample type (Float32) where the channels are de-interleaved.

The AUConverter supports more than this - that is its main job. The output units that Apple ships (generic as well as the device ones) also support the same feature set as AUConverter (primarily because they have to interface to devices that may have streams with interleaved channels and may change their sample rate outside of the control of the application).


Hope that clears up the confusion

Bill

On 14/08/2007, at 11:23 AM, David M. Cotter wrote:

if kAudioUnitSubType_TimePitch is considered a kAudioUnitType_FormatConverter, then why can I not set it's in or out
AudioStreamBasicDescription? Seems I must put a plain vanilla kAudioUnitSubType_AUConverter both in front of and behind it in order to use it? (since my audio chain uses a slightly different format than what TimePitch apparently requires?


is this expected?  if so, why is it categorized as a format converter?

---------------------
ps: the reason i am resending this is i've sent it twice already and it did not seem to go thru?
_______________________________________________
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

--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________ __
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________ __


_______________________________________________
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


References: 
 >re-sent: Help: why kAudioUnitSubType_TimePitch can't set ASBD?? (From: "David M. Cotter" <email@hidden>)

  • Prev by Date: re-sent: Help: why kAudioUnitSubType_TimePitch can't set ASBD??
  • Next by Date: simple(?) NSSound selector not recognized error
  • Previous by thread: re-sent: Help: why kAudioUnitSubType_TimePitch can't set ASBD??
  • Next by thread: simple(?) NSSound selector not recognized error
  • Index(es):
    • Date
    • Thread