Is it possible to run 2 impulses simultaneously?


I wanted to make a system in which I can use the RGB sensor and the microphone simultaneously on Arduino Nano 33 BLE Sense. So I tried adding different blocks for both purposes and the training results were pretty good with accuracy of about 98%.
But when I wanted to test it using live classification it started giving me errors. I had made the frequency 16000Hz for both - the microphone and the colour sensor.

The errors were -“Cannot process file, impulse requires axis “audio”, but not present in this file (found: “R”, “G”, “B”) - note: axes are case sensitive.” I pretty much understand the error but I cant find a solution.

If anyone has a solution to this then you are welcome.


Hi @Darsheeltripathy Can you share your project ID?

Here is the porject ID : 37232


@Darsheeltripathy So for this to work all your data needs to have both the audio, the R, B and G axes, so four axes per data sample. So make sure you have four sensor axes (the recording from the audio and the recording from the color sensor, all at 16KHz).

1 Like

How will I do that for audio samples ?
Can I rename all the axes to “audio”? Will that work?
I have set all the axes name to “audio” and the output is given below.

By the way, I am getting this error:
Cannot set tensor: Dimension mismatch. Got 11960 but expected 3960 for dimension 1 of input 0.

Any kind of help is welcomed :slight_smile:


Hi @Darsheeltripathy So what you want to do is:

  1. Have samples with four axes and all values combined, e.g.:
    "protected": {
        "ver": "v1",
        "alg": "HS256",
        "iat": 1624020690
    "signature": "0000",
    "payload": {
        "device_type": "MY_DEVICE_TYPE",
        "interval_ms": 0.0625,
        "sensors": [{
            "name": "audio",
            "units": "wav"
        }, {
            "name": "R",
            "units": "N/A"
        }, {
            "name": "G",
            "units": "N/A"
        }, {
            "name": "B",
            "units": "N/A"
        "values": [
            [-100, 1, 2, 3],
            [-101, 2, 3, 4],
            // etc.

If you rather have two completely separate models then I’d create two projects and add audio to one, and the RGB data to another. We currently only support deploying two completely separate models on Linux though.

But how to do that ?? I am a beginner in Edge Impulse and I am not knowing the way to do it.
Any kind of help is welcomed :slight_smile:


@Darsheeltripathy How did you create the data that’s in your project now?

By recording the data and transmitting it via data forwarder and edge impulse daemon

@Darsheeltripathy Sorry for the many questions (and slow response :slight_smile: ), but do you want to:

  1. Have two separate models, one with RGB input and one with audio input? Or,
  2. One model with four inputs (audio, R, G, B)?

For 1) we have a solution in the works but it’s not ready at the moment.

I want a system that simultaneously classifies RGB data and audio data.
Its basically like having two models combined into one.

Hi @janjongboom I have a similar question, would you please take a look at my question?

I hope to know how to use two channels of audio input on the Sony Spresense board to design the impulse.

Thank you in advance for any help.


Liwei Wang

Hello @LarryWang,

@ei_francesco just answered: