ManyEarsPackages

From IntRoLab

Packages (Test OSX, June 18 2010)

Note : This package is for internal testing only. They are made for Mac OSX Snow Leopard (10.6)
  1. First, install Qt from here : http://qt.nokia.com/downloads/sdk-mac-os-cpp. You only need this if you want to run the test GUI (recommended).
  2. Download the package here : File:ManyEarsBetaPackageOSX.dmg
  3. Run the test program "ManyEars.app"
  4. Have a look at the example, lib, include directories. You should have everything you need there for integration with MAX/MSP.
  5. Email Dominic Létourneau for more informations!

Packages

After installing the WIN32 or OSX package, please go to the Configuration section for more details for configuring the microphone array.

WIN32 Packages

  1. Install the FlowDesigner Package
    1. Download and install File:FlowDesigner-0.10.0-win32.rar
    2. FlowDesigner must be added to the PATH with the installer (when asked)
  2. Install the ManyEars Package
    1. Download and install File:ManyEars-0.2.rar
  3. Run FlowDesigner from the start menu
  4. (Optional) run audioviewer from C:\Program Files\FlowDesigner\bin
Notes :

July 23 2009. Updated phi for package ManyEars.
June 5 2009. Packages uploaded.

OSX Packages

  1. Download & Install Qt
    1. http://get.qtsoftware.com/qt/source/qt-mac-opensource-4.5.1.dmg
  2. Download and mount this image :
    1. File:FlowDesigner-0.10.0-RW.dmg
    2. Run FlowDesigner from the mounted image
    3. Open and run the FlowDesigner network described in the Configuration section.

If you want to run the audioviewer (after the image is mounted) :

  1. Start the terminal
  2. Enter the following commands :
    1. export PATH=/Volumes/FlowDesigner-0.10.0/FlowDesigner.app/Contents/Resources/bin:$PATH
    2. export DYLD_LIBRARY_PATH=/Volumes/FlowDesigner-0.10.0/FlowDesigner.app/Contents/Resources/lib/
    3. export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/Volumes/FlowDesigner-0.10.0/FlowDesigner.app/Contents/Resources/lib/flowdesigner/toolbox/ManyEars/lib/
  3. (Optional) Start audioviewer
    1. audioviewer
Notes :

July 23 2009. Updated phi for package.
June 5 2009. Packages uploaded.

Configuration

The following examples will output localization with OSC with the following configuration :

  • host = 127.0.0.1
  • port= 5678

Those settings can be changed by editing the .n files with FlowDesigner.


Microphone Array Configuration


Each microphone configuration must be ordered the same way they are connected to the sound card. Values are in cm.

Here is an example of the cube configuration :

<Matrix

<rows 8>
<cols 3>
<data

-18 16 -15.5
-18 16 15.5
18 16 -15.5
18 16 15.5
-18 -16 -15.5
-18 -16 15.5
18 -16 -15.5
18 -16 15.5
>
>

Here is an example of the planar octogonal configuration :

<Matrix

<rows 8>
<cols 3>
<data
12.5 30 0
-12.5 30 0
-30 12.5 0
-30 -12.5 0
-12.5 -30 0
12.5 -30 0
30 -12.5 0
30 12.5 0
>
>

Planar Array Configuration for 3D (with distance approximation)

  • Run This file for 3D localization
    • File:Tracking3D.n
    • Notice that the z value for all microphones in this example is 0 meaning that all microphones are in the same plane.

Standard Array Configuration (without distance approximation)

OSC Format (Updated)

  • Data is transmitted with Network byte order (MSB first)

//HEADER CONTAINS 24 BYTES
char header[12] = {'/','m','a','n','y','e','a','r','s', '\0', '\0','\0'};
char tags[12] = {',','i','f','f','f','f','f','f','f','\0','\0','\0'};

//DATA CONTAINS 32 BYTES
BinIO::write<int>(outputString,&id,1);
BinIO::write<float>(outputString,&x,1);
BinIO::write<float>(outputString,&y,1);
BinIO::write<float>(outputString,&z,1);
BinIO::write<float>(outputString,&strength,1);
BinIO::write<float>(outputString,&theta,1);
BinIO::write<float>(outputString,&phi,1);
BinIO::write<float>(outputString,&distance,1);


//TOTAL = 56 BYTES

Output with OSC to more than one destination

To add an output do the following steps :

  1. Open the Tracking3D.n file
  2. Click on the "MAIN_LOOP" tab.
  3. Add the node : ManyEars->UDPOSCOut
  4. Add the node : General->NOP
  5. Connect the nodes to (like the original ones) to "node_SourceTrack_1"
  6. Hold Shift and mouse click on the output of the new UDPOSCOut
    1. Name the output with a different name than SOURCE_INFO
  7. Click on the "MAIN" tab.
  8. Hold Shift and mouse click on the output previously added to "MAIN_LOOP"
    1. You can keep the output name as suggested
  9. Save your document with a different name if required
  10. Run the document

Here is an example :