@RaspiManu - Yes, the upcoming posts will be on our product page. We’re also working on getting the quick start guide there too, as it’s currently only posted as part of the Datasheet on the DigiKey product page.
@rolyan_trauts - The config tool is a separate tool. There is already an x86_64 Linux version available. The link to download is included in the quick start guide. There is a lot of configuration available, so it’ll take a while to document the virtual serial port protocol for everything. A lot of the configuration things can be done with the config tool and then saved to flash, and I’m working on writing up how to do some of the more interesting ‘real time’ tasks that you might want to do, such as getting DoA and controlling LEDs. Speaking of, here is the upcoming one on DoA:
Using the config tool
Acusis S has a command-line configuration tool for Linux, Mac, and Windows 10 that allows you to view and modify many of the audio parameters, including direction-of-arrival information. See the Acusis S datasheet for information on how to download and set up the tool for your platform.
With the tool (named aconfig or aconfig.exe) installed, you can get the direction-of-arrival (DOA) at any instant with the command:
aconfig --get DOAANGLE
This will print a single line response with an angle between 0 and 180 degrees, for example:
DOAANGLE: 107
If you are speaking head-on to the Acusis S, so that the middle LEDs are lighting up, you’ll get an angle of around 90 degrees. If you move all the way to your left, you’ll get close to 0 degrees, and if you move all the way to your right, you’ll get close to 180 degrees. If you happen to be behind the Acusis S instead of in front of it, you’ll still get an angle of 0 to 180 degrees, just mirrored from when you’re in front of it.
This command will report the most recent DOA of any sound, even sounds that are too quiet to register as voice activity. If you also want to see if voice activity is triggered (that is, LEDs are lit up), you can use the following command:
aconfig --get VOICEACTIVITY
This will respond with a 0 or 1, indicating whether Acusis S is detecting that someone is speaking:
VOICEACTIVITY: 1
Using the virtual serial interface
The config above communicates with Acusis S through a virtual serial interface that shows up on most operating systems. If you want to integrate DOA tracking into your own application, you might want to communicate directly with the serial interface. Communicating with this interface is like communicating with any other serial interface, and how to do this will depend on your OS, programming language, and libraries available.
To try it out without coding, first get a hold of a terminal program such as PuTTY, Minicom, or screen. Then find the name of the virtual serial port. If you have the config tool already installed, you can get the name by running:
aconfig -l
On Mac, this will likely be in the form /dev/tty.usbmodemNNNNN, on Linux, /dev/ttyACMN, and on Windows COMN (where N represents a decimal digit).
Use your terminal program to connect to the virtual serial port. You might want to turn on local echo and translate line feeds to CR+LF to make the display more readable. Baud rate and communication settings shouldn’t matter since the port isn’t physical, but 11520 bps, no parity, 8 data bits, 1 stop bit (115200 N81) will work fine if you need to set something.
To get direction of arrival, enter the following in your terminal (followed by CR and/or LF):
rawr15c00400
You will get raw data back in JSON format, such as (followed by LF):
{"data":[107,0,0,0]}
The first byte, 107, indicates the angle in degrees. The remaining 3 bytes are unused and are always 0.
Similarly, you can get the voice activity indicator with:
rawr13e50400
And the response:
{"data":[1,0,0,0]}
…where the first byte is a 0 or 1 indicating whether someone is speaking.