From 1cad9fea56af89aeec0e38d19d745d0fbc8123d1 Mon Sep 17 00:00:00 2001 From: Sean Smith Date: Fri, 24 Feb 2023 14:53:30 +0800 Subject: [PATCH] v0.3.3 Release Candidate - Updated to iOS 13.0 - Added additional speech methods - Resolve crash caused by invalid audioEngine - Swift Package Manager Support - 10 Additional Languages supported --- .github/workflows/swift.yml | 37 ++- .travis.yml | 12 +- .../OSSSpeechKit.xcodeproj/project.pbxproj | 49 ++- .../xcschemes/OSSSpeechKit-Example.xcscheme | 2 +- ...untryLanguageListTableViewController.swift | 36 ++- Example/Podfile | 5 +- Example/Podfile.lock | 16 + Example/Tests/OSSSpeechTests.swift | 48 ++- Example/Tests/SFSpeechRecognizerMock.swift | 4 +- OSSSpeechKit.podspec | 6 +- .../bg-BG.imageset/Contents.json | 1 + .../bg-BG.imageset/bg-BG@1x.png | Bin 0 -> 557 bytes .../bg-BG.imageset/bg-BG@2x.png | Bin 0 -> 1113 bytes .../bg-BG.imageset/bg-BG@3x.png | Bin 0 -> 1315 bytes .../ca-ES.imageset/Contents.json | 1 + .../ca-ES.imageset/ca-ES@1x.png | Bin 0 -> 470 bytes .../ca-ES.imageset/ca-ES@2x.png | Bin 0 -> 547 bytes .../ca-ES.imageset/ca-ES@3x.png | Bin 0 -> 560 bytes .../en-IN.imageset/Contents.json | 1 + .../en-IN.imageset/en-IN@1x.png | Bin 0 -> 11771 bytes .../en-IN.imageset/en-IN@2x.png | Bin 0 -> 30834 bytes .../en-IN.imageset/en-IN@3x.png | Bin 0 -> 48139 bytes .../hr-HR.imageset/Contents.json | 1 + .../hr-HR.imageset/hr-HR@1x.png | Bin 0 -> 11683 bytes .../hr-HR.imageset/hr-HR@2x.png | Bin 0 -> 27448 bytes .../hr-HR.imageset/hr-HR@3x.png | Bin 0 -> 46595 bytes .../ms-MY.imageset/Contents.json | 1 + .../ms-MY.imageset/ms-MY@1x.png | Bin 0 -> 12299 bytes .../ms-MY.imageset/ms-MY@2x.png | Bin 0 -> 26042 bytes .../ms-MY.imageset/ms-MY@3x.png | Bin 0 -> 31631 bytes .../nb-NO.imageset/Contents.json | 1 + .../nb-NO.imageset/no-NO@1x.png | Bin 0 -> 679 bytes .../nb-NO.imageset/no-NO@2x.png | Bin 0 -> 678 bytes .../nb-NO.imageset/no-NO@3x.png | Bin 0 -> 197 bytes .../uk-UA.imageset/Contents.json | 1 + .../uk-UA.imageset/uk-UA@1x.png | Bin 0 -> 512 bytes .../uk-UA.imageset/uk-UA@2x.png | Bin 0 -> 1018 bytes .../uk-UA.imageset/uk-UA@3x.png | Bin 0 -> 1250 bytes .../vi-VN.imageset/Contents.json | 1 + .../vi-VN.imageset/vi-VN@1x.png | Bin 0 -> 3652 bytes .../vi-VN.imageset/vi-VN@2x.png | Bin 0 -> 11968 bytes .../vi-VN.imageset/vi-VN@3x.png | Bin 0 -> 9180 bytes .../zh-CN.imageset/Contents.json | 1 + .../zh-CN.imageset/zh-CH@1x.png | Bin 0 -> 790 bytes .../zh-CN.imageset/zh-CH@2x.png | Bin 0 -> 1362 bytes .../zh-CN.imageset/zh-CH@3x.png | Bin 0 -> 514 bytes OSSSpeechKit/Classes/OSSSpeech.swift | 279 +++++++++++------- OSSSpeechKit/Classes/OSSSpeechUtility.swift | 70 ++--- OSSSpeechKit/Classes/OSSUtterance.swift | 22 +- OSSSpeechKit/Classes/OSSVoice.swift | 92 ++++-- Package.swift | 63 ++++ README.md | 55 ++-- 52 files changed, 536 insertions(+), 269 deletions(-) create mode 100644 Example/Podfile.lock create mode 100644 OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/bg-BG@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/bg-BG@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/bg-BG@3x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/ca-ES.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/ca-ES.imageset/ca-ES@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/ca-ES.imageset/ca-ES@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/ca-ES.imageset/ca-ES@3x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/en-IN@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/en-IN@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/en-IN@3x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/hr-HR@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/hr-HR@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/hr-HR@3x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/ms-MY.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/ms-MY.imageset/ms-MY@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/ms-MY.imageset/ms-MY@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/ms-MY.imageset/ms-MY@3x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@3x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/uk-UA.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/uk-UA.imageset/uk-UA@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/uk-UA.imageset/uk-UA@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/uk-UA.imageset/uk-UA@3x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/vi-VN@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/vi-VN@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/vi-VN@3x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/Contents.json create mode 100644 OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@1x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@2x.png create mode 100644 OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@3x.png create mode 100644 Package.swift diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 6bb027f..ab6e9f0 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -2,22 +2,31 @@ name: Swift on: push: - branches: [ master ] + branches: [master] pull_request: - branches: [ master ] + branches: [master] +#list of jobs to perform jobs: - test: - name: Test - runs-on: macOS-latest - + #the only job in the list, named `build` + build_and_test: + #specify OS to run the jobs on + runs-on: macos-latest + #sequential steps to run for the `build` job steps: - - uses: actions/checkout@v2 - - name: Build and Test + # step 1, use Marketplace action called Checkout@v2, to checkout the code + - uses: actions/checkout@v2 #'uses' keyword launches the Marketplace action + # step 2, verbosely build the package using the `swift` CLI + - name: Build + run: swift build -v #'run' keyword executes the command, as if it's run in terminal + # step 3, run tests + # Note that you must use "=" and not ":" despite error logs for -destiation using ":" + # Also using "Any iOS Simulator" doesn't seem to work despite being an option. + # The using CODE_SIGN... and beyond are for Codecov purposes when generating results. + - name: Run tests run: | - cd Example - pod install - xcodebuild clean test -workspace OSSSpeechKit.xcworkspace -scheme OSSSpeechKit-Example -destination "platform=iOS Simulator,OS=13.7,name=iPhone 11 Pro Max" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO - bash <(curl https://codecov.io/bash | sed 's/"$beta_xcode_partials"//g') - env: - destination: "platform=iOS Simulator,OS=13.7,name=iPhone 11 Pro Max" + cd Example + pod install + xcodebuild clean test -scheme OSSSpeechKit-Example -workspace OSSSpeechKit.xcworkspace -destination 'platform=iOS Simulator,OS=16.2,name=iPhone 14' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO + bash <(curl https://codecov.io/bash | sed 's/"$beta_xcode_partials"//g') + diff --git a/.travis.yml b/.travis.yml index 581eb76..226f4cc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,16 @@ # Check Travis CI version info: # https://docs.travis-ci.com/user/reference/osx/ language: objective-c -osx_image: xcode11.3 +osx_image: xcode14.2 xcode_workspace: OSSSpeechKit.xcworkspace xcode_scheme: OSSSpeechKit-Example -xcode_destination: platform=iOS Simulator,OS=13.3,name=iPhone 11 +xcode_destination: platform=iOS Simulator,OS=16.2,name=iPhone 14 before_install: -- cd Example -- pod install + - cd Example + - pod install after_success: -# - bash <(curl -s https://codecov.io/bash) -# Fixing code cov issue with solution from https://community.codecov.io/t/llvm-cov-failed-to-produce-results-for/1652/9 + # - bash <(curl -s https://codecov.io/bash) + # Fixing code cov issue with solution from https://community.codecov.io/t/llvm-cov-failed-to-produce-results-for/1652/9 - bash <(curl https://codecov.io/bash | sed 's/"$beta_xcode_partials"//g') - gem install jazzy - make documentation diff --git a/Example/OSSSpeechKit.xcodeproj/project.pbxproj b/Example/OSSSpeechKit.xcodeproj/project.pbxproj index 5e1381a..969bc43 100644 --- a/Example/OSSSpeechKit.xcodeproj/project.pbxproj +++ b/Example/OSSSpeechKit.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -186,7 +186,7 @@ 607FACCD1AFB9204008FA782 /* Frameworks */, 607FACCE1AFB9204008FA782 /* Resources */, 5004C6A87EB6F934EFA310F2 /* [CP] Embed Pods Frameworks */, - B042F2D2245FCDD900958719 /* ShellScript */, + B042F2D2245FCDD900958719 /* Run Script */, ); buildRules = ( ); @@ -223,7 +223,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1140; - LastUpgradeCheck = 1130; + LastUpgradeCheck = 1420; ORGANIZATIONNAME = CocoaPods; TargetAttributes = { 607FACCF1AFB9204008FA782 = { @@ -287,20 +287,19 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-OSSSpeechKit_Example/Pods-OSSSpeechKit_Example-frameworks.sh", "${BUILT_PRODUCTS_DIR}/OSSSpeechKit/OSSSpeechKit.framework", - "${BUILT_PRODUCTS_DIR}/PureLayout/PureLayout.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OSSSpeechKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PureLayout.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-OSSSpeechKit_Example/Pods-OSSSpeechKit_Example-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - B042F2D2245FCDD900958719 /* ShellScript */ = { + B042F2D2245FCDD900958719 /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -308,13 +307,14 @@ ); inputPaths = ( ); + name = "Run Script"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; + shellScript = "export PATH=\"$PATH:/opt/homebrew/bin\"\nif which swiftlint > /dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n"; }; EBB80964F428049277FF60C0 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; @@ -428,6 +428,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -453,7 +454,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -484,6 +485,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -503,10 +505,9 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; VALIDATE_PRODUCT = YES; }; @@ -522,8 +523,11 @@ DEVELOPMENT_TEAM = ""; GCC_OPTIMIZATION_LEVEL = 0; INFOPLIST_FILE = OSSSpeechKit/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -543,8 +547,11 @@ DEVELOPMENT_TEAM = ""; GCC_OPTIMIZATION_LEVEL = 0; INFOPLIST_FILE = OSSSpeechKit/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -571,7 +578,12 @@ "$(inherited)", ); INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -594,7 +606,12 @@ ); GCC_OPTIMIZATION_LEVEL = 0; INFOPLIST_FILE = Tests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Example/OSSSpeechKit.xcodeproj/xcshareddata/xcschemes/OSSSpeechKit-Example.xcscheme b/Example/OSSSpeechKit.xcodeproj/xcshareddata/xcschemes/OSSSpeechKit-Example.xcscheme index 557e38f..99dd2fd 100644 --- a/Example/OSSSpeechKit.xcodeproj/xcshareddata/xcschemes/OSSSpeechKit-Example.xcscheme +++ b/Example/OSSSpeechKit.xcodeproj/xcshareddata/xcschemes/OSSSpeechKit-Example.xcscheme @@ -1,6 +1,6 @@ '../' - pod 'PureLayout', :inhibit_warnings => true - + target 'OSSSpeechKit_Tests' do inherit! :search_paths diff --git a/Example/Podfile.lock b/Example/Podfile.lock new file mode 100644 index 0000000..5a657c7 --- /dev/null +++ b/Example/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - OSSSpeechKit (0.3.3) + +DEPENDENCIES: + - OSSSpeechKit (from `../`) + +EXTERNAL SOURCES: + OSSSpeechKit: + :path: "../" + +SPEC CHECKSUMS: + OSSSpeechKit: ea0fd8151e7e338bc6ddc6bb749455fc3b33cfde + +PODFILE CHECKSUM: 619c7767d93bbf8bc7a5c2d0a1d118e435561c49 + +COCOAPODS: 1.11.3 diff --git a/Example/Tests/OSSSpeechTests.swift b/Example/Tests/OSSSpeechTests.swift index 2090130..24c3e81 100644 --- a/Example/Tests/OSSSpeechTests.swift +++ b/Example/Tests/OSSSpeechTests.swift @@ -21,8 +21,9 @@ // IN THE SOFTWARE. // +#if canImport(Speech) import XCTest -import OSSSpeechKit +@testable import OSSSpeechKit import AVKit class OSSSpeechTests: XCTestCase { @@ -52,7 +53,11 @@ class OSSSpeechTests: XCTestCase { XCTAssert(speechAuth == true) } + /// This test exists purely for code coverage. func testVoiceDecoderNil() { + // Ignore the deprecation warning as the alternative solution returns nil, which is not what we want - we want a valid value. + // The below option is the non-deprectaed option however it returns nil, which we don't want. + // let archiver = NSKeyedUnarchiver(forReadingFrom: Data()) let archiver = NSKeyedUnarchiver(forReadingWith: Data()) let voice = OSSVoice(coder: archiver) let utterance = OSSUtterance(coder: archiver) @@ -259,13 +264,16 @@ class OSSSpeechTests: XCTestCase { waitForExpectations(timeout: 3) XCTAssert(hasCompleted, "Did not complete the Speech Recording expectation") } - - func testRecordPermission() { - speechKit?.recordVoice(requestMicPermission: true) - let recPermission = AVAudioSession.sharedInstance().recordPermission - sleep(2) - XCTAssert(recPermission != .granted, "AVAudioSession returned incorrect permission.") - } + + #if !os(macOS) + // TODO: Need to write a mock for authorizing speech and the recording functions. + // Cannot interact with UI to approve the use of Microphone which results in a crash when trying to call record functions. +// func testRecordPermission() { +// speechKit?.recordVoice(requestMicPermission: true) +// let recPermission = AVAudioSession.sharedInstance().recordPermission +// sleep(2) +// XCTAssertEqual(recPermission, .granted) +// } func testAudioSessionSetting() { XCTAssertNotNil(speechKit?.audioSession) @@ -274,21 +282,32 @@ class OSSSpeechTests: XCTestCase { try? customSession.setCategory(.ambient) XCTAssert(customSession.category == .ambient) } + #endif func testUtilityClassStrings() { let util = OSSSpeechUtility() var mainBundleStringNotSDKString = util.getString(forLocalizedName: "OSSSpeechKitTests_testString", defaultValue: "") XCTAssert(mainBundleStringNotSDKString.isEmpty, "Localized string does not exist in the SDK; the default value (\"\") should be returned.") util.stringsTableName = "LocalizableTests" - XCTAssert(util.stringsTableName == "LocalizableTests", "The table name did not override the default value.") + guard Bundle.main.path(forResource: util.stringsTableName, ofType: "strings") != nil else { + XCTFail("Strings file does not exist") + return + } + // Assert that we have overriden the table name. + XCTAssertEqual(util.stringsTableName, "LocalizableTests", "The table name did not override the default value.") + + // Check that we are retrieveing the correct string. mainBundleStringNotSDKString = util.getString(forLocalizedName: "OSSSpeechKitTests_testString", defaultValue: "") - XCTAssert(mainBundleStringNotSDKString == "This is a test string.", "The name of the localized string should now be found.") + XCTAssertEqual(mainBundleStringNotSDKString, "This is a test string.", "The name of the localized string should now be found.") + + // Check that we are retrieveing the correct string for key. + let testString = util.getString(forLocalizedName: "OSSSpeechKitAuthorizationStatus_messageNotDetermined", defaultValue: "") + let expectedString = "The test class is overriding the message: The app's authorization status has not yet been determined." + XCTAssertEqual(testString, expectedString) + + // Check that we return the correct error string. let blankKey = util.getString(forLocalizedName: "", defaultValue: "") XCTAssert(blankKey == "!&!&!&!&!&!&!&!&!&!&!&!&!&!&!", "Passing in an empty string should return an obvious error string.") - let testString = util.getString(forLocalizedName: "OSSSpeechKitAuthorizationStatus_messageNotDetermined", - defaultValue: "The app's authorization status has not yet been determined.") - let expectedString = "The test class is overriding the message: The app's authorization status has not yet been determined." - XCTAssert(testString == expectedString, "The SDK string was not overridden.") } } @@ -327,3 +346,4 @@ extension OSSSpeechTests: OSSSpeechDelegate { speech.debugLog(object: self, message: "Did fail to commence speech.") } } +#endif diff --git a/Example/Tests/SFSpeechRecognizerMock.swift b/Example/Tests/SFSpeechRecognizerMock.swift index 98bcf54..d0ce5fc 100644 --- a/Example/Tests/SFSpeechRecognizerMock.swift +++ b/Example/Tests/SFSpeechRecognizerMock.swift @@ -21,7 +21,8 @@ // IN THE SOFTWARE. // -import UIKit +#if canImport(Speech) +import Foundation import Speech class SFSpeechRecognizerMock: SFSpeechRecognizer { @@ -30,3 +31,4 @@ class SFSpeechRecognizerMock: SFSpeechRecognizer { handler(.authorized) } } +#endif diff --git a/OSSSpeechKit.podspec b/OSSSpeechKit.podspec index 58b3d4d..1e36209 100644 --- a/OSSSpeechKit.podspec +++ b/OSSSpeechKit.podspec @@ -8,10 +8,10 @@ Pod::Spec.new do |s| s.name = 'OSSSpeechKit' - s.version = '0.3.2' + s.version = '0.3.3' s.summary = 'OSSSpeechKit provides developers easy text to voice integration.' s.swift_version = "5.0" - s.platform = :ios, "12.0" + s.platform = :ios, "13.0" # This description is used to generate tags and improve search results. # * Think: What does it do? Why did you write it? What is the focus? @@ -28,7 +28,7 @@ OSSSpeechKit offers an easy way to integrate text to voice using native AVFounda s.license = { :type => 'MIT', :file => 'LICENSE' } s.author = { 'appdevguy' => 'seaniosdeveloper@gmail.com' } s.source = { :git => 'https://github.com/appdevguy/OSSSpeechKit.git', :tag => s.version.to_s } - s.ios.deployment_target = '12.0' + s.ios.deployment_target = '13.0' s.source_files = 'OSSSpeechKit/Classes/*.swift' s.resource_bundles = { diff --git a/OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/Contents.json b/OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/Contents.json new file mode 100644 index 0000000..50d7ce6 --- /dev/null +++ b/OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/Contents.json @@ -0,0 +1 @@ +{"images":[{"idiom":"universal","filename":"bg-BG@1x.png","scale":"1x"},{"idiom":"universal","filename":"bg-BG@2x.png","scale":"2x"},{"idiom":"universal","filename":"bg-BG@3x.png","scale":"3x"}],"info":{"version":1,"author":"xcode"}} diff --git a/OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/bg-BG@1x.png b/OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/bg-BG@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..b9b4438e384c5eb14c2d5d0a2fd24d287214b0da GIT binary patch literal 557 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCe_&w-l6Qpk1%Z@8vPY0F14ES>14Ba#1H&(% zP{RubhEf9thF1v;3|2E37{m+a>cyUVj;LRTix7pf($5hW>!C8<`)MX5lF z!N|bKSl7Tv*T^))z|_jv$jaD4+rYrez~EBu8A}umx%nxXX_dG&EH)@<1!~ZM+fb63 cn_66wm|K8b&llCuC{WmXy85}Sb4q9e0H({cbN~PV literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/bg-BG@2x.png b/OSSSpeechKit/Assets/Images.xcassets/bg-BG.imageset/bg-BG@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..43b2823095bbc4da8033b982e6820ef3c88160ad GIT binary patch literal 1113 zcmeAS@N?(olHy`uVBq!ia0y~yU{+vYV0^&B3=~2G@=24O%rr61jqBIEk(bxUKZ&7hk878Bi#ck(N%Ui2^f z22Am)C9V-ADTyViR>?)FK#IZ0z{ptFz)07~G{nHv%Gk)t*h1UDz{B|?6Zdp+45_&F_97!E z0|N((p?B1!Da!<&+*G;~$_UgkP@rH{ifLMey{JtW!^5S9aN1-Sv{99l_8 zC^aH18OnY>68SPsQ{VDHVHB_cP%UwdC`m~yNwrEYN(E93Mg~U4x&}tNMus5yA< rR)!|p1_o9J20q7Ps!=rL=BH$)RpQoQJNwCTP!Z$l>gTe~DWM4fha9nM#ILbn8@ZV5>}v=RGxiu=z! z&fhmUpT&yYz})vf9`XB+sboSN%EGU)GZ;YTl`W_ zyhVRq;`(!s^X~)B_mlW+C3Z2~1ajC*Jbhi+ zpEF6a%IKP^bLs$v&Um^whE&{oduL&xQ=ovuMP0?03X{2Jcrtg0G#p%fVMm0DP`C5q z4>Lpr9GTAqFq$su$v(I8!KuIR_wF}lVA%To+U=TccF$ICo$>x!(Y3Wx85o&ZI0O_D zwyiz;XG>Xe#@pvttggkgG8{Owv~*tdYpeRT_v>`T6&xBs3ZF3cU#pEFoM8Txz5CB2qy4*B8H#=?hW^`OTYqo<{|6KLpMvdhXlSTmblS(H z6yG#)JtHH-ioeXuEZRQYoN3ny^p|RhYeY#(Vo9o1a#1RfVlXl=GS)RP(ls&-F)+0< zvam8S(l#)#GB8+Gay1=ALvDUbW?Cg~4YxIOZv!=Gz-=hW%uOvWNz5(4qQ?|siRbL1 QE}$L;Pgg&ebxsLQ0QH~1?EnA( literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/ca-ES.imageset/ca-ES@3x.png b/OSSSpeechKit/Assets/Images.xcassets/ca-ES.imageset/ca-ES@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..d937ae28d516197747b58c6364c88c3ab8ca5f87 GIT binary patch literal 560 zcmeAS@N?(olHy`uVBq!ia0y~yVEhNfAuP;55%Xit^MDjfx}&cn1H;CC?mvmFK)yn< zN02WALzNl>LqiJ#!!Mvv!wUw6QUeBtR|yOZRx=nF#0%!^3bX-Ahz9tCxc<4z`E>*D zEg`9w*}_jlMSdLP{{R2~q?&i1feILtyxm>c64Q3n0y*p@p1!W^&lyG7RfT~)z3a%!pdi3}aB~BzP68wMkL^u;%Z&NH-Ctr1)CU0z!?xeN`{niZ_3``b z{{H%kmmzABuKKt)tf=-24oBTW6oY?`URpBao=_=n_NA}r%01By=xJHzuB$lLFB^RXvDF!10 zBV%0yLtP_-5Cd~7V{*kachu}i2Vby)YH|^Wt~$( F695%*@Sp$y literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/Contents.json b/OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/Contents.json new file mode 100644 index 0000000..ce5c90f --- /dev/null +++ b/OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/Contents.json @@ -0,0 +1 @@ +{"images":[{"idiom":"universal","filename":"en-IN@1x.png","scale":"1x"},{"idiom":"universal","filename":"en-IN@2x.png","scale":"2x"},{"idiom":"universal","filename":"en-IN@3x.png","scale":"3x"}],"info":{"version":1,"author":"xcode"}} diff --git a/OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/en-IN@1x.png b/OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/en-IN@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..f6972354c1482ab0bcd2e389abe92f90f9075611 GIT binary patch literal 11771 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 WevM+PYXrCkP?S}bDVH++@;?ANX!fH3 literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/en-IN@2x.png b/OSSSpeechKit/Assets/Images.xcassets/en-IN.imageset/en-IN@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a1f26b82cbe68563cabc276cfd45f158a57d3 GIT binary patch literal 30834 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
lA04G*pP|wTJX_$n{j3n$oS!Gkjg2L7_D& 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 X=LbBtH`L<+!e#fquWG*h%eVgmLo3em literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/Contents.json b/OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/Contents.json new file mode 100644 index 0000000..bf75344 --- /dev/null +++ b/OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/Contents.json @@ -0,0 +1 @@ +{"images":[{"idiom":"universal","filename":"hr-HR@1x.png","scale":"1x"},{"idiom":"universal","filename":"hr-HR@2x.png","scale":"2x"},{"idiom":"universal","filename":"hr-HR@3x.png","scale":"3x"}],"info":{"version":1,"author":"xcode"}} diff --git a/OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/hr-HR@1x.png b/OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/hr-HR@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf18f1dfc0e8499ee51d73937f4b94452a17524 GIT binary patch literal 11683 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 VHRhZ_$M6{gP?S}Zsg^Pe{ck$6pvnLM literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/hr-HR@2x.png b/OSSSpeechKit/Assets/Images.xcassets/hr-HR.imageset/hr-HR@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..080c58f8d8a89a71c87045d08d9c7a45646ae3df GIT binary patch literal 27448 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 literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/ms-MY.imageset/ms-MY@3x.png b/OSSSpeechKit/Assets/Images.xcassets/ms-MY.imageset/ms-MY@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9eb78a5b125bf883f60879b7cbad3c29edba8fba GIT binary patch literal 31631 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 IfiqYB3thc+5C8xG literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/Contents.json b/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/Contents.json new file mode 100644 index 0000000..48fc6be --- /dev/null +++ b/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/Contents.json @@ -0,0 +1 @@ +{"images":[{"idiom":"universal","filename":"no-NO@1x.png","scale":"1x"},{"idiom":"universal","filename":"no-NO@2x.png","scale":"2x"},{"idiom":"universal","filename":"no-NO@3x.png","scale":"3x"}],"info":{"version":1,"author":"xcode"}} diff --git a/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@1x.png b/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..6e06dc4d7a23e36b3e4514b46c006ea997dffcc6 GIT binary patch literal 679 zcmeAS@N?(olHy`uVBq!ia0vp^#y~8`!3-p~`Cj_~q*&4&eH|GXHuiJ>Nn{1`6_P!I zd>I(3)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4FdxsQ-Dv1>jOdE2Ld_| z#En0!+xF?}cfW)Mtf~#{YK>a1lkPr!|9!{)hf<~>1t2v>AJ#(EKxMb@e<*44fL{lw z2FQ4*VEu99&QD*yp&9aH*TF|hHb4d6x9|VHec$(;2mZWx@%hVFWM%iBy#4>?_4i!| zfeK!}{{lg;-hICJ;FU-8TsE+i)SV`ty7=hz`_B+ryRbP>6h6l$WR`?!Cx?0yr$&>2 zUYmKqO#5(zGTIA{C7-DfcIl+Oc$LEaBnw&Q>b7Jn;@VGPu+BW<1^9wzA`dC~b zC0SfZOi=XkL0*X?6B}BVOxe=2X3n0bMUysJFta(U zB&6gdWu@gMW~SyQXLm>&+)!k!W_MRl7Y{ct=l8F+zSD4!Te9N!k6%C8S=d&ZNm@Y{hXBSDmNHG5G1{&5cxdJO*^FYKdz^NlIc#s#S7PDv)9@ zGBC8%H89gPG!8K`wlXlXGBVdTu&^>P_bP0 Hl+XkKQt}IN literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@2x.png b/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d9c59509a7483be34f3ff7f49b93a7dfccafadbb GIT binary patch literal 678 zcmeAS@N?(olHy`uVBq!ia0vp^X+Uhl!3-o9i`X9oQY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI(;ZXHgIY*v8y$z*!Mqv@%}$h{Qv*=9aHb~Xx`^gds5K!`wv(# zP_S+CeGXM1`ElogKmUM&fByad_x;ETpa@V4kPQ|A3WCJ{|NjFr>hCXz6(I8+`k#Q! z|NQma=WpM?eEw2Wy$)zQP)f~@oc>21sKW5`&XOiw~ z|MLYXbi&icF(l&f+iUJZhYWZe0xvpyI&toGe$nFhqUGG*e3pBu$@*^&9&Y%@de3bd zkHh)LUw<+mobX9crt?^cZ@YgBkI@N*W+3s0aq;DD^+}rI$xDo_@)uk@{p=H~c(Be? z(|Zm}!&hE=rMK*&NyxneDc7>fceT9y%I+Mjuwh2;vB{c=X`hc?65_~7Tm3c7d&b>= z1zT8|+HbzB*(vm_tlmbp(P5&HkxkDM!3ic8Ce2&EBvm=H)XR!x(z#pte_1CuvPq@@ ziJ9+H;x0|Q|J7%iUn$T}swJ)wB`Jv|saDBFsX&Us$iUE2*T78I&^W}%*vi1j%E(;X nz{1MF;O}vU_b3{2^HVa@DsgM*nYAMrsDZ)L)z4*}Q$iB}e)cRI literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@3x.png b/OSSSpeechKit/Assets/Images.xcassets/nb-NO.imageset/no-NO@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b974868a1c6084ec08afb6ff24fe337418968a05 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^XMnhZg&9ctgflDxQv3lvA+DSnO%DWhnA z|9>t#Fzf|N6?(cjhGg7(dwnBkgMmQX#c0JH4Jl0F0(t*uifq{sWFXMAZ~d-!Q|-l{ zF4HugZgK1U);)R#5a@a2CEqi4B`cIb_Lo1C4>TeLR=Z5cQZuoZI}`N{~E*ps|^4D|DSa= z{RB{!G0EHAh4n}N%i}-}dx@v7EBkXMNmdzMQ*}-qpwMwo7srr_TW`-d3LIe&aoM=O zfGc#xp`XT~kI(ugO|S;4zz!t7N*A8*sCK_o-{R3b!0@ck6Xxw}wjL|`kstzet!jyD zL`h0wNvc(HQ7VvPFfuSQ)-^EFH8Kq`FtswWure{#HZZU n z8|M4~$}%Q-ySuRd$bWep$YC$>^mS!_&Lqhyqid?psROk3pr?ytNX4zU7a4gQ3>a88 zZa3hLIKcGJH1YAKEn>SEftu(5zFRMOqnN6%`P)NKNLj_rqi2GIqM=h#%Mp&wQGwC$ zz?U3;GM1<=624IKWhOA4s+PD$l%yn~RsBhwHAQ!672D-%;~ z0|P4qgZ#^{U!rKp%}>cptHiBAt}i$gs6hj6LrG?CYH>+oZUJsRp0kU(K)J`$)z4*} HQ$iB}@QV%7 literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/uk-UA.imageset/uk-UA@3x.png b/OSSSpeechKit/Assets/Images.xcassets/uk-UA.imageset/uk-UA@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4df8ca3241e20a1f4cd8d5ea92979293327574 GIT binary patch literal 1250 zcmeAS@N?(olHy`uVBq!ia0y~yV6$gnV9{b?28yI!Xf**+Ea{HEjtmSN`?>!lvI6-E z$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8U)v6XMDcz5D-F zhX4Qn^B5)k1qw1IdAqwXrE%A!06FX>p1!W^&$vVd`4|@6)eBTac)I$ztaD0e0stNT2hacj literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/Contents.json b/OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/Contents.json new file mode 100644 index 0000000..c496b8b --- /dev/null +++ b/OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/Contents.json @@ -0,0 +1 @@ +{"images":[{"idiom":"universal","filename":"vi-VN@1x.png","scale":"1x"},{"idiom":"universal","filename":"vi-VN@2x.png","scale":"2x"},{"idiom":"universal","filename":"vi-VN@3x.png","scale":"3x"}],"info":{"version":1,"author":"xcode"}} diff --git a/OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/vi-VN@1x.png b/OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/vi-VN@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..b6fe1337e014f6d1f9548150e2dc11556c92ccb3 GIT binary patch literal 3652 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 literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/vi-VN@2x.png b/OSSSpeechKit/Assets/Images.xcassets/vi-VN.imageset/vi-VN@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b33202e5fda96adf8d487756aa8b35e3a1eae432 GIT binary patch literal 11968 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 WfBr@@%{2mi1JP8~Q7Kk}z4~7@~AxH;l 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 literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/Contents.json b/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/Contents.json new file mode 100644 index 0000000..62360e8 --- /dev/null +++ b/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/Contents.json @@ -0,0 +1 @@ +{"images":[{"idiom":"universal","filename":"zh-CH@1x.png","scale":"1x"},{"idiom":"universal","filename":"zh-CH@2x.png","scale":"2x"},{"idiom":"universal","filename":"zh-CH@3x.png","scale":"3x"}],"info":{"version":1,"author":"xcode"}} diff --git a/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@1x.png b/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca063f8c02b9e78d8947835bc329f15df77898d GIT binary patch literal 790 zcmeAS@N?(olHy`uVBq!ia0vp^#y~8`!2~4vK5m=}q*&4&eH|GXHuiJ>Nn{1`6_P!I zd>I(3)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4N!tD$=lt9;Xep2*t>i( zP=vk2)7O>#F&iH{lZ?RQ%y0$A_Z>L%3O?DJ%-EaKaK4-DYDQCwu3@j{+ zydDc3JNir&$|f{vX=*wh_KRR)m3A;`oV7hgyWz=?kLS-UEoe&SR%HGq%QZhMt)$!k z`MH_azbXo6N~#Jhi9G#3@E!jKrZSZ`IVXEKnH-PI_domFd3zemg_#p1vu4dQYZEpL zsMB2c?%V0L32f`iEX=nC_kF#3W1ZCPsb81M$f#V|@allPoi6+Oy)xHA@19E)PAi?N z#FKfa)8V_Np_iN~ui(BNA67d2I2#hvdsSNA-r6W@SEYJNn^*Q-=^dgv0Wp0CE-l_? zbjiF*pIh4F=Zdu=;g4SB{V&+h^WN)enDET{J%LOX97U&fY}d@ROn`_blUq!Taq``GmDQ}oM?;w0 z3id}xpLlYHsbcowjHF$&_iMMb6m9l8etXu`vr!oeYc9#maGUkB{#*FdVwKs~w-@eH z(>WoQ@_(UN3il?~oBvnJAG&mR)5MBKIe1_n=8KbLh*2~7a%u0G-b literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@2x.png b/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..60aae176e010343c789dd3016875a2e8c025b4ad GIT binary patch literal 1362 zcmeAS@N?(olHy`uVBq!ia0vp^X+Uhl!2~3wS41oUQY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiY77hwEes65fI|H(? zD8gRi>Fdh=n2nE}Nk-stW;oFNFi#i9kcwMxXP(cF2^BfM|M{Ko$#p7|m-ud3p{wZY zdojUfO-EWFYphpjO!-5%J6!)1^FntCmOEVtUA>5-G>}zu%eHIteg80acKtLop85Tq z?QvJNz(+o5>(tt&-#MRT_I_XDyYzEAzuzf-`Fy1mlii29{|%1>r&Mk}eoExR-+7Pn zHk+T~5zu70xa0BSq62GOcmJQtwa)A3NuSwM?B0awO;KpL`M&d=+`LmObW@)jZaUPl z;#&~k!cXRvpBJCdm6J)g>s;B@3p8Gpd!3zWzlOGL9^;z3 z?>>rMSNVPDM!se3iFJFYp5T&SGIwWwDwouiFOKXB{>^)(Rmv;V^!MZqR%g|-&m)bq zeqZ_)tidH)Qv3gR*N>L&W2REqf3&>bIp?55@u~eiri**8pPlhIu(3fa>cxWBa;dkM z2uzYZ&CD?2%#AlyU(PdHD?V5pRcm&7ogu$h?YbqrS{Z9f!`wCot%?o`>0CYO%#Pj{ z9%*xa9`KyoY344l#dTJB=>cV_`BN@QhF4u#w`XF;+%D;ixl=SNB33<*`q;9i*}XC1 zv8Mxr!put#!)Kq^e#qtX`yF=Ece!4+Ea13kt7rGrguU^R=ka8v{ht`SjGCg2db?j9 z;Ew#c#`%)j)qgA+jz)VIik-Od=Z1-%THeW$&;=*fx&O3jzW#ak#8?F{t{Q~}>(0tE zhHm{75>{(xo;>$dcvG~~-?=+J*41~qb@)FmQ@mu#BwlfO$=qM5Tmq9aqpLTH-rs#U zvaUPqp3mm&z>D2%@nt={Obu_cw$$x({USARv;QILTy4rQm&YJT) zy4iSZRH+nCPIa@8&PEK)RY`-R&7n^9|FwtkF<+bu;cSc8>#Iv$|L2uNe-ZKaP zYIv-ywK`*u^wsA<3|EWSo-&^1ZnE?Kt@ppP0s~w%FJ4-6)ymW^CD-w_>)G_rr!sDR zUD$Lgs#fo^SXi9D^mL)zNoiB=8hkTzFXz6#|)#6FJ6aKB@(b;O(dzWeYxo0*id3(zjJdHnk^LbE}N^`>B$r}3w zMayFs&((jrVo||`wB?(;9a34HXV)&7vEYk~n7>u-gx_;#O~3R=Fa64IxzGEj#BSPo zP~gmp6GoYCF~X6L*KT%s_(IwCU+el_5wRnaXSa47(*5M7>@kh|4R>{EtdYjjn=!>x zsxF<_1=PUc>FVdQ&MBb@ E0E|6^g#Z8m literal 0 HcmV?d00001 diff --git a/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@3x.png b/OSSSpeechKit/Assets/Images.xcassets/zh-CN.imageset/zh-CH@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..2d44c390e6843161e1651773cf3d9f18455335f3 GIT binary patch literal 514 zcmV+d0{#7oP)Gn*I#0Qjf)vAl-&YSK_) zE!jJ1gseje+<0GENJIRX2}&8=<5x?HCHlq-*>9O-5!? z)GQ%W_e7yip(O4_cIAL*=*p~2pS`;*8zR|XGaHSl;f_R8W}^`m&c)}Zgk72Yj|00N zM&(gbRiSUT(Lxs0>hI>XFLPKRJsY3+OD)9xb{eJt<~@ycAQ zwFk^bOAgzC`Vi|Zc#SsNe?8W$7JcR0@)stf9m_wpt>#U5%{M=0x;1xlmM|LaJY<6K z@6FrwgWz&#%lJh$HS)9*?^8kML2Ac-s{{%fUTiXrwajnoEysQ|#0m!3%{Yb1%%t9O z*gbRBD>Mvk%uJ^|BOMv^OaK4?0000000000002OlUsE=A;x+4mXaE2J07*qoM6N<$ Ef(seu!T Bool { - guard let _ = utterance else { + guard utterance != nil else { debugLog(object: self, message: "No valid utterance.") return false } return true } - + private func speak() { var speechVoice = OSSVoice() if let aVoice = voice { @@ -306,51 +336,69 @@ public class OSSSpeech: NSObject { } // Ensure volume is correct each time setSession(isRecording: false) + stopSpeaking() speechSynthesizer.speak(newUtterance) } - - private func setSession(isRecording: Bool) { - let category: AVAudioSession.Category = isRecording ? .playAndRecord : .playback - try? audioSession.setCategory(category, options: .duckOthers) - try? audioSession.setActive(true, options: .notifyOthersOnDeactivation) + + @discardableResult private func setSession(isRecording: Bool) -> Bool { + #if !os(macOS) + do { + let category: AVAudioSession.Category = isRecording ? .playAndRecord : .playback + try audioSession.setCategory(category, options: .duckOthers) + try audioSession.setActive(true, options: .notifyOthersOnDeactivation) + return true + } catch { + if isRecording { + delegate?.didFailToCommenceSpeechRecording() + } + delegate?.didFailToProcessRequest(withError: error) + return false + } + #else + return false + #endif } - + // MARK: - Public Voice Recording Methods - + /// Record and recognise speech /// /// This method will check to see if user is authorised to record. If they are, the recording will proceed. /// /// Upon checking the authorisation and being registered successful, a check to determine if a recording session is active will be made and any active session will be cancelled. public func recordVoice(requestMicPermission requested: Bool = true) { + #if !os(macOS) if requested { if audioSession.recordPermission != .granted { self.requestMicPermission() return } } + #endif getMicroPhoneAuthorization() } - + /// End recording of speech session if one exists. public func endVoiceRecording() { cancelRecording() } - + // MARK: - Private Voice Recording - + private func requestMicPermission() { - weak var weakSelf = self - audioSession.requestRecordPermission { allowed in + #if !os(macOS) + audioSession.requestRecordPermission {[weak self] allowed in + guard let self = self else { return } if !allowed { - weakSelf?.debugLog(object: self, message: "Microphone permission was denied.") - weakSelf?.delegate?.authorizationToMicrophone(withAuthentication: .denied) + self.debugLog(object: self, message: "Microphone permission was denied.") + self.delegate?.authorizationToMicrophone(withAuthentication: .denied) return } - weakSelf?.getMicroPhoneAuthorization() + self.getMicroPhoneAuthorization() } + #endif } - + private func getMicroPhoneAuthorization() { weak var weakSelf = self weakSelf?.srp.requestAuthorization { authStatus in @@ -363,43 +411,60 @@ public class OSSSpeech: NSObject { } } } - + + private func resetAudioEngine() { + guard let engine = audioEngine else { + audioEngine = AVAudioEngine() + return + } + if engine.isRunning { + engine.stop() + } + let node = engine.inputNode + node.removeTap(onBus: 0) + if node.inputFormat(forBus: 0).channelCount == 0 { + node.reset() + } + // Clean slate the audio engine. + audioEngine?.reset() + } + private func cancelRecording() { if let voiceRequest = request { voiceRequest.endAudio() request = nil } - if let engine = audioEngine { - if engine.isRunning { - engine.stop() - } - let node = engine.inputNode - node.removeTap(onBus: 0) - audioEngine = nil - } if let task = recognitionTask { task.finish() } + resetAudioEngine() } - - func engineSetup(_ engine: AVAudioEngine) { - let input = engine.inputNode + + func engineSetup() { + if audioEngine == nil { + audioEngine = AVAudioEngine() + } + guard let audioEngine else { + delegate?.didFailToCommenceSpeechRecording() + delegate?.didFailToProcessRequest(withError: OSSSpeechKitErrorType.invalidAudioEngine.error) + return + } + let input = audioEngine.inputNode let bus = 0 - let inputFormat = input.outputFormat(forBus: 0) + let recordingFormat = input.outputFormat(forBus: 0) guard let outputFormat = AVAudioFormat(commonFormat: .pcmFormatFloat32, sampleRate: 8000, channels: 1, interleaved: true) else { delegate?.didFailToCommenceSpeechRecording() delegate?.didFailToProcessRequest(withError: OSSSpeechKitErrorType.invalidAudioEngine.error) return } - guard let converter = AVAudioConverter(from: inputFormat, to: outputFormat) else { + guard let converter = AVAudioConverter(from: recordingFormat, to: outputFormat) else { delegate?.didFailToCommenceSpeechRecording() delegate?.didFailToProcessRequest(withError: OSSSpeechKitErrorType.invalidAudioEngine.error) return } - weak var weakSelf = self - input.installTap(onBus: bus, bufferSize: 8192, format: inputFormat) { (buffer, time) -> Void in + input.installTap(onBus: bus, bufferSize: 8192, format: recordingFormat) { [weak self] (buffer, _) -> Void in var newBufferAvailable = true - let inputCallback: AVAudioConverterInputBlock = { inNumPackets, outStatus in + let inputCallback: AVAudioConverterInputBlock = { _, outStatus in if newBufferAvailable { outStatus.pointee = .haveData newBufferAvailable = false @@ -413,37 +478,40 @@ public class OSSSpeech: NSObject { var error: NSError? let status = converter.convert(to: convertedBuffer, error: &error, withInputFrom: inputCallback) if status == .error { - weakSelf?.delegate?.didFailToCommenceSpeechRecording() - weakSelf?.delegate?.didFailToProcessRequest(withError: OSSSpeechKitErrorType.invalidAudioEngine.error) + self?.delegate?.didFailToCommenceSpeechRecording() + self?.delegate?.didFailToProcessRequest(withError: OSSSpeechKitErrorType.invalidAudioEngine.error) if let err = error { - weakSelf?.debugLog(object: self, message: "Audio Engine conversion error: \(err)") + self?.debugLog(object: self as Any, message: "Audio Engine conversion error: \(err)") } return } - weakSelf?.request?.append(convertedBuffer) + self?.request?.append(convertedBuffer) } - engine.prepare() + audioEngine.prepare() do { - try engine.start() - return + try audioEngine.start() } catch { delegate?.didFailToCommenceSpeechRecording() delegate?.didFailToProcessRequest(withError: OSSSpeechKitErrorType.invalidAudioEngine.error) - return } } - + private func recordAndRecognizeSpeech() { - if let engine = audioEngine { - if engine.isRunning { - cancelRecording() - } - } else { - audioEngine = AVAudioEngine() + if let speechRecognizer, !speechRecognizer.isAvailable { + cancelRecording() + setSession(isRecording: false) + } + if speechSynthesizer.isSpeaking { + stopSpeaking() + } + // If the audio session is not configured, we must not continue. + // The audio engine will force an uncatchable crash. + // This seemse to ONLY be true in simulator so CI tests often randomly fail. + guard setSession(isRecording: true) else { + return } - setSession(isRecording: true) request = SFSpeechAudioBufferRecognitionRequest() - engineSetup(audioEngine!) + engineSetup() let identifier = voice?.voiceType.rawValue ?? OSSVoiceEnum.UnitedStatesEnglish.rawValue speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: identifier)) guard let recogniser = speechRecognizer else { @@ -457,10 +525,8 @@ public class OSSSpeech: NSObject { return } if let audioRequest = request { - if #available(iOS 13, *) { - if recogniser.supportsOnDeviceRecognition { - audioRequest.requiresOnDeviceRecognition = shouldUseOnDeviceRecognition - } + if recogniser.supportsOnDeviceRecognition { + audioRequest.requiresOnDeviceRecognition = shouldUseOnDeviceRecognition } recogniser.delegate = self recogniser.defaultTaskHint = recognitionTaskType.taskType @@ -474,33 +540,34 @@ public class OSSSpeech: NSObject { /// Extension to handle the SFSpeechRecognitionTaskDelegate and SFSpeechRecognizerDelegate methods. extension OSSSpeech: SFSpeechRecognitionTaskDelegate, SFSpeechRecognizerDelegate { - + // MARK: - SFSpeechRecognitionTaskDelegate Methods - + /// Docs available by Google searching for SFSpeechRecognitionTaskDelegate public func speechRecognitionTask(_ task: SFSpeechRecognitionTask, didFinishSuccessfully successfully: Bool) { recognitionTask = nil delegate?.didFinishListening(withText: spokenText) setSession(isRecording: false) } - + /// Docs available by Google searching for SFSpeechRecognitionTaskDelegate public func speechRecognitionTask(_ task: SFSpeechRecognitionTask, didHypothesizeTranscription transcription: SFTranscription) { delegate?.didCompleteTranslation(withText: transcription.formattedString) } - + /// Docs available by Google searching for SFSpeechRecognitionTaskDelegate public func speechRecognitionTask(_ task: SFSpeechRecognitionTask, didFinishRecognition recognitionResult: SFSpeechRecognitionResult) { spokenText = recognitionResult.bestTranscription.formattedString } - + public func speechRecognitionDidDetectSpeech(_ task: SFSpeechRecognitionTask) {} - + public func speechRecognitionTaskFinishedReadingAudio(_ task: SFSpeechRecognitionTask) {} - + // MARK: - SFSpeechRecognizerDelegate Methods - + /// Docs available by Google searching for SFSpeechRecognizerDelegate public func speechRecognizer(_ speechRecognizer: SFSpeechRecognizer, availabilityDidChange available: Bool) {} } +#endif diff --git a/OSSSpeechKit/Classes/OSSSpeechUtility.swift b/OSSSpeechKit/Classes/OSSSpeechUtility.swift index 37ec1b3..cef56cb 100644 --- a/OSSSpeechKit/Classes/OSSSpeechUtility.swift +++ b/OSSSpeechKit/Classes/OSSSpeechUtility.swift @@ -21,14 +21,14 @@ // IN THE SOFTWARE. // -import UIKit +import Foundation public class OSSSpeechUtility: NSObject { - + // MARK: - Variables - + fileprivate var tableName = "Localizable" - + /// Change this property to your strings table name if you wish to override the SDK strings values in your app. public var stringsTableName: String { get { @@ -38,9 +38,9 @@ public class OSSSpeechUtility: NSObject { tableName = newValue } } - + // MARK: - Public Methods - + /// A helper method that enables all Localized strings to be overridden by the main application. /// /// This method checks the main bundle for a Localized strings file. If one exists, the localized string name will be checked in that file. If one does not exist, the SDK string will be returned. @@ -69,36 +69,40 @@ public class OSSSpeechUtility: NSObject { } return defaultValue } - -} -extension NSObject { - /// Method outputs a debug statement containing necessary information to resolve issues. - /// - /// Only works with debug/dev builds. - /// - /// - Parameters: - /// - object: Any object type - /// - functionName: Automatically populated by the application - /// - fileName: Automatically populated by the application - /// - lineNumber: Automatically populated by the application - /// - message: The message you wish to output. - public func debugLog(object: Any, functionName: String = #function, fileName: String = #file, lineNumber: Int = #line, message: String) { - #if DEBUG - let className = (fileName as NSString).lastPathComponent - print("\n\n******************\tBegin Debug Log\t******************\n\n\tClass: <\(className)>\n\tFunction: \(functionName)\n\tLine: #\(lineNumber)\n\tObject: \(object)\n\tLog Message: \(message)\n\n******************\tEnd Debug Log\t******************\n\n") - #endif - } } /// Bundle extension to aid in retrieving the SDK resources for getting SDK images. extension Bundle { - /// Will return the Bundle for the SDK if it can be found. - static func getResourcesBundle() -> Bundle? { - let bundle = Bundle(for: OSSSpeech.self) - guard let resourcesBundleUrl = bundle.resourceURL?.appendingPathComponent("OSSSpeechKit.bundle") else { - return nil - } - return Bundle(url: resourcesBundleUrl) - } + /// Will return the Bundle for the SDK if it can be found. + static func getResourcesBundle() -> Bundle? { +#if SWIFT_PACKAGE + return Bundle.module +#else + let bundle = Bundle(for: OSSVoice.self) + guard let resourcesBundleUrl = bundle.resourceURL?.appendingPathComponent("OSSSpeechKit.bundle") else { + return nil + } + return Bundle(url: resourcesBundleUrl) +#endif + } +} + +extension NSObject { + /// Method outputs a debug statement containing necessary information to resolve issues. + /// + /// Only works with debug/dev builds. + /// + /// - Parameters: + /// - object: Any object type + /// - functionName: Automatically populated by the application + /// - fileName: Automatically populated by the application + /// - lineNumber: Automatically populated by the application + /// - message: The message you wish to output. + public func debugLog(object: Any, functionName: String = #function, fileName: String = #file, lineNumber: Int = #line, message: String) { + #if DEBUG + let className = (fileName as NSString).lastPathComponent + print("\n\n******************\tBegin Debug Log\t******************\n\n\tClass: <\(className)>\n\tFunction: \(functionName)\n\tLine: #\(lineNumber)\n\tObject: \(object)\n\tLog Message: \(message)\n\n******************\tEnd Debug Log\t******************\n\n") + #endif + } } diff --git a/OSSSpeechKit/Classes/OSSUtterance.swift b/OSSSpeechKit/Classes/OSSUtterance.swift index acb3127..313fd48 100755 --- a/OSSSpeechKit/Classes/OSSUtterance.swift +++ b/OSSSpeechKit/Classes/OSSUtterance.swift @@ -29,11 +29,11 @@ import AVFoundation /// /// As the developer, you can override the `volume`, `rate` and `pitchMultiplier` should you wish to. public class OSSUtterance: AVSpeechUtterance { - + // MARK: - Variables private var stringToSpeak: String = "" private var attributedStringToSpeak: NSAttributedString = NSAttributedString(string: "") - + /// The speechString can be a constant value or changed as frequently as you wish. /// /// The Speech String is what will be read out. @@ -47,7 +47,7 @@ public class OSSUtterance: AVSpeechUtterance { attributedStringToSpeak = NSAttributedString(string: newValue) } } - + /// The attributedSpeechString can be a constant value or changed as frequently as you wish. /// /// The Attributed Speech String is what will be read out if no speechString is set. @@ -61,9 +61,9 @@ public class OSSUtterance: AVSpeechUtterance { attributedStringToSpeak = newValue } } - + // MARK: - Lifecycle - + public override init() { super.init(string: "ERROR") debugLog(object: self, message: "ERROR: You must use the `init(string:)` or `init(attributedString:` methods.") @@ -71,7 +71,7 @@ public class OSSUtterance: AVSpeechUtterance { attributedSpeechString = NSAttributedString(string: "ERROR") commonInit() } - + /// Init method which will set the speechString value. public override init(string: String) { super.init(string: string) @@ -79,7 +79,7 @@ public class OSSUtterance: AVSpeechUtterance { attributedSpeechString = NSAttributedString(string: string) commonInit() } - + /// Init method which will set the attributedSpeechString value. public override init(attributedString: NSAttributedString) { super.init(attributedString: attributedString) @@ -87,21 +87,21 @@ public class OSSUtterance: AVSpeechUtterance { speechString = attributedString.string commonInit() } - + /// Required. Do not recommend using. public required init?(coder aDecoder: NSCoder) { super.init() return nil } - + // MARK: - Private Methods - + /// Common init is used for testing purposes only. private func commonInit() { // Init default values rate = AVSpeechUtteranceDefaultSpeechRate pitchMultiplier = 1.0 volume = 1.0 - voice = AVSpeechSynthesisVoice(identifier: AVSpeechSynthesisVoiceIdentifierAlex) + voice = AVSpeechSynthesisVoice(identifier: AVSpeechSynthesisVoiceIdentifierAlex) } } diff --git a/OSSSpeechKit/Classes/OSSVoice.swift b/OSSSpeechKit/Classes/OSSVoice.swift index 87b0087..7beeb23 100755 --- a/OSSSpeechKit/Classes/OSSVoice.swift +++ b/OSSSpeechKit/Classes/OSSVoice.swift @@ -21,8 +21,13 @@ // IN THE SOFTWARE. // -import UIKit +import Foundation import AVFoundation +#if canImport(UIKit) +import UIKit +#elseif canImport(AppKit) +import AppKit +#endif /// The voice infor struct ensures that the data structure has conformity and consistency. public struct OSSVoiceInfo { @@ -35,7 +40,7 @@ public struct OSSVoiceInfo { /// Identifier is a unique bundle url provided by Apple for each AVSpeechSynthesisVoice. public var identifier: Any? } - +// swiftlint:disable identifier_name /// The available system voices. /// /// The enum is iteratable; access to an array of the enum values can be accessed using: @@ -47,12 +52,18 @@ public enum OSSVoiceEnum: String, CaseIterable { case Australian = "en-AU" /// Brazilian case Brazilian = "pt-BR" + /// Bulgarian + case Bulgarian = "bg-BG" /// CanadianFrench case CanadianFrench = "fr-CA" - /// Chinese + /// Chinese Traditional case Chinese = "zh-CH" + /// Chinese Simplified + case ChineseSimplified = "zh-CN" /// ChineseHongKong case ChineseHongKong = "zh-HK" + /// Croatian + case Croatian = "hr-HR" /// Czech case Czech = "cs-CZ" /// Danish @@ -77,6 +88,8 @@ public enum OSSVoiceEnum: String, CaseIterable { case Hindi = "hi-IN" /// Hungarian case Hungarian = "hu-HU" + /// Indian English + case IndianEnglish = "en-IN" /// Indonesian case Indonesian = "id-ID" /// IrishEnglish @@ -87,10 +100,14 @@ public enum OSSVoiceEnum: String, CaseIterable { case Japanese = "ja-JP" /// Korean case Korean = "ko-KR" + /// Malaysian + case Malay = "ms-MY" /// Mexican case Mexican = "es-MX" /// Norwegian case Norwegian = "no-NO" + /// Norwegian Bokmal + case NorwegianBokmal = "nb-NO" /// Polish case Polish = "pl-PL" /// Portuguese @@ -107,6 +124,8 @@ public enum OSSVoiceEnum: String, CaseIterable { case SouthAfricanEnglish = "en-ZA" /// Spanish case Spanish = "es-ES" + /// Catalan + case SpanishCatalan = "ca-ES" /// Swedish case Swedish = "sv-SE" /// Taiwanese @@ -115,9 +134,15 @@ public enum OSSVoiceEnum: String, CaseIterable { case Thai = "th-TH" /// Turkish case Turkish = "tr-TR" + /// Ukranian + case Ukranian = "uk-UA" /// USA English case UnitedStatesEnglish = "en-US" - + /// Vietnamese + case Vietnamese = "vi-VN" + /// Arabic World + case ArabicWorld = "ar-001" + /// Will return specific information about the language as an OSSVoiceInfo object. public func getDetails() -> OSSVoiceInfo { var voiceInfo: OSSVoiceInfo = OSSVoiceInfo() @@ -131,12 +156,12 @@ public enum OSSVoiceEnum: String, CaseIterable { } return voiceInfo } - + /// Provides the Enum key itself as a String public var title: String { return String(describing: self) } - + /// Demo message is for returning a string in the language that will be read while also providing the name of the voice that Apple have provided. public var demoMessage: String { var voiceName = "" @@ -218,20 +243,49 @@ public enum OSSVoiceEnum: String, CaseIterable { return "你好我的名字是 \(voiceName)" case .Taiwanese: return "你好我的名字是 \(voiceName)" + case .Bulgarian: + return "Здравейте, казвам се \(voiceName)" + case .ChineseSimplified: + return "你好我的名字是 \(voiceName)" + case .Croatian: + return "Zdravo! Moje ime je \(voiceName)" + case .IndianEnglish: + return "Hello, my name is \(voiceName)" + case .Malay: + return "helo! Nama saya \(voiceName)" + case .NorwegianBokmal: + return "Hei, mitt navn er \(voiceName)" + case .SpanishCatalan: + return "Hola! Em dic \(voiceName)" + case .Ukranian: + return "Привіт! Мене звати \(voiceName)" + case .Vietnamese: + return "Xin chào! Tên của tôi là \(voiceName)" + case .ArabicWorld: + return "\(voiceName) مرحبا اسمي" } } - + /// The flag for the selected language. /// /// You can supply your own flag image, provided is has the same name (.rawValue) as the image in the pod assets. /// /// If no image is found in the application bundle, the image from the SDK bundle will be provided. +#if canImport(UIKit) public var flag: UIImage? { if let mainBundleImage = UIImage(named: rawValue, in: Bundle.main, compatibleWith: nil) { return mainBundleImage } return UIImage(named: rawValue, in: Bundle.getResourcesBundle(), compatibleWith: nil) } +#elseif canImport(AppKit) + public var flag: NSImage? { + if let mainBundleImage = NSImage(named: rawValue) { + return mainBundleImage + } + return NSImage(named: rawValue) + } +#endif } /** OSSVoice overides some of the properties provided to enable setting as well as getting. @@ -244,13 +298,13 @@ public enum OSSVoiceEnum: String, CaseIterable { */ @available(iOS 9.0, *) public class OSSVoice: AVSpeechSynthesisVoice { - + // MARK: - Private Properties - + private var voiceQuality: AVSpeechSynthesisVoiceQuality = .default private var voiceLanguage: String = OSSVoiceEnum.UnitedStatesEnglish.rawValue private var voiceTypeValue: OSSVoiceEnum = .UnitedStatesEnglish - + /// You have access to set the voice quality or use the default which is set to .default override public var quality: AVSpeechSynthesisVoiceQuality { get { @@ -260,7 +314,7 @@ public class OSSVoice: AVSpeechSynthesisVoice { voiceQuality = newValue } } - + /// Language offers a get and set. The default value is United States English. override public var language: String { get { @@ -270,17 +324,15 @@ public class OSSVoice: AVSpeechSynthesisVoice { voiceLanguage = newValue if let valueEnum = OSSVoiceEnum(rawValue: newValue) { voiceTypeValue = valueEnum - } + } } } - + /// Returns the current voice type enum to allow for obtining details. public var voiceType: OSSVoiceEnum { - get { - return voiceTypeValue - } + voiceTypeValue } - + /// If this init is used, defaults will be used. /// /// This method will set default values on the language and quality of voice. @@ -292,7 +344,7 @@ public class OSSVoice: AVSpeechSynthesisVoice { super.init() commonInit() } - + /// This init method is required as it sets the voice quality and language in order to speak the text passed in. public init?(quality: AVSpeechSynthesisVoiceQuality, language: OSSVoiceEnum) { super.init() @@ -300,13 +352,13 @@ public class OSSVoice: AVSpeechSynthesisVoice { voiceLanguage = language.rawValue voiceQuality = quality } - + /// Required: Do not recommend using. public required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) return nil } - + /// Used as a fail-safe should the custom init method not be used. /// /// This method will set default values on the language and quality of voice. diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..e19ede8 --- /dev/null +++ b/Package.swift @@ -0,0 +1,63 @@ +// swift-tools-version:5.3 +// The swift-tools-version declares the minimum version of Swift required to build this package. +import PackageDescription + +let package = Package( + name: "OSSSpeechKit", + platforms: [ + .iOS(.v12), + .tvOS(.v13), + .macOS(.v11) + ], + products: [ + .library( + name: "OSSSpeechKit", + targets: ["OSSSpeechKit"]), + .library( + name: "OSSSpeechKit-Static", + type: .static, + targets: ["OSSSpeechKit"]), + .library( + name: "OSSSpeechKit-Dynamic", + type: .dynamic, + targets: ["OSSSpeechKit"]) + ], + + // MARK: - Targets + targets: [ + // // MARK: - OSSSpeachKit + .target( + name: "OSSSpeechKit", + path: "OSSSpeechKit/", + sources: [ + "Classes/OSSSpeech.swift", + "Classes/OSSSpeechUtility.swift", + "Classes/OSSUtterance.swift", + "Classes/OSSVoice.swift" + ], + resources: [ + .process("Assets/") + ], + linkerSettings: [ + .linkedFramework("AVFoundation"), + .linkedFramework("AppKit", .when(platforms: [.macOS])), + .linkedFramework("Speech", .when(platforms: [.iOS])), + .linkedFramework("UIKit", .when(platforms: [.iOS])) + ] + ), + + .testTarget( + name: "OSSSpeechKitTests", + dependencies: [ + "OSSSpeechKit" + ], + path: "Example/Tests", + exclude: [ + "Info.plist" + ], + linkerSettings: [ + .linkedFramework("AVKit") + ] + )], + swiftLanguageVersions: [.v5] +) diff --git a/README.md b/README.md index bbda1d8..6e79f8b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - # OSSSpeechKit [![OSSSpeechKit Logo](https://appdevguy.github.io/OSSSpeechKit/OSSSpeechKit-Logo.png)](https://github.com/AppDevGuy/OSSSpeechKit) @@ -10,35 +9,35 @@ [![codecov](https://codecov.io/gh/AppDevGuy/OSSSpeechKit/branch/master/graph/badge.svg)](https://codecov.io/gh/AppDevGuy/OSSSpeechKit) [![docs](https://appdevguy.github.io/OSSSpeechKit/badge.svg)](https://appdevguy.github.io/OSSSpeechKit) -OSSSpeechKit was developed to provide easier accessibility options to apps. +OSSSpeechKit was developed to provide easier accessibility options to apps. -Apple does not make it easy to get the right voice, nor do they provide a simple way of selecting a language or using speech to text. OSSSpeechKit makes the hassle of trying to find the right language go away. +Apple does not make it easy to get the right voice, nor do they provide a simple way of selecting a language or using speech to text. OSSSpeechKit makes the hassle of trying to find the right language go away. # Requirements - Swift 5.0 or higher -- iOS 12.0 or higher +- iOS 13.0 or higher - Cocoapods -- A real device # Supported Languages +The table below shows the original 37 languages first supported. Since v0.3.3, an additional 10 languages have been added. +
English - Australian
🇦🇺
Hebrew
🇮🇱
Japanese
🇯🇵
Romanian
🇷🇴
Swedish
🇸🇪
Norsk
🇳🇴
Portuguese - Brazilian
🇧🇷
Hindi - Indian
🇮🇳
Korean
🇰🇷
Russian
🇷🇺
Chinese - Taiwanese
🇹🇼
Dutch - Belgium
🇧🇪
French - Canadian
🇨🇦
Hungarian
🇭🇺
Spanish - Mexican
🇲🇽
Arabic - Saudi Arabian
🇸🇦
Thai
🇹🇭
French
🇫🇷
Chinese
🇨🇳
Indonesian
🇮🇩
Norwegian
🇳🇴
Slovakian
🇸🇰
Turkish
🇹🇷
Finnish
🇫🇮
Chinese - Hong Kong
🇭🇰
English - Irish
🇮🇪
Polish
🇵🇱
English - South African
🇿🇦
English - United States
🇺🇸
Danish
🇩🇰
Czech
🇨🇿
Italian
🇮🇹
Portuguese
🇵🇹
Spanish
🇪🇸
English
🇬🇧
Dutch
🇳🇱
Greek
🇬🇷
# Features -OSSSpeechKit offers simple **text to speech** and **speech to text** in 37 different languages. +OSSSpeechKit offers simple **text to speech** and **speech to text** in 47 different languages. -OSSSpeechKit is built on top of both the [AVFoundation](https://developer.apple.com/documentation/avfoundation) and [Speech](https://developer.apple.com/documentation/speech) frameworks. +OSSSpeechKit is built on top of both the [AVFoundation](https://developer.apple.com/documentation/avfoundation) and [Speech](https://developer.apple.com/documentation/speech) frameworks. -You can achieve text to speech or speech to text in as little as two lines of code. +You can achieve text to speech or speech to text in as little as two lines of code. -The speech will play over the top of other sounds such as music. +The speech will play over the top of other sounds such as music. # Installation -OSSSpeechKit is available through [CocoaPods](https://cocoapods.org). To install -it, simply add the following line to your Podfile: +OSSSpeechKit is available through [CocoaPods](https://cocoapods.org). To install it, simply add the following line to your Podfile: ```ruby pod 'OSSSpeechKit' @@ -47,6 +46,7 @@ pod 'OSSSpeechKit' # Implementation ## Text to Speech + These methods enable you to pass in a string and hear the text played back using. ### Simple @@ -83,13 +83,13 @@ newVoice.quality = .enhanced speechKit.voice = newVoice // Initialise an utterance let utterance = OSSUtterance(string: "Testing") -// Set the recognition task type +// Set the recognition task type speechKit.recognitionTaskType = .dictation // Set volume utterance.volume = 0.5 // Set rate of speech utterance.rate = 0.5 -// Set the pitch +// Set the pitch utterance.pitchMultiplier = 1.2 // Set speech utterance speechKit.utterance = utterance @@ -97,11 +97,9 @@ speechKit.utterance = utterance speechKit.speakText(text: utterance.speechString) ``` - ## Speech to Text -Currently speech to text is offered in a very simple format. Starting and stopping of recording is handled by the app. - +Currently speech to text is offered in a very simple format. Starting and stopping of recording is handled by the app. ### iOS 13 On-Device Speech to Text support is now available as of 0.3.0 🎉 @@ -109,7 +107,7 @@ SpeechKit implements delegates to handle the recording authorization, output of ```swift speechKit.delegate = self -// Call to start and end recording. +// Call to start and end recording. speechKit.recordVoice() // Call to end recording speechKit.endVoiceRecording() @@ -126,12 +124,15 @@ Without these, you will not be able to access the microphone nor speech recognit ### Delegates Handle returning authentication status to user - primary use is for non-authorized state. + > `func authorizationToMicrophone(withAuthentication type: OSSSpeechKitAuthorizationStatus)` When the microphone has finished accepting audio, this delegate will be called with the final best text output. + > `func didFailToCommenceSpeechRecording()` If the speech recogniser and request fail to set up, this method will be called. + > `func didFinishListening(withText text: String)` For further information you can [check out the Apple documentation directly.](https://developer.apple.com/documentation/speech/sfspeechrecognizer) @@ -172,7 +173,7 @@ OSSVoiceInfo { ### Other Info -The `OSSVoiceEnum` contains other methods, such as a hello message, title variable and subtitle variable so you can use it in a list. +The `OSSVoiceEnum` contains other methods, such as a hello message, title variable and subtitle variable so you can use it in a list. You can also set the speech: @@ -182,34 +183,36 @@ You can also set the speech: As well as using an `NSAttributedString`. -There are plans to implement flags for each country as well as some more features, such as being able to play the voice if the device is on silent. +There are plans to implement flags for each country as well as some more features, such as being able to play the voice if the device is on silent. If the language or voice you require is not available, this is either due to: -- Apple have not made it available through their AVFoundation; +- Apple have not made it available through their AVFoundation; - or the SDK has not been updated to include the newly added voice. # Important Information -Apple do not make the voice of Siri available for use. +Apple do not make the voice of Siri available for use. This kit provides Apple's AVFoundation voices available and easy to use, so you do not need to know all the voice codes, among many other things. -To say things correctly in each language, you need to set the voice to the correct language and supply that languages text; this SDK is not a translator. +To say things correctly in each language, you need to set the voice to the correct language and supply that languages text; this SDK is not a translator. ### Code Example: -You wish for you app to use a Chinese voice, you will need to ensure the text being passed in is Chinese. +You wish for you app to use a Chinese voice, you will need to ensure the text being passed in is Chinese. _Disclaimer: I do not know how to speak Chinese, I have used Google translate for the Chinese characters._ #### Correct: + ```swift speechKit.voice = OSSVoice(quality: .enhanced, language: .Chinese) speechKit.speakText(text: "你好我的名字是 ...") ``` #### Incorrect: + ```swift speechKit.voice = OSSVoice(quality: .enhanced, language: .Australian) speechKit.speakText(text: "你好我的名字是 ...") @@ -222,13 +225,13 @@ speechKit.voice = OSSVoice(quality: .enhanced, language: .Chinese) speechKit.speakText(text: "Hello, my name is ...") ``` -This same principle applies to all other languages such as German, Saudi Arabian, French, etc.. Failing to set the language for the text you wish to be spoken will not sound correct. +This same principle applies to all other languages such as German, Saudi Arabian, French, etc.. Failing to set the language for the text you wish to be spoken will not sound correct. # Contributions and Queries -If you have a question, please create a ticket or email me directly. +If you have a question, please create a ticket or email me directly. -If you wish to contribute, please create a pull request. +If you wish to contribute, please create a pull request. # Example Project