jamesonrader / AudioQR

Transmit data using ultrasonic audio. Perfect for offline/network-free data transfer, automatic content recognition (ACR), and broadcast.
https://cueaudio.com
Other
766 stars 74 forks source link

ERROR: Failed to resolve: com.cueaudio:engine:1.0.0 #9

Closed faiqmustaqeem closed 4 years ago

faiqmustaqeem commented 5 years ago

when trying it in my project getting this issue. ERROR: Failed to resolve: com.cueaudio:engine:1.0.0 Show in Project Structure dialog Affected Modules: app

and please tell me what username and password do i need to use in local.properties com.cueaudio.maven.username= com.cueaudio.maven.password=

jamesonrader commented 5 years ago

@faiqmustaqeem the latest version is 1.15.1 -- can you try using that version? In your podfile, you can simply use ~> 1.15, or for your Android gradle file 1.+

jamesonrader commented 5 years ago

@faiqmustaqeem actually, the Pod and Maven are both private and require credentials to install. For demo purposes, please use the framework (iOS) and AAR (Android) files included in this repo, or you can reach out via email and CUE will set you up with credentials to use pods.

faiqmustaqeem commented 5 years ago

@jamesonrader , means i have to buy paid version for using it in my app ?

jamesonrader commented 5 years ago

@faiqmustaqeem Yes, you can use the demo for free but production requires licensing. This is the same technology we currently deploy with the NFL, NCAA, and a number of extremely large organizations like Berkshire Hathaway. However, if your company is very small with only a few users, we have plans designed to make it extremely affordable. Feel free to reach out to hello@cueaudio.com and a member of our sales team will be in touch.

deenanathgupta commented 4 years ago

@jamesonrader CUEReceiverCallbackInterface::run() callback getting called multiple time for the same payload with empty message response.

Empty message from engine:
{
mode='trigger' [0]
rawIndices=0.1.461
message=""
latency=1047
}

and after multiple failure call, finally it's getting expected decoded data from the engine .

Is there anyway by which we can avoid this duplicate failure call.? Thank you.

jamesonrader commented 4 years ago

Hi @deenanathgupta,

This trigger is a header in the ultrasonic file that tells the device that the remainder of the payload should be interpreted as a "data" payload. Data payloads are much less reliable than trigger payloads. The error you are seeing is if the trigger in the header is detected but not the subsequent data payload.

Finally, we currently have an alpha of trigger mode that has 10x range and about 50x reliability compared to the current master. I would recommend you use this trigger mode for your use case and simply string together your payload as a series of shorter payloads.

deenanathgupta commented 4 years ago

Hi @jamesonrader,

Thanks for your reply.

I am facing one issue-> Mode: Trigger

CUEReceiverCallbackInterface::run() function never get called, When My Android device is connected with the speaker over Bluetooth and playing some background music, and then I am sending the payload in trigger mode.

My intention is to detect ultrasonic sound when my device is connected with the speaker over Bluetooth and playing music.

It's working fine when the device is connected with the speaker over Bluetooth without music.

Note: I am testing the implementation in one device (speaker which is connected over Bluetooth of device one --> mic of device one).

Any insight on this will be helpful.

jamesonrader commented 4 years ago

@deenanathgupta so if the BLE speaker is outputting the ultrasonic audio (you can find this out by making a WAV recording and either sharing with me or looking in the 17.5-19.5kHz range with a spectrogram) and the device is not picking up the signal, this is a failed recognition that will be fixed when we push the latest version as soon as next week.

If the ultrasound is not coming through the speaker, then there could be two potential issues:

1) Your speaker for some reason isn't outputting the ultrasound or doesn't support those frequencies. Most speakers will play up to 20kHz though so I would hope this wouldn't be the case. 2) It could be a bug not with the ultrasonic engine, but with how the audio session is configured. I don't think there has been a lot of testing with it while simultaneously connected to Bluetooth speakers. This would be a very fixable issue but it would take a bit of toying around.

carlosmosquera commented 4 years ago

Hi @jamesonrader

This is not an issue but I need help. I'm new to coding and I haven't been able to extract "power" separately from jsonString. Getting the trigger works but I just need power to calculate distance. Can you help me? :)