π· ππ’πππππ‘πππ π½ππΈπΊ-ππΏ πππππππ π πππ ππ π΄ππππ ππππ
π΄π πΆπππ‘π’ππ by Weichao Deng
Want to reduce 48MP ProRAW file sizes without sacrificing quality? Discover how to enable JPEG-XL compression in your camera app and navigate an undocumented π΄ππΉππ’ππππ‘πππ API.
#AVFoundation #ProRAW #iOSDevelopment
Hello World!
I built a SwiftUI camera translation app using AVFoundation, Vision, and ML Kit.
Offline, private, supports multiple languages, and saves your phrases.
Curious or want to support indie dev work?
apps.apple.com/app/vi-trans...
#iOS #translate #SwiftUI #AVFoundation #ML #offline
Do I have any audio processing gurus on here? I got high/low pass filters, compressors, peak limiters etc in place. But I got no idea how to configure them to improve the audio. π
If anyone wants to get on a call, ping me!
#avfoundation #podcast #apple #audioUnits
Podcast folks, we pushed a new Lysten beta yesterday that adjusts the audio in realtime.
The idea is to boost vocals, lower bass and normalize audio. Please reach out if you got any feedback!
#iOS #podcast #audioUnits #avfoundation
import AVFoundation import Speech import SwiftUI @MainActor @Observable class SpeechRecognizer: NSObject { private let audioEngine = AVAudioEngine() func startRecording() { let format = audioEngine.inputNode.inputFormat(forBus: 0) guard format.channelCount > 0 else { return } audioEngine.inputNode.installTap(onBus: 0, bufferSize: 1024, format: format) { _, _ in print("crashes in _dispatch_assert_queue_fail() before this is printed") } audioEngine.prepare() do { try audioEngine.start() } catch { print("start threw \(error)") } } }
This Swift 6 code crashes in _dispatch_assert_queue_fail(), even if the installTap() closure is empty. If I remove the MainActor annotation on the class, it works. Anybody else seen and/or worked around this?
#swift #concurrency #avfoundation
import AVFoundation import Speech import SwiftUI @MainActor @Observable class SpeechRecognizer: NSObject { private let audioEngine = AVAudioEngine() func startRecording() { let format = audioEngine.inputNode.inputFormat(forBus: 0) guard format.channelCount > 0 else { return } audioEngine.inputNode.installTap(onBus: 0, bufferSize: 1024, format: format) { _, _ in print("crashes in _dispatch_assert_queue_fail() before this is printed") } audioEngine.prepare() do { try audioEngine.start() } catch { print("start threw \(error)") } } }
This Swift 6 code crashes in _dispatch_assert_queue_fail(), even if the installTap() closure is empty. If I remove the MainActor annotation on the class, it works. Anybody else seen and/or worked around this?
#swift #concurrency #avfoundation
Do I happen to be connected with an AVFoundation expert on here? Iβd like to pick your brain about something.
#avfoundation #macos
Looking for #AVFoundation #CoreMedia expert help to solve an issue with filling #audio gaps with silence when recording on macOS in #swift app. Any feedback much appreciated!
github.com/darrarski/macOS-audio-ga...