JUST ENDED
|

Audio Q&A

Connect with Apple engineers in the Audio Q&A on the Apple Developer Forums.

Post

Replies

Boosts

Views

Activity

Channel Mapping with AUHAL
Hi, our Mac app uses AUHAL for audio output. The data we’re playing has channels laid out in the WAVE default ordering (this is the same order as Core Audio’s AudioChannelBitmap). Playing this data usually results in the correct channel playing through the correct speaker, but there are cases where it does not: Outputting audio over HDMI usually results in the Center and LFE channels being swapped Or “Configure Speakers” in Audio MIDI Setup.app can be used to change the speaker<->channel mapping (i.e. even swapping L/R on a 2ch stereo setup), but this does not affect our app’s audio I’ve found that getting kAudioUnitProperty_AudioChannelLayout on an output unit returns the speaker<->channel mapping as set up in Audio MIDI Setup (i.e. it shows that Center/LFE swap, or if L/R are swapped). My question: is it possible to have Core Audio do the channel remapping between the WAVE default ordering, and the speaker<->channel mapping as returned by kAudioUnitProperty_AudioChannelLayout? I have tried setting kAudioUnitProperty_AudioChannelLayout on the input unit, and didn’t see a change. I’ve also tried to set kAudioOutputUnitProperty_ChannelMap on the output unit but cannot get it to work. Or do I need to remap the channels myself before giving samples to Core Audio?
4
0
125
2d
Support for webm playback and processing
Hi, Safari supports playing back webm files (such as those recorded by Chrome/Firefox browsers with the MediaRecorder API), but our native app is unable to play these back with AVPlayer. Is there a supported way to do this? Right now we have to use a WebView for this! Would also love to ExtAudioFileURLOpen or process these files with AVAudioEngine. Have I missed something obvious here?
4
0
74
4d
Auv3 Synth Zippering
I am running into zippering and zipper storms in making my Auv3 synth. Do you have advice? It is a big synthesizer, big cinematic sounds, big presets, dual mode, I am mostly hitting zipper storms when trying to play fast on big preset recipes. Is there something I need to know to avoid zippering?
1
0
60
4d
RemoteMediaSession device add/remove
Are there plans to extend the session or MediaDevice capabilities to be able to add and remove speakers via the Lock Screen and Control Center? For example, user may have multiple speakers, they start playback on a subset of them and would like to add other speakers or remove some from the session through Control Center.
1
0
92
4d
My biggest priorities after 9 months of shipping Albums for macOS
Hi everyone! Adam here, the developer of Albums. Bummed not to get to have our yearly WebEx reunion where I beg y’all to add an endpoint to the Apple Music API to allow deleting items from a user’s library. But that’s not what this thread is about. Back in October, thanks to your team’s multi-year efforts, I was finally able to ship Albums for macOS. It’s been a genuine dream come true to use it on the platform I always envisioned it on, and I hear from users all the time who feel the same way. I know it was a significant engineering effort, and I’m genuinely very grateful. I’ll be judicious with my time here (I’d love to chat in more detail about my adventures in MusicKit on the Mac somehow, sometime). These are the main things on my wishlist for MusicKit on the Mac. There are three main things I hear from users that my app “can’t do” that can be dealbreakers for them. The first two are AirPlay support and a volume slider. Users are only able to AirPlay using the control center utility, because AVRoutePickerView does not work with ApplicationMusicPlayer (FB13934910). Relatedly, the MPVolumeView does not work with ApplicationMusicPlayer (FB21042385), so I can’t allow users app-specific volume control for my app. The lack of those two things is a real detriment to my app being able to be taken seriously alongside all of the other music player apps on the platform for which those features are table stakes. I know there’s a challenge here given the playback actually happens in the subprocess, but hoping some progress can be made here. The other issue is that library tracks played in ApplicationMusicPlayer do not update the last played date or play count in Music.app or in the user’s iCloud Music Library (FB17675148). Some people refuse to use the app for that reason, and I can’t say I blame them. I’ve only been able to test this briefly in Golden Gate, but it seems like this is still the case. Are you able to share anything about your work on the music library in macOS this year? Thank you again for all your work on MusicKit! I’m planning to get the last of the load-bearing MediaPlayer code out of my codebase later this year. Hooray!
1
0
82
4d
Slow MusicKit library performance in Golden Gate beta 1
Hello friends! Happy WWDC. Thanks very much for all your work on MusicKit this year! I figure I’ll start things off with a bug report (sorry!). I filed a Feedback earlier today that music library operations in MusicKit are significantly slower in macOS Golden Gate beta 1 than in Tahoe. For example, a .with([.tracks]) operation on an Album takes 4-5 seconds rather than the 95ms it did in Tahoe. Sample project, traces, and sysdiagnoses in FB23037115.
1
0
56
4d
Audio Prioritization
Is there anyway that we as users can set apps to not be able to play audio? There have been times that I want to listen to music and then scroll specific social media apps, and the social media apps keep interrupt the audio. I made a feedback related to this last year: FB18494861
0
0
64
4d
CATaps
I’ve noticed that CATap appears to scale the stereo/mono mixdown based on the number of channels in the output audio device. For example, if the selected output device has 4 channels, the tapped audio is reduced by half. This behavior does not seem to be documented anywhere, but I’m assuming it may have been done to reduce the chance of clipping when downmixing. The issue is that users are complaining that the audio level is too low. Is there any workaround for this that does not involve tapping every audio device separately and doing my own mixdown? Ideally, I’d like to keep using the system tap/mix behavior but avoid the automatic level reduction, or at least compensate for it in a reliable way.
1
0
51
4d
What's the recommended way for a Mac app to receive audio from other apps in 2026?
My app allows users to transcribe and translate audio from other apps running on your Mac. I currently use ScreenCaptureKit to do this, and just ignore the video stream and only use the audio stream. This works, but it's awkward because it requires I ask users for screen recording permission, even though all I want is the audio, not the screen. Is there a better way to do this in modern macOS releases? Thanks!
1
0
53
4d
Optimization of multiple audio track synchronization.
I have an app where multiple audio files of the same length are played and they need to be in sync to produce the full song. My current setup syncs each track to the same position every time the user pauses or plays the song. However it is super laggy when the Audio is played either for the first time or when unpausing/pausing. What's the best way to do this?
2
0
89
4d
Channel Mapping with AUHAL
Hi, our Mac app uses AUHAL for audio output. The data we’re playing has channels laid out in the WAVE default ordering (this is the same order as Core Audio’s AudioChannelBitmap). Playing this data usually results in the correct channel playing through the correct speaker, but there are cases where it does not: Outputting audio over HDMI usually results in the Center and LFE channels being swapped Or “Configure Speakers” in Audio MIDI Setup.app can be used to change the speaker<->channel mapping (i.e. even swapping L/R on a 2ch stereo setup), but this does not affect our app’s audio I’ve found that getting kAudioUnitProperty_AudioChannelLayout on an output unit returns the speaker<->channel mapping as set up in Audio MIDI Setup (i.e. it shows that Center/LFE swap, or if L/R are swapped). My question: is it possible to have Core Audio do the channel remapping between the WAVE default ordering, and the speaker<->channel mapping as returned by kAudioUnitProperty_AudioChannelLayout? I have tried setting kAudioUnitProperty_AudioChannelLayout on the input unit, and didn’t see a change. I’ve also tried to set kAudioOutputUnitProperty_ChannelMap on the output unit but cannot get it to work. Or do I need to remap the channels myself before giving samples to Core Audio?
Replies
4
Boosts
0
Views
125
Activity
2d
Microphone Gain on Safari/MacOS
The microphone gain for our app running on Safari/MacOS is substantially lower than with other browsers. What might account for that and what is the preferred method for a web app to control microphone gain.
Replies
4
Boosts
1
Views
93
Activity
3d
Support for webm playback and processing
Hi, Safari supports playing back webm files (such as those recorded by Chrome/Firefox browsers with the MediaRecorder API), but our native app is unable to play these back with AVPlayer. Is there a supported way to do this? Right now we have to use a WebView for this! Would also love to ExtAudioFileURLOpen or process these files with AVAudioEngine. Have I missed something obvious here?
Replies
4
Boosts
0
Views
74
Activity
4d
Auv3 Synth Zippering
I am running into zippering and zipper storms in making my Auv3 synth. Do you have advice? It is a big synthesizer, big cinematic sounds, big presets, dual mode, I am mostly hitting zipper storms when trying to play fast on big preset recipes. Is there something I need to know to avoid zippering?
Replies
1
Boosts
0
Views
60
Activity
4d
RemoteMediaSession device add/remove
Are there plans to extend the session or MediaDevice capabilities to be able to add and remove speakers via the Lock Screen and Control Center? For example, user may have multiple speakers, they start playback on a subset of them and would like to add other speakers or remove some from the session through Control Center.
Replies
1
Boosts
0
Views
92
Activity
4d
My biggest priorities after 9 months of shipping Albums for macOS
Hi everyone! Adam here, the developer of Albums. Bummed not to get to have our yearly WebEx reunion where I beg y’all to add an endpoint to the Apple Music API to allow deleting items from a user’s library. But that’s not what this thread is about. Back in October, thanks to your team’s multi-year efforts, I was finally able to ship Albums for macOS. It’s been a genuine dream come true to use it on the platform I always envisioned it on, and I hear from users all the time who feel the same way. I know it was a significant engineering effort, and I’m genuinely very grateful. I’ll be judicious with my time here (I’d love to chat in more detail about my adventures in MusicKit on the Mac somehow, sometime). These are the main things on my wishlist for MusicKit on the Mac. There are three main things I hear from users that my app “can’t do” that can be dealbreakers for them. The first two are AirPlay support and a volume slider. Users are only able to AirPlay using the control center utility, because AVRoutePickerView does not work with ApplicationMusicPlayer (FB13934910). Relatedly, the MPVolumeView does not work with ApplicationMusicPlayer (FB21042385), so I can’t allow users app-specific volume control for my app. The lack of those two things is a real detriment to my app being able to be taken seriously alongside all of the other music player apps on the platform for which those features are table stakes. I know there’s a challenge here given the playback actually happens in the subprocess, but hoping some progress can be made here. The other issue is that library tracks played in ApplicationMusicPlayer do not update the last played date or play count in Music.app or in the user’s iCloud Music Library (FB17675148). Some people refuse to use the app for that reason, and I can’t say I blame them. I’ve only been able to test this briefly in Golden Gate, but it seems like this is still the case. Are you able to share anything about your work on the music library in macOS this year? Thank you again for all your work on MusicKit! I’m planning to get the last of the load-bearing MediaPlayer code out of my codebase later this year. Hooray!
Replies
1
Boosts
0
Views
82
Activity
4d
Slow MusicKit library performance in Golden Gate beta 1
Hello friends! Happy WWDC. Thanks very much for all your work on MusicKit this year! I figure I’ll start things off with a bug report (sorry!). I filed a Feedback earlier today that music library operations in MusicKit are significantly slower in macOS Golden Gate beta 1 than in Tahoe. For example, a .with([.tracks]) operation on an Album takes 4-5 seconds rather than the 95ms it did in Tahoe. Sample project, traces, and sysdiagnoses in FB23037115.
Replies
1
Boosts
0
Views
56
Activity
4d
Audio Prioritization
Is there anyway that we as users can set apps to not be able to play audio? There have been times that I want to listen to music and then scroll specific social media apps, and the social media apps keep interrupt the audio. I made a feedback related to this last year: FB18494861
Replies
0
Boosts
0
Views
64
Activity
4d
CATaps
I’ve noticed that CATap appears to scale the stereo/mono mixdown based on the number of channels in the output audio device. For example, if the selected output device has 4 channels, the tapped audio is reduced by half. This behavior does not seem to be documented anywhere, but I’m assuming it may have been done to reduce the chance of clipping when downmixing. The issue is that users are complaining that the audio level is too low. Is there any workaround for this that does not involve tapping every audio device separately and doing my own mixdown? Ideally, I’d like to keep using the system tap/mix behavior but avoid the automatic level reduction, or at least compensate for it in a reliable way.
Replies
1
Boosts
0
Views
51
Activity
4d
What's the recommended way for a Mac app to receive audio from other apps in 2026?
My app allows users to transcribe and translate audio from other apps running on your Mac. I currently use ScreenCaptureKit to do this, and just ignore the video stream and only use the audio stream. This works, but it's awkward because it requires I ask users for screen recording permission, even though all I want is the audio, not the screen. Is there a better way to do this in modern macOS releases? Thanks!
Replies
1
Boosts
0
Views
53
Activity
4d
New text dictation system available to 3rd party apps?
In the keynote (or maybe SOTU) they demo'd a new text dictation system. I'm wondering if this is being added to the Speech framework as a new transcription mechanism available to 3rd party apps. I couldn't find any videos referring to updates to the Speech framework.
Replies
0
Boosts
0
Views
23
Activity
4d
New Siri text-to-speech available to 3rd party apps?
In the keynote (or maybe it was SOTU) they demo'd a new more expressive Siri voice. Is that voice going to be available to 3rd party apps to use for text-to-speech in our apps?
Replies
0
Boosts
0
Views
27
Activity
4d
Optimization of multiple audio track synchronization.
I have an app where multiple audio files of the same length are played and they need to be in sync to produce the full song. My current setup syncs each track to the same position every time the user pauses or plays the song. However it is super laggy when the Audio is played either for the first time or when unpausing/pausing. What's the best way to do this?
Replies
2
Boosts
0
Views
89
Activity
4d
Is there a supported way for apps on iOS to receive audio from other apps?
I make a Mac app where users can transcribe and translate audio from other apps. I want to bring this to iOS, and I'm wondering what APIs are available (if any) to do this. On MacOS I use ScreenCaptureKit currently, but that's not available on iOS.
Replies
0
Boosts
0
Views
48
Activity
4d