AudioUnit

RSS for tag

Create audio unit extensions and add sophisticated audio manipulation and processing capabilities to your app using AudioUnit.

Posts under AudioUnit tag

150 Posts

Post

Replies

Boosts

Views

Activity

VPIO fails to remove echo from certain hardware
A: iPhone SE 2nd (iOS 16.5) Used bluetooth model: Shokz OpenRun S803 B: Any mobile device A uses bluetooth microphone/speaker, and make a call to B using iPhone app. Mute the A's headphone. (The bluetooth device support mute by hardware). While A mutes, B speaks. Unmute A's headphone. Every time B speaks, B can hear the echo. Since there is no audio data during the hardware muted, VPIO don't recognize audio reference data to remove echo signal. Is there any alternative to resolve this echo in VoIP software using VPIO?
0
0
834
Jun ’23
Midi and Audio AUv3 in Logic Pro on the iPad
I have an app that supports AUv3 and can output both Audio and MIDI information. It has the Audio Unit Type set to "aumu" which is a 'music generator'. This has worked well In iOS hosts until now (like AUM, or ApeMatrix) - because they allow the selection of this type of Audio Unit both as an audio generator and as a MIDI sender. So if someone wants to use it as an audio generator, they can - same as someone who only wants to use it as MIDI FX. Logic Pro on the iPad has changed this since it's not seeing it under the Midi FX selection. Is there any configuration to bypass this, or do I have to change to a Midi FX AUv3 ('aumi') for this to show up there?
0
0
1.3k
Jun ’23
Screen Sharing Audio Volume Reduction
Hi, Wondering if anyone has found a solution to the automatic volume reduction on the host computer using the OSX native screen share application. The volume reduction makes it nearly impossible to comfortably continue working on the host computer when there is any audio involved. Is there a way to bypass to this function? It seems to be the same native function that FaceTime uses to reduce the system audio volume to create priority for the application. Please help save my speakers! Thanks.
2
0
4.2k
May ’23
app crash
i create a audio unit extension app in xcode template then i run the project in simulator is successful but when i try to run the project in my real device the program crash like this how to solve this problem, please tell me, thank you.
0
0
583
May ’23
how to custom AudioUnit
I found a lot of information, but i still have no idea of how to custom AudioUnit(not AVAudioUnit or AUAudioUnit), i mean if there is any way i can make my own AudioUnit like this, i do know this is AudioUnit provided by Apple. Now i want to make my own AudioUnit by this way. AudioComponentDescription audioDesc; audioDesc.componentType = kAudioUnitType_Output; audioDesc.componentSubType = kAudioUnitSubType_RemoteIO; audioDesc.componentManufacturer = kAudioUnitManufacturer_Apple; audioDesc.componentFlags = 0; audioDesc.componentFlagsMask = 0; AudioComponent inputComponent = AudioComponentFindNext(NULL, &audioDesc); AudioComponentInstanceNew(inputComponent, &audioUnit); if you have any idea, please tell me, thank you!
0
0
592
May ’23
Streaming Audio via Bluetooth my Osx to PC
I found an app for make PC slave an takes audio from other android devices. However, when i connect with Mac it doesn't work. I use airplay for now but there are latency and quality problems. I have Late 13 Macbook Pro which uses airplay 1 technology. It is slower than newer one. My Wifi router in my room but as i said i want to connect with bluetooth. Why this problem appears. How to work on this?
0
0
888
May ’23
My app has a music mode. Is there a way to bypass all voice processing, even bypass the mic modes in control center while my app uses kAudioUnitSubType_VoiceProcessingIO?
If I set the kAUVoiceIOProperty_BypassVoiceProcessing parameter to true on the voice processing audio unit, it appears that the microphone mode setting in the Control Center still takes effect. For example, if the user has selected the voice isolation mode, the audio unit will still function in voice isolation mode. However, on the iPhone 14, the microphone mode is not displayed in the Control Center when kAUVoiceIOProperty_BypassVoiceProcessing is set to true, unlike on other iPhone models such as the iPhone 11 and iPhone 12. As a result, after setting kAUVoiceIOProperty_BypassVoiceProcessing to true, the voice processing unit will continue to use the last selected microphone mode for my app, and it cannot be changed on the iPhone 14. I have the following questions about this: Is it intended that microphone modes in the Control Center take precedence over the kAUVoiceIOProperty_BypassVoiceProcessing setting on the audio unit? My app has a music mode that captures music through mic. Is there a way to avoid all voice processing, even bypass the mic modes in control center? Why is the microphone mode not displayed in the Control Center on the iPhone 14 Pro when kAUVoiceIOProperty_BypassVoiceProcessing is set to true on the voice processing audio unit, while other iPhone models display it?
0
0
951
Apr ’23
Memory Limits for Audio Units in iOS
HI, we are writing an audio unit that has huge memory requirements. To reduce memory usage we need to cut something, so we need to figure out how much we need to hack the current engine to make it work on most devices. According to an old thread there appears to be a 360MB memory usage limit for AU: https://developer.apple.com/forums/thread/8237 However, in our tests we seem to be able to use over 600MB in GarageBand. We tested on: iPad Pro 12.9 (4th generation) - iOS 16.3.1 iPhone 12 Pro Max - iOS 14.4 iPhone 12 mini - iOS 14.2 iPad mini (5th generation) - iOS 15.4.1 Have memory limits been eliminated in recent versions of iOS? Is it a limit that varies according to the device? Are there any official numbers we can rely on? Thank you, Ale
0
0
938
Apr ’23
AU Instrument Example doesn't handle note off event when DAW playhead skipped ahead
Running the AU Instrument example provided with Xcode (it's a sine wave generator), it doesn't seem to receive the note off event when the playhead is skipped ahead in the DAW (Logic, for me). I'm running a separate MIDI Monitor application, and it receives a MIDI note off message when I skip ahead, however, the AU Instrument doesn't receive the note off message. If the AU instrument example DID receive the MIDI note off event, then it would stop playing the sine signal, however it continues to play the note indefinitely.
3
1
1.2k
Mar ’23
How is AUv3 MIDI plug-in supposed to figure out the sample rate of the host?
For an AUv3 plug-in of type kAudioUnitType_MIDIProcessor how is the plug-in supposed to figure out the sample rate of the host? I think this might be an API limitation. For instruments and effects, we can read the AUAudioUnit's output bus format and check the sample rate. But MIDI FX plug-ins have no audio I/O. And even if I set them, Logic Pro, for example, doesn't update the AU if I change the sample rate in Logic. Looking at AVAudioSession.sharedInstance.sampleRate doesn't work either, because the host can have a different sample rate from the hardware. Is there a solution to this that I'm not aware of?
3
0
1.7k
Mar ’23
Auv3: Some "out of process" behaviour appears broken on the Mac.
Using latest version of Ventura on an M1 iMac... 2 issues I've noticed when an Auv3 is loaded Out Of Process... 1 - When using tokenByAddingRenderObserver: The provided block is never called if an Auv3 is loaded out of process. 2: When loaded In process an Auv3 audio unit that is itself a host for other audio units can see all the audio units in the system. That is all v2 units and all v3 units. When loaded Out of Procress and the same v3 unit can only find the v2 units when querying. The system appears to be hiding the installed v3 units. This seems like the reverse of what I would expect. When sandboxed (out of process) why are other V3 units hidden from inspection? I've filed bug reports on these ages ago but had no response. I'm particularly interesting in issue #2 above as it makes a big difference when our AU host unit is running in Logic which only allows loading out of process. When loading into our own host app we can load the au in-process and it works nicely, able to host any other unit installed on the system.
0
0
995
Mar ’23
Mouse hover events cause warnings in the console when running an iOS Audio Unit on an M1 Mac
Hi, When debugging an iOS AUv3 extension in GarageBand (or in other host apps) on Mac OS Monterey running on an M1 Mac, there is a large number of warnings that read: WARNING: SPI usage of '-[UINSWindow uiWindows]' is being shimmed. This will break in the future. Please file a radar requesting API for what you are trying to do. I noticed that immediately after such a warning, the view's hitTest is called with a UIHoverEvent, and indeed moving the mouse results in more log spam. Although the very first occurrence of the warning may have a different root cause. Using a symbolic breakpoint wasn't helpful in revealing further information. Note that I'm launching the AUv3 extension in the "Designed for iPad" mode. Project language is Objective-C. I was able to reproduce the issue with even an empty project, adding nothing beyond Xcode's built-in appex template for iOS Audio Units. The issue doesn't seem to happen with the Apple sample code "CreatingCustomAudioEffects", which is a swift project. I also compared and matched storyboard settings between that project and my own, but to no avail. Any pointers would be highly appreciated. Thanks.
5
0
2.2k
Mar ’23
Testing plugins for Logic Pro
Hi there, thanks in advance for any help. I make audio plugins and I would like to test them in Logic Pro. Aside from the 90 day trial, is there some limited version I can use just for testing? For example there is a Pro Tools developer version with the save function disabled - something like this would be perfect.
0
2
792
Feb ’23
Audio Units: Restoring original GarageBand 10 security settings
In order to get a new JUCE-based Audio Unit (AU version 2) I have been developing to work in GarageBand 10.4.6 running on macOS Monterey, I lowered the GarageBand security settings when presented with a dialog with the following message: Use of the requested Audio Unit(s) requires lowering the security settings for “GarageBand”. Are you sure you want to proceed? Now I'd like to restore GarageBand security settings to their original state so that I can modify the AU via signing or Sandboxing--whatever is required--to load without lowering GB security settings. How do I restore Garageband security settings to their original values? What I have tried: 1 Uninstalling GarageBand using Launchpad 2 Rebooting 3 Deleting: /Users/Admin/Library/Application Scripts/com.apple.garageband10 /Users/Admin/Library/Application Scripts/com.apple.STMExtension.GarageBand /Users/Admin/Library/Containers/com.apple.STMExtension.GarageBand /Users/Standard/Library/Application Scripts/com.apple.garageband10 /Users/Standard/Library/Application Scripts/com.apple.STMExtension.GarageBand /Users/Standard/Library/Containers/com.apple.garageband10/Data/Library/HTTPStorages/com.apple.garageband10 /Users/Standard/Library/Containers/com.apple.garageband10/Data/Library/Application Support/GarageBand I did not touch: /Library/Application Support/iLifeMediaBrowser/Plug-Ins/iLMBGarageBandPlugin.ilmbplugin /System/Library/PrivateFrameworks/iLifeMediaBrowser.framework/Versions/A/Resources/MBGarageBandSongDimmed.tiff /System/Library/PrivateFrameworks/iLifeMediaBrowser.framework/Versions/A/Resources/MBGarageBandSong.tiff /System/Library/PrivateFrameworks/StorageManagement.framework/PlugIns/GarageBandStorageExtension.appex /private/var/folders/*/*/C/com.apple.GarageBand/ 4 Rebooting 5 Reinstalling GarageBand 6 The Terminal command defaults delete com.apple.garageband10 7 Googling a solution. Many thanks.
2
1
1.5k
Jan ’23
Low level audio recording on macOS. Please Help!
I am struggling to see why the following low-level audio recording function - which is based on tn2091 - Device input using the HAL Output Audio Unit - (a great article, btw, although a bit dated, and it would be wonderful if it was updated to use Swift and non deprecated stuff at some point!) fails to work under macOS: func createMicUnit() -> AUAudioUnit { let compDesc = AudioComponentDescription( componentType: kAudioUnitType_Output, componentSubType: kAudioUnitSubType_HALOutput, // I am on macOS, os this is good componentManufacturer: kAudioUnitManufacturer_Apple, componentFlags: 0, componentFlagsMask: 0) return try! AUAudioUnit(componentDescription: compDesc, options: []) } func startMic() { // mic permision is already granted at this point, but let's check let status = AVCaptureDevice.authorizationStatus(for: AVMediaType.audio) precondition(status == .authorized) // yes, all good let unit = createMicUnit() unit.isInputEnabled = true unit.isOutputEnabled = false precondition(!unit.canPerformInput) // can't record yet, and know why? print(deviceName(unit.deviceID)) // "MacBook Pro Speakers" - this is why let micDeviceID = defaultInputDeviceID print(deviceName(micDeviceID)) // "MacBook Pro Microphone" - this is better try! unit.setDeviceID(micDeviceID) // let's switch device to mic precondition(unit.canPerformInput) // now we can record print("\(String(describing: unit.channelMap))") // channel map is "nil" by default unit.channelMap = [0] // not sure if this helps or not let sampleRate = deviceActualFrameRate(micDeviceID) print(sampleRate) // 48000.0 let format = AVAudioFormat( commonFormat: .pcmFormatFloat32, sampleRate: sampleRate, channels: 1, interleaved: false)! try! unit.outputBusses[1].setFormat(format) unit.inputHandler = { flags, timeStamp, frameCount, bus in fatalError("never gets here") // now the weird part - this is never called! } try! unit.allocateRenderResources() try! unit.startHardware() // let's go! print("mic should be working now... why it doesn't?") // from now on the (UI) app continues its normal run loop } All sanity checks pass with flying colors but unit's inputHandler is not being called. Any idea why? Thank you!
3
0
2.1k
Jan ’23
AUv3 -- deinit / dealloc never called
Hi, I am designing an AUv3 plugin for Logic / Garageband. I heavily relied upon the AUv3Filter demo supplied by Apple due to lack of documentation on building AUv3 plugins. However, I noticed a problem both in my plugin and Apple's AUv3Filter demo plugin. When I add a deinit function to Apple's AUv3FilterDemo.swift class, it never gets called. Not when the plugin is removed from a Logic project, not when Logic exits, never. My plugin, unsurprisingly, has the same problem (dealloc / Objective-C). It's pretty serious however, because my plugin is a wrapper for a C++ class that has a lot of stuff going on and needs to be deconstructed when it finishes running. I spent a few hours with Apple's demo trying to track down any strong references that might persist after the plugin exits, but nothing I did seemed to make any difference. Anybody else have this issue?
3
1
1.9k
Jan ’23
AUv2 development on Xcode 14
Hi, I want to do some work on an audio unit after a gap of (many) years, and am not clear about the status of v2 AUs. There's no template for them in the current Xcode, and the relevant CoreAudio classes (AUBase and subclasses) are also absent. Have I missed some optional download from Apple that restores these things, or is it all over for v2?
2
0
1.2k
Nov ’22
VPIO fails to remove echo from certain hardware
A: iPhone SE 2nd (iOS 16.5) Used bluetooth model: Shokz OpenRun S803 B: Any mobile device A uses bluetooth microphone/speaker, and make a call to B using iPhone app. Mute the A's headphone. (The bluetooth device support mute by hardware). While A mutes, B speaks. Unmute A's headphone. Every time B speaks, B can hear the echo. Since there is no audio data during the hardware muted, VPIO don't recognize audio reference data to remove echo signal. Is there any alternative to resolve this echo in VoIP software using VPIO?
Replies
0
Boosts
0
Views
834
Activity
Jun ’23
Midi and Audio AUv3 in Logic Pro on the iPad
I have an app that supports AUv3 and can output both Audio and MIDI information. It has the Audio Unit Type set to "aumu" which is a 'music generator'. This has worked well In iOS hosts until now (like AUM, or ApeMatrix) - because they allow the selection of this type of Audio Unit both as an audio generator and as a MIDI sender. So if someone wants to use it as an audio generator, they can - same as someone who only wants to use it as MIDI FX. Logic Pro on the iPad has changed this since it's not seeing it under the Midi FX selection. Is there any configuration to bypass this, or do I have to change to a Midi FX AUv3 ('aumi') for this to show up there?
Replies
0
Boosts
0
Views
1.3k
Activity
Jun ’23
Screen Sharing Audio Volume Reduction
Hi, Wondering if anyone has found a solution to the automatic volume reduction on the host computer using the OSX native screen share application. The volume reduction makes it nearly impossible to comfortably continue working on the host computer when there is any audio involved. Is there a way to bypass to this function? It seems to be the same native function that FaceTime uses to reduce the system audio volume to create priority for the application. Please help save my speakers! Thanks.
Replies
2
Boosts
0
Views
4.2k
Activity
May ’23
app crash
i create a audio unit extension app in xcode template then i run the project in simulator is successful but when i try to run the project in my real device the program crash like this how to solve this problem, please tell me, thank you.
Replies
0
Boosts
0
Views
583
Activity
May ’23
how to custom AudioUnit
I found a lot of information, but i still have no idea of how to custom AudioUnit(not AVAudioUnit or AUAudioUnit), i mean if there is any way i can make my own AudioUnit like this, i do know this is AudioUnit provided by Apple. Now i want to make my own AudioUnit by this way. AudioComponentDescription audioDesc; audioDesc.componentType = kAudioUnitType_Output; audioDesc.componentSubType = kAudioUnitSubType_RemoteIO; audioDesc.componentManufacturer = kAudioUnitManufacturer_Apple; audioDesc.componentFlags = 0; audioDesc.componentFlagsMask = 0; AudioComponent inputComponent = AudioComponentFindNext(NULL, &audioDesc); AudioComponentInstanceNew(inputComponent, &audioUnit); if you have any idea, please tell me, thank you!
Replies
0
Boosts
0
Views
592
Activity
May ’23
Streaming Audio via Bluetooth my Osx to PC
I found an app for make PC slave an takes audio from other android devices. However, when i connect with Mac it doesn't work. I use airplay for now but there are latency and quality problems. I have Late 13 Macbook Pro which uses airplay 1 technology. It is slower than newer one. My Wifi router in my room but as i said i want to connect with bluetooth. Why this problem appears. How to work on this?
Replies
0
Boosts
0
Views
888
Activity
May ’23
My app has a music mode. Is there a way to bypass all voice processing, even bypass the mic modes in control center while my app uses kAudioUnitSubType_VoiceProcessingIO?
If I set the kAUVoiceIOProperty_BypassVoiceProcessing parameter to true on the voice processing audio unit, it appears that the microphone mode setting in the Control Center still takes effect. For example, if the user has selected the voice isolation mode, the audio unit will still function in voice isolation mode. However, on the iPhone 14, the microphone mode is not displayed in the Control Center when kAUVoiceIOProperty_BypassVoiceProcessing is set to true, unlike on other iPhone models such as the iPhone 11 and iPhone 12. As a result, after setting kAUVoiceIOProperty_BypassVoiceProcessing to true, the voice processing unit will continue to use the last selected microphone mode for my app, and it cannot be changed on the iPhone 14. I have the following questions about this: Is it intended that microphone modes in the Control Center take precedence over the kAUVoiceIOProperty_BypassVoiceProcessing setting on the audio unit? My app has a music mode that captures music through mic. Is there a way to avoid all voice processing, even bypass the mic modes in control center? Why is the microphone mode not displayed in the Control Center on the iPhone 14 Pro when kAUVoiceIOProperty_BypassVoiceProcessing is set to true on the voice processing audio unit, while other iPhone models display it?
Replies
0
Boosts
0
Views
951
Activity
Apr ’23
Memory Limits for Audio Units in iOS
HI, we are writing an audio unit that has huge memory requirements. To reduce memory usage we need to cut something, so we need to figure out how much we need to hack the current engine to make it work on most devices. According to an old thread there appears to be a 360MB memory usage limit for AU: https://developer.apple.com/forums/thread/8237 However, in our tests we seem to be able to use over 600MB in GarageBand. We tested on: iPad Pro 12.9 (4th generation) - iOS 16.3.1 iPhone 12 Pro Max - iOS 14.4 iPhone 12 mini - iOS 14.2 iPad mini (5th generation) - iOS 15.4.1 Have memory limits been eliminated in recent versions of iOS? Is it a limit that varies according to the device? Are there any official numbers we can rely on? Thank you, Ale
Replies
0
Boosts
0
Views
938
Activity
Apr ’23
AU Instrument Example doesn't handle note off event when DAW playhead skipped ahead
Running the AU Instrument example provided with Xcode (it's a sine wave generator), it doesn't seem to receive the note off event when the playhead is skipped ahead in the DAW (Logic, for me). I'm running a separate MIDI Monitor application, and it receives a MIDI note off message when I skip ahead, however, the AU Instrument doesn't receive the note off message. If the AU instrument example DID receive the MIDI note off event, then it would stop playing the sine signal, however it continues to play the note indefinitely.
Replies
3
Boosts
1
Views
1.2k
Activity
Mar ’23
AUV3 MIDI Processor not appearing in GarageBand.
Ive Just built a AUV3 MIDI Processor app, using Apple template for (AudioUnit extension app) The AUV3 instance is not appearing in GarageBand while using iPhone, iPad and m1 Mac mini. Using Xcode 14.2 If I create a AUV3 Instrument, the instance works fine and I can find it. Any ideas ? thanks
Replies
2
Boosts
0
Views
1.4k
Activity
Mar ’23
How is AUv3 MIDI plug-in supposed to figure out the sample rate of the host?
For an AUv3 plug-in of type kAudioUnitType_MIDIProcessor how is the plug-in supposed to figure out the sample rate of the host? I think this might be an API limitation. For instruments and effects, we can read the AUAudioUnit's output bus format and check the sample rate. But MIDI FX plug-ins have no audio I/O. And even if I set them, Logic Pro, for example, doesn't update the AU if I change the sample rate in Logic. Looking at AVAudioSession.sharedInstance.sampleRate doesn't work either, because the host can have a different sample rate from the hardware. Is there a solution to this that I'm not aware of?
Replies
3
Boosts
0
Views
1.7k
Activity
Mar ’23
Auv3: Some "out of process" behaviour appears broken on the Mac.
Using latest version of Ventura on an M1 iMac... 2 issues I've noticed when an Auv3 is loaded Out Of Process... 1 - When using tokenByAddingRenderObserver: The provided block is never called if an Auv3 is loaded out of process. 2: When loaded In process an Auv3 audio unit that is itself a host for other audio units can see all the audio units in the system. That is all v2 units and all v3 units. When loaded Out of Procress and the same v3 unit can only find the v2 units when querying. The system appears to be hiding the installed v3 units. This seems like the reverse of what I would expect. When sandboxed (out of process) why are other V3 units hidden from inspection? I've filed bug reports on these ages ago but had no response. I'm particularly interesting in issue #2 above as it makes a big difference when our AU host unit is running in Logic which only allows loading out of process. When loading into our own host app we can load the au in-process and it works nicely, able to host any other unit installed on the system.
Replies
0
Boosts
0
Views
995
Activity
Mar ’23
Mouse hover events cause warnings in the console when running an iOS Audio Unit on an M1 Mac
Hi, When debugging an iOS AUv3 extension in GarageBand (or in other host apps) on Mac OS Monterey running on an M1 Mac, there is a large number of warnings that read: WARNING: SPI usage of '-[UINSWindow uiWindows]' is being shimmed. This will break in the future. Please file a radar requesting API for what you are trying to do. I noticed that immediately after such a warning, the view's hitTest is called with a UIHoverEvent, and indeed moving the mouse results in more log spam. Although the very first occurrence of the warning may have a different root cause. Using a symbolic breakpoint wasn't helpful in revealing further information. Note that I'm launching the AUv3 extension in the "Designed for iPad" mode. Project language is Objective-C. I was able to reproduce the issue with even an empty project, adding nothing beyond Xcode's built-in appex template for iOS Audio Units. The issue doesn't seem to happen with the Apple sample code "CreatingCustomAudioEffects", which is a swift project. I also compared and matched storyboard settings between that project and my own, but to no avail. Any pointers would be highly appreciated. Thanks.
Replies
5
Boosts
0
Views
2.2k
Activity
Mar ’23
Testing plugins for Logic Pro
Hi there, thanks in advance for any help. I make audio plugins and I would like to test them in Logic Pro. Aside from the 90 day trial, is there some limited version I can use just for testing? For example there is a Pro Tools developer version with the save function disabled - something like this would be perfect.
Replies
0
Boosts
2
Views
792
Activity
Feb ’23
Step sequencer as AUV3 for iOS
Can someone point me in the right direction? To set up a step sequencer Audio unit extension app, do i use the Apple provided MIDI Processor AU extension Template? And if so how would I access it via GarageBand?
Replies
0
Boosts
0
Views
692
Activity
Feb ’23
Audio Units: Restoring original GarageBand 10 security settings
In order to get a new JUCE-based Audio Unit (AU version 2) I have been developing to work in GarageBand 10.4.6 running on macOS Monterey, I lowered the GarageBand security settings when presented with a dialog with the following message: Use of the requested Audio Unit(s) requires lowering the security settings for “GarageBand”. Are you sure you want to proceed? Now I'd like to restore GarageBand security settings to their original state so that I can modify the AU via signing or Sandboxing--whatever is required--to load without lowering GB security settings. How do I restore Garageband security settings to their original values? What I have tried: 1 Uninstalling GarageBand using Launchpad 2 Rebooting 3 Deleting: /Users/Admin/Library/Application Scripts/com.apple.garageband10 /Users/Admin/Library/Application Scripts/com.apple.STMExtension.GarageBand /Users/Admin/Library/Containers/com.apple.STMExtension.GarageBand /Users/Standard/Library/Application Scripts/com.apple.garageband10 /Users/Standard/Library/Application Scripts/com.apple.STMExtension.GarageBand /Users/Standard/Library/Containers/com.apple.garageband10/Data/Library/HTTPStorages/com.apple.garageband10 /Users/Standard/Library/Containers/com.apple.garageband10/Data/Library/Application Support/GarageBand I did not touch: /Library/Application Support/iLifeMediaBrowser/Plug-Ins/iLMBGarageBandPlugin.ilmbplugin /System/Library/PrivateFrameworks/iLifeMediaBrowser.framework/Versions/A/Resources/MBGarageBandSongDimmed.tiff /System/Library/PrivateFrameworks/iLifeMediaBrowser.framework/Versions/A/Resources/MBGarageBandSong.tiff /System/Library/PrivateFrameworks/StorageManagement.framework/PlugIns/GarageBandStorageExtension.appex /private/var/folders/*/*/C/com.apple.GarageBand/ 4 Rebooting 5 Reinstalling GarageBand 6 The Terminal command defaults delete com.apple.garageband10 7 Googling a solution. Many thanks.
Replies
2
Boosts
1
Views
1.5k
Activity
Jan ’23
No Stereo playback when using VoiceProcessingIO audio unit
When using VoiceProcessingIO audio unit with voicechat audio session mode to have echo cancellation, I can't play audio in stereo, it only allows mono audio. How can I enable stereo playback with echo cancellation? Is it some kind of limitation? since it isn't mentioned anywhere in the documentation.
Replies
1
Boosts
1
Views
1.4k
Activity
Jan ’23
Low level audio recording on macOS. Please Help!
I am struggling to see why the following low-level audio recording function - which is based on tn2091 - Device input using the HAL Output Audio Unit - (a great article, btw, although a bit dated, and it would be wonderful if it was updated to use Swift and non deprecated stuff at some point!) fails to work under macOS: func createMicUnit() -> AUAudioUnit { let compDesc = AudioComponentDescription( componentType: kAudioUnitType_Output, componentSubType: kAudioUnitSubType_HALOutput, // I am on macOS, os this is good componentManufacturer: kAudioUnitManufacturer_Apple, componentFlags: 0, componentFlagsMask: 0) return try! AUAudioUnit(componentDescription: compDesc, options: []) } func startMic() { // mic permision is already granted at this point, but let's check let status = AVCaptureDevice.authorizationStatus(for: AVMediaType.audio) precondition(status == .authorized) // yes, all good let unit = createMicUnit() unit.isInputEnabled = true unit.isOutputEnabled = false precondition(!unit.canPerformInput) // can't record yet, and know why? print(deviceName(unit.deviceID)) // "MacBook Pro Speakers" - this is why let micDeviceID = defaultInputDeviceID print(deviceName(micDeviceID)) // "MacBook Pro Microphone" - this is better try! unit.setDeviceID(micDeviceID) // let's switch device to mic precondition(unit.canPerformInput) // now we can record print("\(String(describing: unit.channelMap))") // channel map is "nil" by default unit.channelMap = [0] // not sure if this helps or not let sampleRate = deviceActualFrameRate(micDeviceID) print(sampleRate) // 48000.0 let format = AVAudioFormat( commonFormat: .pcmFormatFloat32, sampleRate: sampleRate, channels: 1, interleaved: false)! try! unit.outputBusses[1].setFormat(format) unit.inputHandler = { flags, timeStamp, frameCount, bus in fatalError("never gets here") // now the weird part - this is never called! } try! unit.allocateRenderResources() try! unit.startHardware() // let's go! print("mic should be working now... why it doesn't?") // from now on the (UI) app continues its normal run loop } All sanity checks pass with flying colors but unit's inputHandler is not being called. Any idea why? Thank you!
Replies
3
Boosts
0
Views
2.1k
Activity
Jan ’23
AUv3 -- deinit / dealloc never called
Hi, I am designing an AUv3 plugin for Logic / Garageband. I heavily relied upon the AUv3Filter demo supplied by Apple due to lack of documentation on building AUv3 plugins. However, I noticed a problem both in my plugin and Apple's AUv3Filter demo plugin. When I add a deinit function to Apple's AUv3FilterDemo.swift class, it never gets called. Not when the plugin is removed from a Logic project, not when Logic exits, never. My plugin, unsurprisingly, has the same problem (dealloc / Objective-C). It's pretty serious however, because my plugin is a wrapper for a C++ class that has a lot of stuff going on and needs to be deconstructed when it finishes running. I spent a few hours with Apple's demo trying to track down any strong references that might persist after the plugin exits, but nothing I did seemed to make any difference. Anybody else have this issue?
Replies
3
Boosts
1
Views
1.9k
Activity
Jan ’23
AUv2 development on Xcode 14
Hi, I want to do some work on an audio unit after a gap of (many) years, and am not clear about the status of v2 AUs. There's no template for them in the current Xcode, and the relevant CoreAudio classes (AUBase and subclasses) are also absent. Have I missed some optional download from Apple that restores these things, or is it all over for v2?
Replies
2
Boosts
0
Views
1.2k
Activity
Nov ’22