Documentation
¶
Overview ¶
Package soundanalysis provides purego-based Go bindings for the macOS SoundAnalysis framework.
Apple documentation: https://developer.apple.com/documentation/soundanalysis
Index ¶
- func SNClassifierIdentifierVersion1() *foundation.NSString
- func SNErrorDomain() uintptr
- type Acl_entry_id_t
- type Acl_flag_t
- type Acl_perm_t
- type Acl_tag_t
- type Acl_type_t
- type CGLCPContextPriorityRequest
- type Clockid_t
- type Dispatch_autorelease_frequency_t
- type Dispatch_block_flags_t
- type EvCmd
- type Filesec_property_t
- type Idtype_t
- type Ipc_info_object_type_t
- type Launch_data_type_t
- type MDLabelDomain
- type MDQueryOptionFlags
- type MDQuerySortOptionFlags
- type Mach_vm_range_flags_t
- type Mach_vm_range_flavor_t
- type Mach_vm_range_tag_t
- type Mpo_flags_t
- type NXMouseButton
- type Os_clockid_t
- type PMPageToPaperMappingType
- type Ptrauth_key
- type Qos_class_t
- type SNAudioFileAnalyzer
- func (o *SNAudioFileAnalyzer) AddRequestWithObserverError(request SNRequest, observer SNResultsObserving) (bool, error)
- func (o *SNAudioFileAnalyzer) Analyze()
- func (o *SNAudioFileAnalyzer) AnalyzeWithCompletionHandler(completionHandler func(bool))
- func (o *SNAudioFileAnalyzer) CancelAnalysis()
- func (o *SNAudioFileAnalyzer) InitWithURLError(url *foundation.NSURL) (*SNAudioFileAnalyzer, error)
- func (o *SNAudioFileAnalyzer) RemoveAllRequests()
- func (o *SNAudioFileAnalyzer) RemoveRequest(request SNRequest)
- type SNAudioStreamAnalyzer
- func (o *SNAudioStreamAnalyzer) AddRequestWithObserverError(request SNRequest, observer SNResultsObserving) (bool, error)
- func (o *SNAudioStreamAnalyzer) AnalyzeAudioBufferAtAudioFramePosition(audioBuffer *avfaudio.AVAudioBuffer, audioFramePosition int64)
- func (o *SNAudioStreamAnalyzer) CompleteAnalysis()
- func (o *SNAudioStreamAnalyzer) InitWithFormat(format *avfaudio.AVAudioFormat) *SNAudioStreamAnalyzer
- func (o *SNAudioStreamAnalyzer) RemoveAllRequests()
- func (o *SNAudioStreamAnalyzer) RemoveRequest(request SNRequest)
- type SNClassification
- type SNClassificationResult
- type SNClassifySoundRequest
- func (o *SNClassifySoundRequest) InitWithClassifierIdentifierError(classifierIdentifier *foundation.NSString) (*SNClassifySoundRequest, error)
- func (o *SNClassifySoundRequest) InitWithMLModelError(mlModel *coreml.MLModel) (*SNClassifySoundRequest, error)
- func (o *SNClassifySoundRequest) KnownClassifications() *foundation.NSArray[*foundation.NSString]
- func (o *SNClassifySoundRequest) OverlapFactor() float64
- func (o *SNClassifySoundRequest) SetOverlapFactor(overlapFactor float64)
- func (o *SNClassifySoundRequest) SetWindowDuration(windowDuration coremedia.CMTime)
- func (o *SNClassifySoundRequest) WindowDuration() coremedia.CMTime
- func (o *SNClassifySoundRequest) WindowDurationConstraint() *SNTimeDurationConstraint
- type SNErrorCode
- type SNRequest
- type SNResult
- type SNResultsObserving
- type SNTimeDurationConstraint
- func (o *SNTimeDurationConstraint) DurationRange() coremedia.CMTimeRange
- func (o *SNTimeDurationConstraint) EnumeratedDurations() *foundation.NSArray[*foundation.NSValue]
- func (o *SNTimeDurationConstraint) InitWithDurationRange(durationRange coremedia.CMTimeRange) *SNTimeDurationConstraint
- func (o *SNTimeDurationConstraint) InitWithEnumeratedDurations(enumeratedDurations *foundation.NSArray[*foundation.NSValue]) *SNTimeDurationConstraint
- func (o *SNTimeDurationConstraint) Type() SNTimeDurationConstraintType
- type SNTimeDurationConstraintType
- type Virtual_memory_guard_exception_code_t
- type Xpc_listener_create_flags_t
- type Xpc_session_create_flags_t
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SNClassifierIdentifierVersion1 ¶
func SNClassifierIdentifierVersion1() *foundation.NSString
Denotes the first edition of the Apple-provided sound classifier.
func SNErrorDomain ¶
func SNErrorDomain() uintptr
Types ¶
type Acl_entry_id_t ¶
type Acl_entry_id_t int64
const ( ACL_FIRST_ENTRY Acl_entry_id_t = 0 ACL_NEXT_ENTRY Acl_entry_id_t = -1 ACL_LAST_ENTRY Acl_entry_id_t = -2 )
func (Acl_entry_id_t) String ¶
func (e Acl_entry_id_t) String() string
type Acl_flag_t ¶
type Acl_flag_t int64
const ( ACL_FLAG_DEFER_INHERIT Acl_flag_t = 1 ACL_FLAG_NO_INHERIT Acl_flag_t = 131072 ACL_ENTRY_INHERITED Acl_flag_t = 16 ACL_ENTRY_FILE_INHERIT Acl_flag_t = 32 ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64 ACL_ENTRY_LIMIT_INHERIT Acl_flag_t = 128 ACL_ENTRY_ONLY_INHERIT Acl_flag_t = 256 )
func (Acl_flag_t) String ¶
func (e Acl_flag_t) String() string
type Acl_perm_t ¶
type Acl_perm_t int64
const ( ACL_READ_DATA Acl_perm_t = 2 ACL_LIST_DIRECTORY Acl_perm_t = 2 ACL_WRITE_DATA Acl_perm_t = 4 ACL_ADD_FILE Acl_perm_t = 4 ACL_EXECUTE Acl_perm_t = 8 ACL_SEARCH Acl_perm_t = 8 ACL_DELETE Acl_perm_t = 16 ACL_APPEND_DATA Acl_perm_t = 32 ACL_ADD_SUBDIRECTORY Acl_perm_t = 32 ACL_DELETE_CHILD Acl_perm_t = 64 ACL_READ_ATTRIBUTES Acl_perm_t = 128 ACL_WRITE_ATTRIBUTES Acl_perm_t = 256 ACL_READ_EXTATTRIBUTES Acl_perm_t = 512 ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024 ACL_READ_SECURITY Acl_perm_t = 2048 ACL_WRITE_SECURITY Acl_perm_t = 4096 ACL_CHANGE_OWNER Acl_perm_t = 8192 ACL_SYNCHRONIZE Acl_perm_t = 1048576 )
func (Acl_perm_t) String ¶
func (e Acl_perm_t) String() string
type Acl_type_t ¶
type Acl_type_t int64
const ( ACL_TYPE_EXTENDED Acl_type_t = 256 ACL_TYPE_ACCESS Acl_type_t = 0 ACL_TYPE_DEFAULT Acl_type_t = 1 ACL_TYPE_AFS Acl_type_t = 2 ACL_TYPE_CODA Acl_type_t = 3 ACL_TYPE_NTFS Acl_type_t = 4 ACL_TYPE_NWFS Acl_type_t = 5 )
func (Acl_type_t) String ¶
func (e Acl_type_t) String() string
type CGLCPContextPriorityRequest ¶
type CGLCPContextPriorityRequest int64
const ( KCGLCPContextPriorityRequestHigh CGLCPContextPriorityRequest = 0 KCGLCPContextPriorityRequestNormal CGLCPContextPriorityRequest = 1 KCGLCPContextPriorityRequestLow CGLCPContextPriorityRequest = 2 )
func (CGLCPContextPriorityRequest) String ¶
func (e CGLCPContextPriorityRequest) String() string
type Dispatch_autorelease_frequency_t ¶
type Dispatch_autorelease_frequency_t uint64
const ( DISPATCH_AUTORELEASE_FREQUENCY_INHERIT Dispatch_autorelease_frequency_t = 0 DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1 DISPATCH_AUTORELEASE_FREQUENCY_NEVER Dispatch_autorelease_frequency_t = 2 )
func (Dispatch_autorelease_frequency_t) String ¶
func (e Dispatch_autorelease_frequency_t) String() string
type Dispatch_block_flags_t ¶
type Dispatch_block_flags_t uint64
const ( DISPATCH_BLOCK_BARRIER Dispatch_block_flags_t = 1 DISPATCH_BLOCK_DETACHED Dispatch_block_flags_t = 2 DISPATCH_BLOCK_ASSIGN_CURRENT Dispatch_block_flags_t = 4 DISPATCH_BLOCK_NO_QOS_CLASS Dispatch_block_flags_t = 8 DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16 DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32 )
func (Dispatch_block_flags_t) String ¶
func (e Dispatch_block_flags_t) String() string
type Filesec_property_t ¶
type Filesec_property_t int64
const ( FILESEC_OWNER Filesec_property_t = 1 FILESEC_GROUP Filesec_property_t = 2 FILESEC_UUID Filesec_property_t = 3 FILESEC_MODE Filesec_property_t = 4 FILESEC_ACL Filesec_property_t = 5 FILESEC_GRPUUID Filesec_property_t = 6 FILESEC_ACL_RAW Filesec_property_t = 100 FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101 )
func (Filesec_property_t) String ¶
func (e Filesec_property_t) String() string
type Ipc_info_object_type_t ¶
type Ipc_info_object_type_t int64
const ( IPC_OTYPE_NONE Ipc_info_object_type_t = 0 IPC_OTYPE_THREAD_CONTROL Ipc_info_object_type_t = 1 IPC_OTYPE_TASK_CONTROL Ipc_info_object_type_t = 2 IPC_OTYPE_HOST Ipc_info_object_type_t = 3 IPC_OTYPE_HOST_PRIV Ipc_info_object_type_t = 4 IPC_OTYPE_PROCESSOR Ipc_info_object_type_t = 5 IPC_OTYPE_PROCESSOR_SET Ipc_info_object_type_t = 6 IPC_OTYPE_PROCESSOR_SET_NAME Ipc_info_object_type_t = 7 IPC_OTYPE_TIMER Ipc_info_object_type_t = 8 IPC_OTYPE_PORT_SUBST_ONCE Ipc_info_object_type_t = 9 IPC_OTYPE_MIG Ipc_info_object_type_t = 10 IPC_OTYPE_MEMORY_OBJECT Ipc_info_object_type_t = 11 IPC_OTYPE_XMM_PAGER Ipc_info_object_type_t = 12 IPC_OTYPE_XMM_KERNEL Ipc_info_object_type_t = 13 IPC_OTYPE_XMM_REPLY Ipc_info_object_type_t = 14 IPC_OTYPE_UND_REPLY Ipc_info_object_type_t = 15 IPC_OTYPE_HOST_NOTIFY Ipc_info_object_type_t = 16 IPC_OTYPE_HOST_SECURITY Ipc_info_object_type_t = 17 IPC_OTYPE_LEDGER Ipc_info_object_type_t = 18 IPC_OTYPE_MAIN_DEVICE Ipc_info_object_type_t = 19 IPC_OTYPE_TASK_NAME Ipc_info_object_type_t = 20 IPC_OTYPE_SUBSYSTEM Ipc_info_object_type_t = 21 IPC_OTYPE_IO_DONE_QUEUE Ipc_info_object_type_t = 22 IPC_OTYPE_SEMAPHORE Ipc_info_object_type_t = 23 IPC_OTYPE_LOCK_SET Ipc_info_object_type_t = 24 IPC_OTYPE_CLOCK Ipc_info_object_type_t = 25 IPC_OTYPE_CLOCK_CTRL Ipc_info_object_type_t = 26 IPC_OTYPE_IOKIT_IDENT Ipc_info_object_type_t = 27 IPC_OTYPE_NAMED_ENTRY Ipc_info_object_type_t = 28 IPC_OTYPE_IOKIT_CONNECT Ipc_info_object_type_t = 29 IPC_OTYPE_IOKIT_OBJECT Ipc_info_object_type_t = 30 IPC_OTYPE_UPL Ipc_info_object_type_t = 31 IPC_OTYPE_MEM_OBJ_CONTROL Ipc_info_object_type_t = 32 IPC_OTYPE_AU_SESSIONPORT Ipc_info_object_type_t = 33 IPC_OTYPE_FILEPORT Ipc_info_object_type_t = 34 IPC_OTYPE_LABELH Ipc_info_object_type_t = 35 IPC_OTYPE_TASK_RESUME Ipc_info_object_type_t = 36 IPC_OTYPE_VOUCHER Ipc_info_object_type_t = 37 IPC_OTYPE_VOUCHER_ATTR_CONTROL Ipc_info_object_type_t = 38 IPC_OTYPE_WORK_INTERVAL Ipc_info_object_type_t = 39 IPC_OTYPE_UX_HANDLER Ipc_info_object_type_t = 40 IPC_OTYPE_UEXT_OBJECT Ipc_info_object_type_t = 41 IPC_OTYPE_ARCADE_REG Ipc_info_object_type_t = 42 IPC_OTYPE_EVENTLINK Ipc_info_object_type_t = 43 IPC_OTYPE_TASK_INSPECT Ipc_info_object_type_t = 44 IPC_OTYPE_TASK_READ Ipc_info_object_type_t = 45 IPC_OTYPE_THREAD_INSPECT Ipc_info_object_type_t = 46 IPC_OTYPE_THREAD_READ Ipc_info_object_type_t = 47 IPC_OTYPE_SUID_CRED Ipc_info_object_type_t = 48 IPC_OTYPE_HYPERVISOR Ipc_info_object_type_t = 49 IPC_OTYPE_TASK_ID_TOKEN Ipc_info_object_type_t = 50 IPC_OTYPE_TASK_FATAL Ipc_info_object_type_t = 51 IPC_OTYPE_KCDATA Ipc_info_object_type_t = 52 IPC_OTYPE_EXCLAVES_RESOURCE Ipc_info_object_type_t = 53 IPC_OTYPE_THREAD_RESUME Ipc_info_object_type_t = 54 IPC_OTYPE_UNKNOWN Ipc_info_object_type_t = 4294967295 )
func (Ipc_info_object_type_t) String ¶
func (e Ipc_info_object_type_t) String() string
type Launch_data_type_t ¶
type Launch_data_type_t int64
const ( LAUNCH_DATA_DICTIONARY Launch_data_type_t = 1 LAUNCH_DATA_ARRAY Launch_data_type_t = 2 LAUNCH_DATA_FD Launch_data_type_t = 3 LAUNCH_DATA_INTEGER Launch_data_type_t = 4 LAUNCH_DATA_REAL Launch_data_type_t = 5 LAUNCH_DATA_BOOL Launch_data_type_t = 6 LAUNCH_DATA_STRING Launch_data_type_t = 7 LAUNCH_DATA_OPAQUE Launch_data_type_t = 8 LAUNCH_DATA_ERRNO Launch_data_type_t = 9 LAUNCH_DATA_MACHPORT Launch_data_type_t = 10 )
func (Launch_data_type_t) String ¶
func (e Launch_data_type_t) String() string
type MDLabelDomain ¶
type MDLabelDomain int64
@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().
const ( KMDLabelUserDomain MDLabelDomain = 0 KMDLabelLocalDomain MDLabelDomain = 1 )
func (MDLabelDomain) String ¶
func (e MDLabelDomain) String() string
type MDQueryOptionFlags ¶
type MDQueryOptionFlags int64
const ( KMDQuerySynchronous MDQueryOptionFlags = 1 KMDQueryWantsUpdates MDQueryOptionFlags = 4 KMDQueryAllowFSTranslation MDQueryOptionFlags = 8 )
func (MDQueryOptionFlags) String ¶
func (e MDQueryOptionFlags) String() string
type MDQuerySortOptionFlags ¶
type MDQuerySortOptionFlags int64
@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.
const (
KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)
func (MDQuerySortOptionFlags) String ¶
func (e MDQuerySortOptionFlags) String() string
type Mach_vm_range_flags_t ¶
type Mach_vm_range_flags_t int64
const (
MACH_VM_RANGE_NONE Mach_vm_range_flags_t = 0
)
func (Mach_vm_range_flags_t) String ¶
func (e Mach_vm_range_flags_t) String() string
type Mach_vm_range_flavor_t ¶
type Mach_vm_range_flavor_t int64
const ( MACH_VM_RANGE_FLAVOR_INVALID Mach_vm_range_flavor_t = 0 MACH_VM_RANGE_FLAVOR_V1 Mach_vm_range_flavor_t = 1 )
func (Mach_vm_range_flavor_t) String ¶
func (e Mach_vm_range_flavor_t) String() string
type Mach_vm_range_tag_t ¶
type Mach_vm_range_tag_t int64
const ( MACH_VM_RANGE_DEFAULT Mach_vm_range_tag_t = 0 MACH_VM_RANGE_DATA Mach_vm_range_tag_t = 1 MACH_VM_RANGE_FIXED Mach_vm_range_tag_t = 2 )
func (Mach_vm_range_tag_t) String ¶
func (e Mach_vm_range_tag_t) String() string
type Mpo_flags_t ¶
type Mpo_flags_t int64
const ( MPO_PORT Mpo_flags_t = 0 MPO_SERVICE_PORT Mpo_flags_t = 1024 MPO_CONNECTION_PORT Mpo_flags_t = 2048 MPO_REPLY_PORT Mpo_flags_t = 4096 MPO_WEAK_REPLY_PORT Mpo_flags_t = 16384 MPO_NOTIFICATION_PORT Mpo_flags_t = 17408 MPO_EXCEPTION_PORT Mpo_flags_t = 32768 MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536 )
func (Mpo_flags_t) String ¶
func (e Mpo_flags_t) String() string
type NXMouseButton ¶
type NXMouseButton int64
const ( NX_OneButton NXMouseButton = 0 NX_LeftButton NXMouseButton = 1 NX_RightButton NXMouseButton = 2 )
func (NXMouseButton) String ¶
func (e NXMouseButton) String() string
type Os_clockid_t ¶
type Os_clockid_t int64
const (
OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)
func (Os_clockid_t) String ¶
func (e Os_clockid_t) String() string
type PMPageToPaperMappingType ¶
type PMPageToPaperMappingType int64
const ( KPMPageToPaperMappingNone PMPageToPaperMappingType = 1 KPMPageToPaperMappingScaleToFit PMPageToPaperMappingType = 2 )
func (PMPageToPaperMappingType) String ¶
func (e PMPageToPaperMappingType) String() string
type Ptrauth_key ¶
type Ptrauth_key int64
const ( Ptrauth_key_none Ptrauth_key = -1 Ptrauth_key_asia Ptrauth_key = 0 Ptrauth_key_asib Ptrauth_key = 1 Ptrauth_key_asda Ptrauth_key = 2 Ptrauth_key_asdb Ptrauth_key = 3 Ptrauth_key_process_independent_code Ptrauth_key = 0 Ptrauth_key_process_dependent_code Ptrauth_key = 1 Ptrauth_key_process_independent_data Ptrauth_key = 2 Ptrauth_key_process_dependent_data Ptrauth_key = 3 Ptrauth_key_return_address Ptrauth_key = 1 Ptrauth_key_frame_pointer Ptrauth_key = 3 Ptrauth_key_function_pointer Ptrauth_key = 0 Ptrauth_key_block_function Ptrauth_key = 0 Ptrauth_key_cxx_vtable_pointer Ptrauth_key = 2 Ptrauth_key_method_list_pointer Ptrauth_key = 2 Ptrauth_key_objc_isa_pointer Ptrauth_key = 2 Ptrauth_key_objc_super_pointer Ptrauth_key = 2 Ptrauth_key_objc_sel_pointer Ptrauth_key = 3 Ptrauth_key_objc_class_ro_pointer Ptrauth_key = 2 Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2 Ptrauth_key_init_fini_pointer Ptrauth_key = 0 )
func (Ptrauth_key) String ¶
func (e Ptrauth_key) String() string
type Qos_class_t ¶
type Qos_class_t uint32
const ( QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33 QOS_CLASS_USER_INITIATED Qos_class_t = 25 QOS_CLASS_DEFAULT Qos_class_t = 21 QOS_CLASS_UTILITY Qos_class_t = 17 QOS_CLASS_BACKGROUND Qos_class_t = 9 QOS_CLASS_UNSPECIFIED Qos_class_t = 0 )
func (Qos_class_t) String ¶
func (e Qos_class_t) String() string
type SNAudioFileAnalyzer ¶
type SNAudioFileAnalyzer struct {
foundation.NSObject
}
Apple documentation: https://developer.apple.com/documentation/soundanalysis/snaudiofileanalyzer
func SNAudioFileAnalyzerFromID ¶
func SNAudioFileAnalyzerFromID(id objc.ID) *SNAudioFileAnalyzer
func (*SNAudioFileAnalyzer) AddRequestWithObserverError ¶
func (o *SNAudioFileAnalyzer) AddRequestWithObserverError(request SNRequest, observer SNResultsObserving) (bool, error)
Adds a new analysis request to the analyzer - Parameters: - request: An audio analysis request to be performed on the audio stream - observer: The object that will receive the analysis results for the supplied request. The observer is weakly retained by the analyzer. - error On input, a pointer to an error object. If an error occurs, this pointer is set to an actual error object containing the error information. You may specify nil for this parameter if you do not want the error information. - Returns: YES if the request was successfully added, and NO otherwise. If addRequest is called while the file is being processed, an error will be returned.
func (*SNAudioFileAnalyzer) Analyze ¶
func (o *SNAudioFileAnalyzer) Analyze()
Analyzes the audio file synchronously This function executes synchronously. Any errors produced during analysis will flow downstream to the request observers. This method may block for a long period of time, so be careful to ensure this call does not block UI or other important tasks.
func (*SNAudioFileAnalyzer) AnalyzeWithCompletionHandler ¶
func (o *SNAudioFileAnalyzer) AnalyzeWithCompletionHandler(completionHandler func(bool))
Analyzes the audio file asynchronously This function executes asynchronously, calling the completion after the entire file has completed analysis. Any errors produced during analysis will flow downstream to the request observers. If the cancelAnalysis method is called, the completionHandler will still be called, but with didReachEndOfFile set to NO.
func (*SNAudioFileAnalyzer) CancelAnalysis ¶
func (o *SNAudioFileAnalyzer) CancelAnalysis()
Cancels any in-progress analysis of the audio file This function executes asynchronously, and will trigger the completion handler provided in the analyzeWithCompletionHandler method after the cancellation is complete.
func (*SNAudioFileAnalyzer) InitWithURLError ¶
func (o *SNAudioFileAnalyzer) InitWithURLError(url *foundation.NSURL) (*SNAudioFileAnalyzer, error)
Creates a new analyzer - Parameters: - url: The url for the audio file to be analyzed - error: On input, a pointer to an error object. If an error occurs, this pointer is set to an actual error object containing the error information. You may specify nil for this parameter if you do not want the error information.
func (*SNAudioFileAnalyzer) RemoveAllRequests ¶
func (o *SNAudioFileAnalyzer) RemoveAllRequests()
Removes all requests from the analyzer
func (*SNAudioFileAnalyzer) RemoveRequest ¶
func (o *SNAudioFileAnalyzer) RemoveRequest(request SNRequest)
Removes an existing analysis request from the analyzer - Parameter request: An audio analysis request to be removed Requests can be removed while analysis is in progress. Once the removeRequest method returns, the previously registered observer will not receive any more callbacks.
type SNAudioStreamAnalyzer ¶
type SNAudioStreamAnalyzer struct {
foundation.NSObject
}
Apple documentation: https://developer.apple.com/documentation/soundanalysis/snaudiostreamanalyzer
func SNAudioStreamAnalyzerFromID ¶
func SNAudioStreamAnalyzerFromID(id objc.ID) *SNAudioStreamAnalyzer
func (*SNAudioStreamAnalyzer) AddRequestWithObserverError ¶
func (o *SNAudioStreamAnalyzer) AddRequestWithObserverError(request SNRequest, observer SNResultsObserving) (bool, error)
Adds a new analysis request to the analyzer - Parameters: - request: An audio analysis request to be performed on the audio stream - observer: The object that will receive the analysis results for the supplied request. The observer is weakly retained by the analyzer. - error: On input, a pointer to an error object. If an error occurs, this pointer is set to an actual error object containing the error information. You may specify nil for this parameter if you do not want the error information. - Returns: YES if the request was successfully added, and NO otherwise. Requests can be added while analysis is in progress. If the analyzer cannot perform the requested analysis, an error will be returned. For example, an error could be returned if the request requires a stream format that doesn't match the analyzer's stream format.
func (*SNAudioStreamAnalyzer) AnalyzeAudioBufferAtAudioFramePosition ¶
func (o *SNAudioStreamAnalyzer) AnalyzeAudioBufferAtAudioFramePosition(audioBuffer *avfaudio.AVAudioBuffer, audioFramePosition int64)
Provides the next buffer for analysis - Parameters: - audioBuffer: The buffer containing the audio to be processed - audioFramePosition: The frame position of the data in the buffer The framePosition should be a monotonically increasing sample timestamp. If the sample timeline is detected to be non-continuous, the analyzer's internal state may reset to account for the jump. Some types of audio analysis are performed at a fixed block size, which may differ from the buffer sizes provided for analysis. For this reason, an invocation of analyzeAudioBuffer may cause an analysis request observer to be called zero times, one time, or many times, depending on the relationship between the input buffer size, current analyzer state, and native analysis block size. Any errors produced during analysis will be provided through the request observers. This method may block as a means of indicating backpressure to the caller. These methods are not safe to call from a realtime audio context but may be called from lower priority threads (i.e. AVAudioEngine tap callback or AudioQueue callback).
func (*SNAudioStreamAnalyzer) CompleteAnalysis ¶
func (o *SNAudioStreamAnalyzer) CompleteAnalysis()
Indicates that the audio stream has ended, and no more audio buffers will be analyzed After this method has been called, it is invalid to provide any more audio data for analysis, and any provided buffers will be ignored. This method is useful for types of analysis that may have final results to provide upon the completion of the stream.
func (*SNAudioStreamAnalyzer) InitWithFormat ¶
func (o *SNAudioStreamAnalyzer) InitWithFormat(format *avfaudio.AVAudioFormat) *SNAudioStreamAnalyzer
Creates a new analyzer - Parameter format: The format of the audio stream to be analyzed. Only PCM formats are supported.
func (*SNAudioStreamAnalyzer) RemoveAllRequests ¶
func (o *SNAudioStreamAnalyzer) RemoveAllRequests()
Removes all requests from the analyzer
func (*SNAudioStreamAnalyzer) RemoveRequest ¶
func (o *SNAudioStreamAnalyzer) RemoveRequest(request SNRequest)
Removes an existing analysis request from the analyzer - Parameter request: An audio analysis request to be removed Requests can be removed while analysis is in progress. Once the removeRequest method returns, the previously registered observer will not receive any more callbacks.
type SNClassification ¶
type SNClassification struct {
foundation.NSObject
}
Apple documentation: https://developer.apple.com/documentation/soundanalysis/snclassification
func SNClassificationFromID ¶
func SNClassificationFromID(id objc.ID) *SNClassification
func (*SNClassification) Confidence ¶
func (o *SNClassification) Confidence() float64
The level of confidence normalized to [0, 1], where 1 is most confident
func (*SNClassification) Identifier ¶
func (o *SNClassification) Identifier() *foundation.NSString
The identifier of a classification request. An example classification could be a string like 'laughter' or 'applause'. The string is defined in the model that was used for the classification. Usually these are technical labels that are not localized and not meant to be used directly to be presented to an end user in the UI.
type SNClassificationResult ¶
type SNClassificationResult struct {
foundation.NSObject
}
Apple documentation: https://developer.apple.com/documentation/soundanalysis/snclassificationresult
func SNClassificationResultFromID ¶
func SNClassificationResultFromID(id objc.ID) *SNClassificationResult
func (*SNClassificationResult) ClassificationForIdentifier ¶
func (o *SNClassificationResult) ClassificationForIdentifier(identifier *foundation.NSString) *SNClassification
Retrieves the classification candidate with the specified identifier. - Parameter identifier: An identifier on which to query for a particular classification candidate. The query will match to any classification candidate whose `identifier` property (see `identifier` property of `SNClassification`) contains a value equal to the provided argument. - Returns: The classification candidate which has the specified identifier, if it exists. If no such candidate exists, `nil` will be returned.
func (*SNClassificationResult) Classifications ¶
func (o *SNClassificationResult) Classifications() *foundation.NSArray[*SNClassification]
All classification candidates, sorted with highest confidence first.
func (*SNClassificationResult) TimeRange ¶
func (o *SNClassificationResult) TimeRange() coremedia.CMTimeRange
The time range in the client-provided audio stream to which this classification result corresponds Each CMTime contains of a value (audio frame count) and timescale (client sample rate). This enables the client to precisely identify the frame range in the original audio stream to which this result corresponds. Time ranges will often be in the past compared to the frame count of the most recent audio buffer provided to the analyzer, due to the inherent audio buffering operations required to deliver a full block of audio to an MLModel.
type SNClassifySoundRequest ¶
type SNClassifySoundRequest struct {
foundation.NSObject
}
Apple documentation: https://developer.apple.com/documentation/soundanalysis/snclassifysoundrequest
func SNClassifySoundRequestFromID ¶
func SNClassifySoundRequestFromID(id objc.ID) *SNClassifySoundRequest
func (*SNClassifySoundRequest) InitWithClassifierIdentifierError ¶
func (o *SNClassifySoundRequest) InitWithClassifierIdentifierError(classifierIdentifier *foundation.NSString) (*SNClassifySoundRequest, error)
Initializes a sound classification request with a known classifier. - Parameters: - classifierIdentifier: An identifier identifying the particular classifier to use for labeling sounds. - error: An output parameter which, in the case of an error, will be populated with details about that error. Upon success, the contents of this output parameter are undefined. Please use the return value of this method to determine whether or not an error occurred before using the value assigned to this output parameter. - Returns Upon failure, `nil`; upon success, an `SNClassifySoundRequest` instance which can be added to an analyzer to classify sounds using a recognized classifier. This initializer may be used to classify sounds using Apple-provided sound classifiers. Note that Apple may add new classifiers in the future, but it commits to ensuring the consistent performance of existing classifiers.
func (*SNClassifySoundRequest) InitWithMLModelError ¶
func (o *SNClassifySoundRequest) InitWithMLModelError(mlModel *coreml.MLModel) (*SNClassifySoundRequest, error)
Initializes a sound classification request with the provided MLModel - Parameter mlModel: The CoreML audio classification model to be used with this request The provided model must accept audio data as input, and output a classification dictionary containing the probability of each category.
func (*SNClassifySoundRequest) KnownClassifications ¶
func (o *SNClassifySoundRequest) KnownClassifications() *foundation.NSArray[*foundation.NSString]
Lists all labels that can be produced by this request. - Returns: An array of strings containing all sound identifiers which can be produced by this request.
func (*SNClassifySoundRequest) OverlapFactor ¶
func (o *SNClassifySoundRequest) OverlapFactor() float64
The overlap factor of the windows of audio data provided to the classifier, if the model operates on fixed audio block sizes. When performing audio analysis on fixed audio block sizes, it is common for the analysis windows to overlap by some factor. Without overlapping the analysis windows (when the overlap factor is 0.0), a sound might be split across two analysis windows, which could negatively affect classification performance. Overlapping the analysis windows by 50% ensures each sound will fall near the center of at least one analysis window. The supported range is [0.0, 1.0), and the default value is 0.5. Increasing the overlap factor increases computational complexity, so values greater than 0.5 should be used with care.
func (*SNClassifySoundRequest) SetOverlapFactor ¶
func (o *SNClassifySoundRequest) SetOverlapFactor(overlapFactor float64)
func (*SNClassifySoundRequest) SetWindowDuration ¶
func (o *SNClassifySoundRequest) SetWindowDuration(windowDuration coremedia.CMTime)
func (*SNClassifySoundRequest) WindowDuration ¶
func (o *SNClassifySoundRequest) WindowDuration() coremedia.CMTime
The duration of a single analysis window. When performing classification over an audio stream, a classifier computes each classification result based on a single 'analysis window' of audio. Analysis windows are uniformly-sized time intervals, where the size of any given window is considered that window's 'duration'. Some classifiers can operate over analysis windows which conform to one of several different duration options. Larger window durations allow classification to execute less frequently over larger contexts of audio, potentially improving classification performance. Smaller window durations allow classification to execute more frequently over smaller contexts of audio, producing results with sharper time resolution. Depending on the use-case, a larger or smaller window may be preferable. When configuring the window duration, it is important to respect the capabilities of the classifier. A classifier's supported window durations can be discovered using the `windowDurationConstraint` property. If an unsupported window duration is selected, the window duration will be automatically rounded down to the nearest supported value if possible, else rounded up.
func (*SNClassifySoundRequest) WindowDurationConstraint ¶
func (o *SNClassifySoundRequest) WindowDurationConstraint() *SNTimeDurationConstraint
The constraints governing permitted analysis window durations. The analysis window duration is controlled using the `windowDuration` property. If an analysis window duration is selected which does not meet the necessary constraints, it will automatically be adjusted to meet these constraints (see `windowDuration` for more information regarding how this adjustment will be applied).
type SNErrorCode ¶
type SNErrorCode int64
const ( SNErrorCodeUnknownError SNErrorCode = 1 SNErrorCodeOperationFailed SNErrorCode = 2 SNErrorCodeInvalidFormat SNErrorCode = 3 SNErrorCodeInvalidModel SNErrorCode = 4 SNErrorCodeInvalidFile SNErrorCode = 5 )
func (SNErrorCode) String ¶
func (e SNErrorCode) String() string
type SNResultsObserving ¶
SNResultsObserving wraps the ObjC protocol SNResultsObserving.
type SNTimeDurationConstraint ¶
type SNTimeDurationConstraint struct {
foundation.NSObject
}
Apple documentation: https://developer.apple.com/documentation/soundanalysis/sntimedurationconstraint
func SNTimeDurationConstraintFromID ¶
func SNTimeDurationConstraintFromID(id objc.ID) *SNTimeDurationConstraint
func (*SNTimeDurationConstraint) DurationRange ¶
func (o *SNTimeDurationConstraint) DurationRange() coremedia.CMTimeRange
If the constraint type is range, then the range of allowable window durations. - Returns: If the constraint type is range, a CMTimeRange representing the range of allowable window durations. If the constraint type is not range, `kCMTimeRangeInvalid`. The `type` property should be queried before this property is accessed. This property will only yield meaningful values if the constraint type is considered to be 'range'. The constraint type is considered to be 'range' if the `type` property is equal to `SNTimeDurationConstraintTypeRange`.
func (*SNTimeDurationConstraint) EnumeratedDurations ¶
func (o *SNTimeDurationConstraint) EnumeratedDurations() *foundation.NSArray[*foundation.NSValue]
If the constraint type is enumerated, then the set of discrete allowable time durations. - Returns: If the constraint type is enumerated, an array of CMTime structures (boxed in NSValue instances) representing the set of allowable time durations. The durations will always be provided sorted in order of ascending time. If the constraint type is not enumerated, an empty array will be returned. The `type` property should be queried before this property is accessed. This property will only yield meaningful values if the constraint type is considered to be 'enumerated'. The constraint type is considered to be 'enumerated' if the `type` property is equal to `SNTimeDurationConstraintTypeEnumerated`.
func (*SNTimeDurationConstraint) InitWithDurationRange ¶
func (o *SNTimeDurationConstraint) InitWithDurationRange(durationRange coremedia.CMTimeRange) *SNTimeDurationConstraint
Initializes a range-type constraint. - Parameter durationRange: A continuous range of duration values (represented as CMTime values) permitted by this constraint. - Returns: An instance whose `type` is `SNTimeDurationConstraintTypeRange`, and which constrains durations values to the provided range.
func (*SNTimeDurationConstraint) InitWithEnumeratedDurations ¶
func (o *SNTimeDurationConstraint) InitWithEnumeratedDurations(enumeratedDurations *foundation.NSArray[*foundation.NSValue]) *SNTimeDurationConstraint
Initializes an enumerated-type constraint. - Parameter enumeratedDurations: A discrete set of duration values (represented as CMTime values boxed in NSValue instances) permitted by this constraint. - Returns: An instance whose `type` is `SNTimeDurationConstraintTypeEnumerated`, and which constrains duration values to the provided set of discrete values.
func (*SNTimeDurationConstraint) Type ¶
func (o *SNTimeDurationConstraint) Type() SNTimeDurationConstraintType
The time constraint type. The value of this property dictates whether or not other properties associated with this class can be validly accessed. Please refer to the documentation of other individual properties to understand their relationship to this one. This property is always valid to access.
type SNTimeDurationConstraintType ¶
type SNTimeDurationConstraintType int64
const ( // An 'enumerated' constraint type. In order for a duration to satisfy a constraint of this type, it must be a member of a particular set of discrete permissible values. SNTimeDurationConstraintTypeEnumerated SNTimeDurationConstraintType = 1 // A 'range' constraint type. In order for a duration to satisfy a constraint of this type, it must be a member of a particular continuous range of permissible values. SNTimeDurationConstraintTypeRange SNTimeDurationConstraintType = 2 )
func (SNTimeDurationConstraintType) String ¶
func (e SNTimeDurationConstraintType) String() string
type Virtual_memory_guard_exception_code_t ¶
type Virtual_memory_guard_exception_code_t int64
const ( KGUARD_EXC_DEALLOC_GAP Virtual_memory_guard_exception_code_t = 1 KGUARD_EXC_RECLAIM_COPYIO_FAILURE Virtual_memory_guard_exception_code_t = 2 KGUARD_EXC_RECLAIM_INDEX_FAILURE Virtual_memory_guard_exception_code_t = 4 KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE Virtual_memory_guard_exception_code_t = 8 KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE Virtual_memory_guard_exception_code_t = 9 KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE Virtual_memory_guard_exception_code_t = 10 KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE Virtual_memory_guard_exception_code_t = 11 KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION Virtual_memory_guard_exception_code_t = 12 KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY Virtual_memory_guard_exception_code_t = 13 KGUARD_EXC_SEC_ACCESS_FAULT Virtual_memory_guard_exception_code_t = 98 KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT Virtual_memory_guard_exception_code_t = 99 KGUARD_EXC_SEC_COPY_DENIED Virtual_memory_guard_exception_code_t = 100 KGUARD_EXC_SEC_SHARING_DENIED Virtual_memory_guard_exception_code_t = 101 KGUARD_EXC_MTE_SYNC_FAULT Virtual_memory_guard_exception_code_t = 200 KGUARD_EXC_MTE_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 201 KGUARD_EXC_MTE_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 202 KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 203 KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 204 )
func (Virtual_memory_guard_exception_code_t) String ¶
func (e Virtual_memory_guard_exception_code_t) String() string
type Xpc_listener_create_flags_t ¶
type Xpc_listener_create_flags_t int64
const ( XPC_LISTENER_CREATE_NONE Xpc_listener_create_flags_t = 0 XPC_LISTENER_CREATE_INACTIVE Xpc_listener_create_flags_t = 1 XPC_LISTENER_CREATE_FORCE_MACH Xpc_listener_create_flags_t = 2 XPC_LISTENER_CREATE_FORCE_XPCSERVICE Xpc_listener_create_flags_t = 4 )
func (Xpc_listener_create_flags_t) String ¶
func (e Xpc_listener_create_flags_t) String() string
type Xpc_session_create_flags_t ¶
type Xpc_session_create_flags_t int64
const ( XPC_SESSION_CREATE_NONE Xpc_session_create_flags_t = 0 XPC_SESSION_CREATE_INACTIVE Xpc_session_create_flags_t = 1 XPC_SESSION_CREATE_MACH_PRIVILEGED Xpc_session_create_flags_t = 2 )
func (Xpc_session_create_flags_t) String ¶
func (e Xpc_session_create_flags_t) String() string