Viability Concept – nRF9151 SiP for Audio Transmission

Hello. We are evaluating the nRF9151 SiP as a potential solution due to its low power consumption and compact form factor. However, our team has limited experience with firmware development for this platform, so we first need to assess whether our use case is technically viable.

Our goal is to record (or stream) a short audio clip (15–20 seconds) and transmit it to a cloud server. We're aware the nRF9151 includes an I²S interface and an LTE-M modem so, in theory, it should be possible. While we understand that larger audio files could pose challenges over LTE-M, we believe our relatively small audio size may make this feasible. Our case of use requires instant audio transmission so we cannot store the audio and send it later via Wi-Fi, we also can't send it via BLE. Our device should be completely independent and have a really small form factor, that's why we think nRF9151 should be perfect for this. 

We want to confirm with more experienced engineers on whether this approach is practical and possible before moving forward with development. Also, it would be really helpful having a good foresight of software resources required for our project, like libraries available in the nRF Connect ecosystem that can aid us on our project planning, something like LTE audio streaming for this platform. Any additional information we can have, that can help us orient the work to be made, we would be really grateful to receive.

Thank you in advance to this community. 

Parents
  • Hello,

    I guess it would be depend on the size of the audio clip. But if the audio data is small enough to be buffered entirely on the nrf9151, then I see no problem with this. Streaming it in real time to a cloud server can be more tricky, as the bit rate would probably be too high for an LTE-M link to handle. But that would also maybe depend on the quality of the audio file, sampling rate etc.

    Sending I2S data to the nrf9151 should not be a problem at all, but I don't think we have a sample for this yet. But if you want I can try to make something work if you have time for that.

  • Hello Hakon. Yes, taking into account that nRF9151 has 256 kB of RAM, then we're perfectly aware that audio quality may take a hit, we are willing to accept that trade-off if we are able to send an audio of that duration, but of course, it would be necessary to perform tests on final audio quality. 

    The entire application firmware would only perform this, so we can assume the whole RAM that's left after Zephyr, modem and other configurations can be available for the audio clip. I know Nordic has released the Bare Metal SDK, I don't know if that may be a good option to release more memory that we can use for the audio.

    The use case is simple, the nRF9151 would be sleep most of the time, and on certain conditions, it will receive a wake up signal to record and send the audio. We don't necessarily need to stream it, what we're interested in is that audio sending after recording happens on a reasonable time window.

    What protocols do you think can be used to send the audio to the network? MQTT, HTTP, or raw UDP, TCP? We're completely free to develop whatever is needed on the server/cloud reception side. 

    And of course, any working example you have would be really helpful for us. We'll use any low power, small footprint microphone, for example: ICS43434 by TDK InvenSense

  • bjesuslopezg said:
    And of course, any working example you have would be really helpful for us.

    There is the I2S echo zephyr sample, which might not work out of the box on nRF9151 DK but could probably work with some modifications. I will try to tinker with this and report back if I'm able to make it work.

    bjesuslopezg said:
    What protocols do you think can be used to send the audio to the network? MQTT, HTTP, or raw UDP, TCP? We're completely free to develop whatever is needed on the server/cloud reception side. 

    Probably something like websocket or just pure TCP or MQTT would be fine. Depends how much data you want to send in one session. There is also a modem restriction of 2 KB TLS data (buffer limit), so keep that in mind.

    Also, have you thought about what codec you are going to use?

  • Hi Hakon. Really have no requirement either on audio codec. Something that can give us the best quality with the lowest amount of resources, maybe Opus.

Reply Children
Related