目錄
1.藍牙優化
1.打開sco
2.外放時的藍牙的不同版本適配
2.微軟文本轉語音優化
1.異步文本轉語音
2.語音的個性化
上一篇關于語音識別, 雖然能用,但在系統適配,機器適配方面,速度,性能等還是有優化的地方.所以這篇是關于這些的.
1.藍牙優化
- A2DP:是一種單向的高品質音頻數據傳輸鏈路,通常用于播放立體聲音樂;
- SCO: 則是一種雙向的音頻數據的傳輸鏈路,該鏈路只支持8K及16K單聲道的音頻數據,只能用于普通語音的傳輸
1.打開sco
默認sco是關閉的,所以對手機說話可以錄音,但對藍牙就不行了,所以要打開,然后就可以對藍牙說話,手機一樣可以收到聲音,然后識別.
//啟用藍牙錄音private fun setAudioDevice() {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {var speakerDevice: AudioDeviceInfo? = nullval devices = audioManager!!.availableCommunicationDevicesfor (device in devices) {if (device.type == AudioDeviceInfo.TYPE_BLUETOOTH_SCO) {speakerDevice = devicebreak}}if (speakerDevice != null) {val result: Boolean = audioManager!!.setCommunicationDevice(speakerDevice)if (result) {}}} else {audioManager!!.startBluetoothSco()audioManager!!.isBluetoothScoOn = true}}
藍牙的惡心之處就是android系統更新,幾乎每一版都涉及到藍牙硬件的變動.
上面的代碼不適合外放的狀態,因為外放是把藍牙關了.