Neural Codec2 decoding for DroidStar

Our experimental fork of DroidStar can now decode M17 voice with a neural vocoder. The new decoder comes from Codec2-mod-neural, which uses the FARGAN network from the Opus project. It takes the same Codec2 3200 frames every M17 radio already sends and turns them into wideband 16 kHz speech instead of the classic 8 kHz sinusoidal synthesis. Nothing changes on the transmitting side, the bitstream is untouched, so you get the improvement on every 3200 bps M17 stream you receive, no matter who is talking.

Installing

  1. Download the zipped APK file below.
  2. Unpack it and open the DroidStar.apk file. Android will ask you to allow installs from your browser or file manager – allow it.
  3. If you already have DroidStar installed and Android refuses to update it, uninstall the old version first and install again. Your settings (callsign, hosts) will need to be entered again.

To enable the neural synthesizer, go to Settings and scroll down to “Neural Codec2 decoder (M17 3200)” – tick it. Connect to a reflector afterwards, as usual.

Tell us how it sounds and which phone you use. Waiting for comments!

Comments

2 responses to “Neural Codec2 decoding for DroidStar”

  1. Jeffrey Baitis Avatar

    Hi Wojciech:

    I’ve long wanted to improve the audio quality of my Yaesu rig. Needless to say after going down deeply into a rabbit hole I started some work on top of Codec2 that I named ‘sotto’ — see the website link that I submitted with this comment.

    After I started my work I discovered this post pertaining to FARGAN. It appears that the ‘hiss band’ concept seem to apply to FARGAN as well. Hopefully this is helpful in pushing M17 forward; as soon as I have my hands on a TYT MD-UV380 the page will be updated with what I find.

    73,
    -Jeff AG7EW

    1. Wojciech Kaczmarski Avatar

      Interesting. To be able to offer any other vocoders, we would need to tweak the Spec document (either v2.1 or v3.0 bump). I’m not convinced that this would help M17 at all – I’m afraid it would fragment the mode (an already quite niche mode suddenly divided into 2 or 3 mutually incompatible vocoder groups). Still, your work is intriguing, especially if one were to expand this on the 3200 bps mode. Bonus points if the vocoder bitstream could signal its own version.

Leave a Reply

Your email address will not be published. Required fields are marked *