Posts

Post not yet marked as solved
1 Replies
I have had a play with this, and have tried inserting a second intermediate AVAudioMixerNode. My thoery that when I connect the two mixers, I can select the format conversion then, and can then connect the output of the intermediateMixer to AVAudioSinkNode.When I try thisI get peculiar results:let outputFormat = engine.outputNode.outputFormat(forBus: 0) let inputFormat = engine.inputNode.outputFormat(forBus: 0) let requiredFormat = AVAudioFormat(commonFormat: .pcmFormatFloat32, sampleRate: Double(sampleRate), channels: 1, interleaved: false) let formatMixer = AVAudioMixerNode() engine.attach(formatMixer) let intermediateMixer = AVAudioMixerNode() engine.attach(intermediateMixer) engine.connect(input, to: formatMixer, format: inputFormat) engine.connect(formatMixer, to: intermediateMixer, format: requiredFormat) engine.attach(MicSinkNode) engine.connect(intermediateMixer, to: MicSinkNode, format: nil)If I print to console the various formats along the way, I get:Output Format is <AVAudioFormat 0x600002143930: 4 ch, 48000 Hz, Float32, non-inter>InputNode Format is <AVAudioFormat 0x60000211ae90: 4 ch, 48000 Hz, Float32, non-inter>Required Format for input is: Optional(<AVAudioFormat 0x60000213ed00: 1 ch, 48000 Hz, Float32>)FormatMixer Format is <AVAudioFormat 0x6000021496d0: 1 ch, 48000 Hz, Float32>Intermediate Format is <AVAudioFormat 0x600002149770: 1 ch, 48000 Hz, Float32>MicSinkNode Format is <AVAudioFormat 0x600002149810: 2 ch, 44100 Hz, Float32, non-inter>Where does MicSinkNode get this format from? If I compare my original signal to the result from MicSinkNode, the result is the same length with no glitches. Despite being a different sampleRate at. this stage. What is interesting is that if I change the line to:engine.connect(intermediateMixer, to: MicSinkNode, format: requiredFormat) so that all of the formats match and the MicSinkNode Format is the same as requiredFormat, comparing the WAVs, the output of MicSinkNode is shorter than the original signal (as if a 44.1k has been read directly into a 48k stream). And the regular clock slip glitches are apparent in the audio. So how do I correctly get a input signal int a single 48k buffer that I can read into an array?
Post marked as solved
27 Replies
Are you in the states? I’m in the UK and despite the Apple care cover, there are certain consumer laws here, such as 28 days to refund or return a product (regardless of it working or not). After this It falls into warrantee where they are expected to fix it. More so, UK law states a portable device with a battery has to work for 3 years. They will say they will charge for portable device repairs if it doesn’t have Apple care, but if you look the law states they have to fix it. And they will, you just have to argue in store. They even state these consumer rights in the small print of their own website. When you show a store manager this, they cannot dispute.
Post marked as solved
27 Replies
I tried updating my Mac mini 2018 which is dedicated just as a development machine and the same thing happened. Completely dead. Took it to the apple store and they said they had never seen this, as it was a software update it should have done this at all, and sounded like a bad batch. It was less than a month old So I got a replacement and like an *****, I tried this again with my new Mac mini. I am now stuck watching this load bar after 2 hours and realise it has to be a bug. Whilst it is currently still on, I am certain if I turn this off, this mac too will never boot again. Really sad times!