diff --git a/README.md b/README.md index 08153b4..a693265 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,14 @@ ![APK](https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/com.radio.codec2talkie) # Introduction -**Turn your Android phone into real Amateur Radio HF/VHF/UHF APRS enabled Codec2 DV (digital voice) and/or FreeDV handheld transceiver.** +**Turn your Android phone into real Amateur Radio HF/VHF/UHF APRS enabled Codec2/OPUS DV (digital voice) and/or FreeDV handheld transceiver.** **Requires additional hardware (e.g. AFSK/LoRa), software (e.g. Direwolf) radio modem or analog transceiver with USB audio + VOX/USB CAT PTT control, such as MCHF or ICOM** For more information about FreeDV and Codec2 visit https://github.com/drowe67/codec2 +For more information about OPUS codec visit https://opus-codec.org/ + For detailed information about project [Wiki](https://github.com/sh123/codec2_talkie/wiki) ![alt text](images/diagram.png) @@ -19,8 +21,8 @@ For detailed information about project [Wiki](https://github.com/sh123/codec2_ta What you can do with this app: - Voice communication: - Send and receive Codec2 voice over FreeDV modes - - Send and receive Codec2 voice over KISS - - Send and receive Codec2 voice encapsulated into APRS UI frames + - Send and receive Codec2/OPUS voice over KISS + - Send and receive Codec2/OPUS voice encapsulated into APRS UI frames - Data communication - Use APRS over FSK 300 (HF, TX only), AFSK1200 (VHF), FreeDV OFDM (HF) or APRS-IS (Internet) - Send and receive APRS position reports @@ -50,6 +52,7 @@ What you can do with this app: - Source code is integrated into this project for easier building and customization: - Codec2 codec: https://github.com/drowe67/codec2 - Android Codec2 wrapper code: https://github.com/UstadMobile/Codec2-Android + - OPUS codec: https://opus-codec.org - Fetched with gradle as dependency: - Android USB serial: https://github.com/mik3y/usb-serial-for-android diff --git a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioOpus.java b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioOpus.java index 1404f0e..986492e 100644 --- a/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioOpus.java +++ b/codec2talkie/src/main/java/com/radio/codec2talkie/protocol/AudioOpus.java @@ -127,7 +127,7 @@ public class AudioOpus implements Protocol { } short [] decodedSamples = new short[decodedSamplesCnt]; if (decodedSamplesCnt > 0) { - System.arraycopy(_playbackAudioBuffer, 0, decodedSamples, 0, decodedSamplesCnt) + System.arraycopy(_playbackAudioBuffer, 0, decodedSamples, 0, decodedSamplesCnt); } else { Log.e(TAG, "Decode error: " + decodedSamplesCnt); _parentProtocolCallback.onProtocolRxError(); diff --git a/codec2talkie/src/main/res/values/strings.xml b/codec2talkie/src/main/res/values/strings.xml index eecae43..8127d66 100644 --- a/codec2talkie/src/main/res/values/strings.xml +++ b/codec2talkie/src/main/res/values/strings.xml @@ -27,7 +27,7 @@ OPUS Settings PCM frame duration [ms] Bit rate - Bit rate from 500 up to 512000bps + Bit rate from 2400 up to 512000bps, set larger frame duration below for smaller bit rates Complexity Loopback