Jump to content
IGNORED

iTunes and Audio Midi Settings


Recommended Posts

Chris,

 

Why is it necessary to close/reopen iTunes when changing audio midi settings?

 

My DAC displays input frequency, and when I change midi settings on the fly, they are immediately recognized by the DAC. My limited understanding is that midi adjusts the selected output device on the Mac, and is "downstream" of iTunes. Doesn't iTunes ouput a file in its native format "upstream" of the output device? If so, why is iTunes affected by the midi settings?

 

Thanks,

 

Bob

 

BPT 3.5 Ultra/Reference 3A Reflectors/MSB Technology S201 Amplifier/MSB Technology Analog DAC/MSB Technology Network Renderer/Audirvana +

Link to comment

Thanks Steve.

 

It's still confusing. . .I'm not upsampling, I'm playing the file in native resolution and I want the output device settings to match that resolution. So, if I change the midi settings to match the file, why do I need to do anything with iTunes?

 

BPT 3.5 Ultra/Reference 3A Reflectors/MSB Technology S201 Amplifier/MSB Technology Analog DAC/MSB Technology Network Renderer/Audirvana +

Link to comment

Hi Bob - My DAC also displays the sample rate and changing audio midi certainly does change the sample rate of OS X and the display on the DAC. However, iTunes looks at the audio midi sample rate at the time the program is opened and locks on that rate. It will output that sample rate until it is closed and reopened.

 

Does this clear it up? Let me know.

 

Founder of Audiophile Style | My Audio Systems AudiophileStyleStickerWhite2.0.png AudiophileStyleStickerWhite7.1.4.png

Link to comment

If I launch iTunes with the Midi set to 16/44.1 and play a file that is true 24/96, my DAC shows it is receiving 16/44.1 input, but if I then change the Midi setting to 24/96 (while the 24/96 track is still playing) the DAC then changes to show that it is now receiving a 24/96 input. So is it actually sending the 24/96 file in its native resolution or not?

 

 

Dave Clark[br]Editor, Positive Feedback Online

Link to comment

Got it... so at first it is downsampling the 24/96 to 16/44.1, then upsampling the 16/44.1 to 24/96... and I guess if you change anything else after that it can become rather convoluted... would be nice if someone would fix this... iTunes 10 anyone?

 

Dave Clark[br]Editor, Positive Feedback Online

Link to comment
  • 3 weeks later...

DJ -

 

I would think that you would need to change the output type to match the audio file type, but the only way to know for sure is to set it to encoded audio and try playing a file in iTunes. My guess is that you will get no sound.

 

Cheers,[br] - Tim

Link to comment
  • 1 month later...

What happens when the Midi is set for 24/96 and I play a lower resolution file? My DAC continues to show 96kHz. Is iTunes actually upsampling?

 

Case 1: Midi is set to 24/96 before iTunes is opened. In this case iTunes believes that the output device wants 24/96 and therefore upsamples to same.

 

Case 2: Midi is set to 24/96 after iTunes is launched. In this case iTunes believes the output device wants whatever Audio Midi was set to at the time of launch, let's say 24/88.2. If iTunes were playing a 24/44.1 file, it would upsample to 88.2 and then Audio Midi would upsample to 96.

 

And you can see there are other undesirable cases as well based on what file is getting played, what the Midi settings are at the time of iTunes launch, and what Midi is set to currently.

 

I think that's how it works. :-)

 

2013 MacBook Pro Retina -> {Pure Music | Audirvana} -> {Dragonfly Red v.1} -> AKG K-702 or Sennheiser HD650 headphones.

Link to comment
  • 9 months later...

So if I understand correctly (assuming no Amarra or PureVinyl):

 

1. The iTunes sample rate converter is better than Core Audio's (OS X's), and you always want the computer to use it.

2. The only time the computer will use Core Audio's converter is when you (a) already have iTunes open, and (b) change the output setting in Audio Midi, and © fail to restart iTunes afterward.

3. Otherwise, all sample rate changes (both upsampling and downsampling) will be done by iTunes. Assuming you did NOT do 2. above, then if Audio Midi is set to 44.1 and you are playing a 96 file, iTunes will downsample it. If Audio Midi is set to 96 and you are playing a 44.1 file, iTunes will upsample it. Core Audio will not get involved.

 

Does anyone know if that is correct?

 

 

 

 

Link to comment

Just had a glance at Apple sample code "PlayFile".

Here's the section where AudioUnitGraph is setup

////////////////////////////////////////////////////////////////////////

// output node

cd.componentType = kAudioUnitType_Output;

cd.componentSubType = kAudioUnitSubType_DefaultOutput;

cd.componentManufacturer = kAudioUnitManufacturer_Apple;

 

AUNode outputNode;

XThrowIfError (AUGraphAddNode (theGraph, &cd, &outputNode), "AUGraphAddNode");

 

// file AU node

AUNode fileNode;

cd.componentType = kAudioUnitType_Generator;

cd.componentSubType = kAudioUnitSubType_AudioFilePlayer;

 

XThrowIfError (AUGraphAddNode (theGraph, &cd, &fileNode), "AUGraphAddNode");

///////////////////////////////////////////////////////////////////////////

Default Output audio unit is invoked, but without any setting.

File Player audio unit is set as the format of the file.

Looks like, all the conversions are done by Default Output audio unit.

This a simple way to play a file. Does iTunes do this way?

 

Another way is to do sample rate conversion by application.

Audiotoolbox SDK provides a function to create an audio converter object.

///////////////////////////////////////////////////////////////////////

AudioConverterNew

Creates a new audio converter object based on specified audio formats.

 

OSStatus AudioConverterNew (

const AudioStreamBasicDescription *inSourceFormat,

const AudioStreamBasicDescription *inDestinationFormat,

AudioConverterRef *outAudioConverter

);

////////////////////////////////////////////////////////////////////////

The property of a converter can be set, including these two:

///////////////////////////////////////////////////////////////////////

Sample Rate Conversion Quality Identifiers

Specifiers for sample rate conversion quality, used for the kAudioConverterSampleRateConverterQuality property.

 

enum {

kAudioConverterQuality_Max = 0x7F,

kAudioConverterQuality_High = 0x60,

kAudioConverterQuality_Medium = 0x40,

kAudioConverterQuality_Low = 0x20,

kAudioConverterQuality_Min = 0

};

 

Sample Rate Conversion Complexity Identifiers

Specifiers for the sample rate conversion algorithm, used for the kAudioConverterSampleRateConverterComplexity property.

 

enum {

kAudioConverterSampleRateConverterComplexity_Linear = 'line',

kAudioConverterSampleRateConverterComplexity_Normal = 'norm',

kAudioConverterSampleRateConverterComplexity_Mastering = 'bats',

};

/////////////////////////////////////////////////////////////////////////

So, questions:

If iTunes do sample rate conversion, what level of quality it uses?

If iTunes doesn't do sample rate conversion, this means, it's done by Default Output audio unit, , what level of quality that Default Output audio unit uses?

 

MacBook Pro 15\" -> EMU-0404 USB -> AK4380 DAC -> Audiolab 8000B mod -> Spica TC-50/PMC LB1

Link to comment

As Chris said, iTunes always outputs the sample rate that was specified for the default output device in Audio MIDI Setup at the time iTunes was launched. If iTunes plays a file with any other sample rate, iTunes performs SRC to convert it to that initially specified sample rate. If the user or some other application changes the sample rate of the default audio device in Audio MIDI Setup without relaunching iTunes, Core Audio will perform a second SRC operation to convert the output of iTunes to the sample rate of the default output device.

 

An Apple engineer on the Core Audio discussion list refused to reveal which of the above quality settings iTunes uses, except that he did reveal:

(1) The quality depends on CPU load. In other words, iTunes will lower the SRC quality if your CPU cannot keep up with a higher quality.

(2) The "complexity" parameter is never the best setting, i.e., "mastering" or "bats".

 

The Apple engineer acknowledged that it is a bug that iTunes latches onto an output sample rate when it is launched, but he said the iTunes programmers had other priorities, so he couldn't predict when they would fix the bug.

 

HQPlayer (on 3.8 GHz 8-core i7 iMac 2020) > NAA (on 2012 Mac Mini i7) > RME ADI-2 v2 > Benchmark AHB-2 > Thiel 3.7

Link to comment
  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...