05.05.2013 Views

Huron & SNAP Documentation

Huron & SNAP Documentation

Huron & SNAP Documentation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Huron</strong> Technical Manual<br />

Software version 3.2


Lake Technology <strong>Huron</strong> Technical Manual<br />

Software Version 3.2<br />

Revision 6.0<br />

HURON TECHNICAL MANUAL PAGE 3


Copyright © 1995-2003 Lake Technology Limited.<br />

First published 1995, as a Lake DSP publication.<br />

All rights reserved. No part of this publication may be<br />

reproduced or used in any form or by any means — graphic<br />

electronic, or mechanical including photocopying, recording,<br />

taping or information storage and retrieval systems — without<br />

written permission of the publisher.<br />

The enclosed materials are subject to pending and granted<br />

patent protection and to various patent, copyright and other<br />

intellectual property rights in various international jurisdictions.<br />

Manufactured: Sydney Australia. First printing 1995.<br />

Project editors: Stewart Bartlett 1995; Stephen Cox 1998; Roger<br />

Butler 1999-2002; Michael Potas 2002-2003.<br />

Section editors: Marcus Altman, Patrick Flanagan, Adam<br />

McKeag, Yarema Misko, Tony Place, Desmond So, Nick<br />

Mariette, Michael Potas.<br />

Page Layout/Design: Stephen Cox, Based on: “Microsoft®<br />

manual of style 1995 (Microsoft press)”, and “Xerox®<br />

publishing standards 1988 (Xerox press)”.<br />

InsideTrak is a registered trademark of the Polhemus<br />

Corporation. Lake Technology and all Lake products<br />

mentioned in this documentation are trademarks of Lake<br />

Technology Limited. Matlab is a registered trademark of<br />

Mathworks. Microsoft, Microsoft windows, MS, MS-DOS are<br />

registered trademarks of the Microsoft Corporation. Motorola<br />

is a registered trademark of the Motorola Corporation. Silicon<br />

Graphics is a registered trademark of Silicon Graphics<br />

Corporation.<br />

HURON TECHNICAL MANUAL PAGE 5


Disclaimer<br />

Copyright © 1995-2003 Lake Technology Limited.<br />

All rights reserved. Lake Technology Limited assumes no<br />

responsibility for any errors in this documentation. This<br />

information may supersede previously published specification<br />

of this product. Lake Technology Limited reserves the right to<br />

make changes to its products at any time without notice.<br />

Contact the Lake Technology Limited sales office in Sydney<br />

N.S.W. Australia for the latest product specification at the time<br />

of order.<br />

HURON TECHNICAL MANUAL PAGE 7


FCC Declaration (USA only) for<br />

<strong>Huron</strong> Workstation.<br />

Federal Communications Commission Radio Interference<br />

Statement Warning:<br />

This equipment has been tested and found to comply with the<br />

limits for a Class A digital device, pursuant to Part 15 of the<br />

FCC Rules. These limits are designed to provide reasonable<br />

protection against harmful interference in a commercial,<br />

industrial or business environment. This equipment generates,<br />

uses and can radiate radio frequency energy and, if not installed<br />

and used in accordance with the instructions, may cause<br />

harmful interference to radio communications. However, there<br />

is no guarantee that interference will not occur in a particular<br />

installation. If this equipment does cause harmful interference<br />

to radio reception, which can be determined by turning the<br />

equipment off and on, the user is encouraged to correct the<br />

interference by one or more of the following measures:<br />

Reorient or relocate the receiving antenna.<br />

Increase the separation between the equipment and the receiver.<br />

Connect the equipment to an outlet on a circuit different from<br />

that to which the receiver is connected.<br />

Consult the distributor or Lake Technology for help.<br />

Lake Technology Limited FCC Compliance Tests were<br />

conducted with FCC tested peripheral devices and shielded<br />

cables. Using equipment not FCC tested or making changes or<br />

modifications not expressly approved by Lake Technology<br />

Limited could void the users authority to operate the equipment.<br />

HURON TECHNICAL MANUAL PAGE 9


Warranty<br />

Lake Technology Limited A.C.N. 051 198 273 of Australia<br />

(“Lake”) warrants to the purchaser that the hardware and media<br />

embodying software in this product are free from defects in<br />

material and workmanship for a period of one (1) year from the<br />

date of purchase or shipment, whichever is earlier.<br />

If the purchaser discovers such a defect, they should notify<br />

Lake within the warranty period and return the product to Lake,<br />

indicating the defect and providing proof of purchase. Lake<br />

will examine the product and, if it finds that there is such a<br />

defect, will at its option either repair or replace the product,<br />

return the product to the purchaser within ninety (90) days of<br />

receipt and refund the purchaser’s shipping expenses. Shipping<br />

of products is at the purchaser’s sole risk.<br />

NOTE: — EXCLUSION AND LIMITATION OF LIABILITY<br />

TO THE FULL EXTENT PERMITTED BY APPLICABLE<br />

LAW, LAKE DISCLAIMS AND EXCLUDES ALL AND<br />

ANY WARRANTIES AND CONDITIONS IN RESPECT OF<br />

THIS PRODUCT. THIS EXCLUSION EXTENDS, WHERE<br />

LAWFUL TO DO SO, TO THE IMPLIED WARRANTIES OF<br />

MERCHANTABILITY AND FITNESS FOR A<br />

PARTICULAR PURPOSE. ALL SOFTWARE AND<br />

HARDWARE MAY HAVE ERRORS, AND THEREFORE<br />

THE USE OF THE LAKE SOFTWARE AND HARDWARE<br />

MUST BE BY SKILLED AND SUITABLY TRAINED<br />

PERSONNEL WHO CAN VERIFY THE RESULTS OF USE<br />

TO BE ACCURATE. LAKE THEREFORE SUPPLIES THE<br />

HARDWARE AND SOFTWARE SUPPLIED “AS IS”<br />

WITHOUT WARRANTY AS TO THE CORRECTNESS,<br />

COMPLETENESS OR ACCURACY OF THE RESULTS OF<br />

USE, OR AS TO ANY BENEFITS OF USE OF ANY<br />

NATURE. The limited warranty provided above is the only<br />

warranty made by Lake on this product. No oral or written<br />

information or advice given by Lake, its dealers, distributors,<br />

agents or employees will create a warranty or in any way<br />

increase the scope of this warranty, and you may not rely on<br />

any such information or advice.<br />

In no event will Lake be liable for any consequential, incidental<br />

or indirect damages (including damages for loss of business<br />

profits, business interruption, loss of business information)<br />

arising out of the use of or inability to use Lake products, even<br />

if Lake or an authorised Lake representative has been advised of<br />

the possibility of such damages or for any claim by any other<br />

party.<br />

HURON TECHNICAL MANUAL PAGE 11


Table of Contents<br />

DISCLAIMER......................................................................................................................................7<br />

FCC DECLARATION (USA ONLY) FOR HURON WORKSTATION.......................................9<br />

WARRANTY......................................................................................................................................11<br />

TABLE OF CONTENTS ..................................................................................................................13<br />

INTRODUCTION TO THE HURON .............................................................................................23<br />

AN OVERVIEW OF THE HURON DIGITAL AUDIO WORKSTATION ...............................25<br />

FEATURES .........................................................................................................................................26<br />

APPLICATIONS ..................................................................................................................................26<br />

THE HURON HARDWARE............................................................................................................27<br />

HURON HARDWARE COMPONENTS ...................................................................................................27<br />

STARTING THE HURON......................................................................................................................29<br />

INSTALLING NEW HARDWARE COMPONENTS ...................................................................................30<br />

INSTALLING AT ADD-IN CARDS .......................................................................................................31<br />

CONNECTING AUDIO INPUTS AND OUTPUTS TO THE HURON ......................................35<br />

ADDING ADDITIONAL I/O CARDS .....................................................................................................36<br />

THE HURON SOFTWARE COMPONENTS................................................................................37<br />

HURON SYSTEM TOOLS ....................................................................................................................37<br />

HURON SIMULATION TOOLS .............................................................................................................37<br />

HURON ENGINEERING TOOLS ...........................................................................................................37<br />

HURON PROGRAMMING TOOLS.........................................................................................................38<br />

LAKE SOFTWARE DESIGN SERVICE...................................................................................................38<br />

INSTALLING NEW SOFTWARE COMPONENTS ....................................................................39<br />

GENERAL INSTALLATION ..................................................................................................................39<br />

HURON SOFTWARE VERSION 3.2 ......................................................................................................39<br />

INTRODUCTION TO THE SYSTEM TOOLS .............................................................................41<br />

THE VRACK TOOL.........................................................................................................................43<br />

INTRODUCTION .................................................................................................................................43<br />

FEATURES .........................................................................................................................................43<br />

OPERATION .......................................................................................................................................44<br />

STARTING .........................................................................................................................................44<br />

CHECKING CONFIGURATION .............................................................................................................45<br />

CONFIGURATION FUNCTIONS............................................................................................................46<br />

CONFIGURATION...............................................................................................................................47<br />

LAUNCHING TOOLS...........................................................................................................................47<br />

DISPLAYING, HIDING AND TERMINATING TOOLS..............................................................................48<br />

HURON TECHNICAL MANUAL PAGE 13


TABLE OF CONTENTS<br />

WORKSPACES ...................................................................................................................................48<br />

STOPPING VRACK.............................................................................................................................50<br />

SUMMARY.........................................................................................................................................50<br />

THE PATCH BAY.............................................................................................................................51<br />

INTRODUCTION .................................................................................................................................51<br />

FEATURES .........................................................................................................................................51<br />

OPERATION .......................................................................................................................................51<br />

STARTING .........................................................................................................................................51<br />

PATCHING .........................................................................................................................................52<br />

VALID PATCHING..............................................................................................................................53<br />

UNPATCHING ....................................................................................................................................54<br />

NAMING DSP TOOLS ........................................................................................................................54<br />

SCROLLING .......................................................................................................................................54<br />

SUMMARY.........................................................................................................................................55<br />

THE IO MANAGER .........................................................................................................................57<br />

INTRODUCTION .................................................................................................................................57<br />

FEATURES .........................................................................................................................................57<br />

OPERATION .......................................................................................................................................58<br />

STARTING .........................................................................................................................................58<br />

ADJUSTING VOLUMES.......................................................................................................................59<br />

ADJUSTING INPUT LEVEL GAIN.........................................................................................................59<br />

MUTING AN OUTPUT.........................................................................................................................59<br />

VIEWING DIGITAL INPUT STATUS .....................................................................................................60<br />

SETTING DIGITAL OUTPUT FORMAT .................................................................................................60<br />

GROUPING VOLUME SLIDERS............................................................................................................61<br />

SHOWING CHANNELS IN A GROUP.....................................................................................................61<br />

REMOVING CHANNELS FROM A GROUP.............................................................................................62<br />

SPLITTING CHANNELS.......................................................................................................................62<br />

SPLIT WINDOWS ...............................................................................................................................62<br />

SUMMARY.........................................................................................................................................63<br />

INTRODUCTION TO THE SIMULATION TOOLS ...................................................................65<br />

AN OVERVIEW OF THE SIMULATION TOOLS ......................................................................67<br />

COORDINATE SYSTEMS.....................................................................................................................69<br />

CALIBRATING SPEAKER ARRAYS......................................................................................................71<br />

BINSCAPE .........................................................................................................................................73<br />

FEATURES .........................................................................................................................................73<br />

OPERATION .......................................................................................................................................73<br />

STARTING .........................................................................................................................................74<br />

EDITING THE LISTENER OBJECT (RECEIVER) .....................................................................................74<br />

ADDING AND REMOVING A SOURCE OBJECT.....................................................................................75<br />

EDITING A BINSCAPE OBJECT...........................................................................................................77<br />

ROOM SWITCHING ............................................................................................................................77<br />

CUSTOM ROOM FILTER SPECIFICATIONS...........................................................................................77<br />

CUSTOM HEAD FILTER SPECIFICATIONS ...........................................................................................78<br />

CREATING VALID HEAD AND ROOM FILTER FILES USING MATLAB .................................................78<br />

SUMMARY.........................................................................................................................................78<br />

THE SPACE ARRAY........................................................................................................................79<br />

HURON TECHNICAL MANUAL PAGE 14


TABLE OF CONTENTS<br />

FEATURES .........................................................................................................................................79<br />

OPERATION .......................................................................................................................................79<br />

STARTING .........................................................................................................................................80<br />

THE SPACE ARRAY OBJECT LIST ......................................................................................................80<br />

ADDING AN OBJECT TO THE SPACE ARRAY OBJECT LIST..................................................................81<br />

EDITING AN OBJECT..........................................................................................................................81<br />

REMOVING AN OBJECT......................................................................................................................82<br />

ADJUSTING SOURCE CHARACTERISTICS............................................................................................82<br />

ADDING B-FORMAT INPUT ................................................................................................................83<br />

SETTING MINIMUM SOURCE DISTANCE ............................................................................................83<br />

DEFINING THE SPEAKER ARRAY .......................................................................................................83<br />

Placing the Observer ...................................................................................................................84<br />

Adding speakers...........................................................................................................................84<br />

Placing speakers ..........................................................................................................................84<br />

Inserting speakers ........................................................................................................................85<br />

Deleting speakers.........................................................................................................................85<br />

PRE-CALCULATING SPEAKER ACTIVATIONS .....................................................................................85<br />

ADDING ROOM REVERBERATION......................................................................................................86<br />

MOVING SOUND OBJECTS.................................................................................................................86<br />

DSP USAGE ......................................................................................................................................86<br />

SUMMARY.........................................................................................................................................87<br />

ANISCAPE .........................................................................................................................................89<br />

FEATURES .........................................................................................................................................89<br />

OPERATION .......................................................................................................................................89<br />

THE SOUND FIELD FILTER.........................................................................................................91<br />

FEATURES .........................................................................................................................................91<br />

OPERATION .......................................................................................................................................91<br />

STARTING .........................................................................................................................................91<br />

EDITING THE LISTENER OBJECT (RECEIVER) ....................................................................................92<br />

ADDING AND REMOVING A SOUND OBJECT.......................................................................................93<br />

EDITING A SOUND OBJECT................................................................................................................94<br />

ADDING ROOM REVERBERATION......................................................................................................95<br />

SETTING MINIMUM SOURCE DISTANCE ............................................................................................96<br />

DSP USAGE ......................................................................................................................................96<br />

SUMMARY.........................................................................................................................................96<br />

THE SPEAKER DECODER ............................................................................................................97<br />

FEATURES .........................................................................................................................................97<br />

OPERATION .......................................................................................................................................97<br />

STARTING .........................................................................................................................................97<br />

ADDING, INSERTING, REMOVING AND EDITING A SPEAKER..............................................................98<br />

ADDING AND EDITING A LISTENER ...................................................................................................99<br />

TESTING SPEAKERS...........................................................................................................................99<br />

RESTORING A SPEAKER ARRAY ........................................................................................................99<br />

DSP USAGE ....................................................................................................................................100<br />

SUMMARY.......................................................................................................................................100<br />

THE BINAURAL DECODER........................................................................................................101<br />

FEATURES .......................................................................................................................................101<br />

OPERATION .....................................................................................................................................101<br />

HURON TECHNICAL MANUAL PAGE 15


TABLE OF CONTENTS<br />

STARTING .......................................................................................................................................101<br />

ALTERING GAIN..............................................................................................................................102<br />

SPECIFYING, CHANGING AND DELETING THE CHANNEL ANGLE .....................................................102<br />

SELECTING AND CHANGING A HEAD RELATED TRANSFER FUNCTION (HRTF) ..............................103<br />

SELECTING HEADPHONES ...............................................................................................................103<br />

DSP USAGE ....................................................................................................................................103<br />

SUMMARY.......................................................................................................................................104<br />

MULTISCAPE.................................................................................................................................105<br />

FEATURES .......................................................................................................................................105<br />

OPERATION .....................................................................................................................................105<br />

STARTING .......................................................................................................................................106<br />

ADDING EDITING AND REMOVING SOUND OBJECTS .......................................................................106<br />

ADDING A SOUND OBJECT ..............................................................................................................106<br />

EDITING A SOUND OBJECT..............................................................................................................108<br />

REMOVING A SOUND OBJECT..........................................................................................................108<br />

ADDING EDITING AND REMOVING SPEAKER ARRAYS.....................................................................108<br />

ADDING A SPEAKER ARRAY............................................................................................................108<br />

EDITING A SPEAKER ARRAY OBJECT ..............................................................................................110<br />

REMOVING A SPEAKER ARRAY OBJECT ..........................................................................................110<br />

ADDING EDITING AND REMOVING HEADPHONE OBJECTS...............................................................111<br />

EDITING HEADPHONE OBJECTS.......................................................................................................112<br />

REMOVING HEADPHONE OBJECTS ..................................................................................................112<br />

MULTISCAPE ROOMS......................................................................................................................112<br />

ROOM MAP FUNCTION....................................................................................................................113<br />

ADDING ROOMS, DELETING ROOMS ...............................................................................................114<br />

ADDING ROOM PROPERTIES............................................................................................................114<br />

CREATING ROOM SEGMENTS ..........................................................................................................114<br />

ASSOCIATING ROOM PROPERTIES WITH ROOM SEGMENTS .............................................................114<br />

CREATING ASSIGNING AND USING DOORS......................................................................................114<br />

MULTISCAPE SIMULATION OPTIONS...............................................................................................114<br />

NO ROOM SIMULATION ...................................................................................................................115<br />

ROOM SIMULATION.........................................................................................................................115<br />

DOOR SIMULATION .........................................................................................................................115<br />

DSP USAGE ....................................................................................................................................115<br />

SUMMARY.......................................................................................................................................116<br />

HEADSCAPE...................................................................................................................................117<br />

FEATURES .......................................................................................................................................117<br />

OPERATION .....................................................................................................................................117<br />

STARTING .......................................................................................................................................118<br />

SETTING THE ANGLE CHANNEL ......................................................................................................118<br />

ADDING THE ENVIRONMENT RELATED TRANSFER FUNCTIONS (ERTF’S) ......................................118<br />

ADDING, EDITING AND DELETING EARLY IMPULSES ......................................................................119<br />

CONFIGURING HEADSCAPE.............................................................................................................120<br />

SAVING ...........................................................................................................................................120<br />

HEADSCAPE FILES AND THE HEADSCAPE FILE FORMAT .................................................................120<br />

DSP USAGE ....................................................................................................................................121<br />

SUMMARY.......................................................................................................................................122<br />

SONIC ANIMATOR .......................................................................................................................123<br />

FEATURES .......................................................................................................................................123<br />

HURON TECHNICAL MANUAL PAGE 16


TABLE OF CONTENTS<br />

OPERATION .....................................................................................................................................123<br />

STARTING .......................................................................................................................................125<br />

MANIPULATING TRACKS.................................................................................................................128<br />

MANIPULATING TRAJECTORIES.......................................................................................................129<br />

SEQUENCING FUNCTIONS................................................................................................................130<br />

EXTERNAL MTC SYNCHRONISATION .............................................................................................131<br />

USER INTERFACE FEATURES ...........................................................................................................131<br />

DSP USAGE ....................................................................................................................................131<br />

SUMMARY.......................................................................................................................................131<br />

OTHER SIMULATION TOOLS ...................................................................................................133<br />

THE LOCATOR..............................................................................................................................135<br />

FEATURES .......................................................................................................................................135<br />

OPERATION .....................................................................................................................................136<br />

STARTING .......................................................................................................................................136<br />

SETTING A SYMBOL TO REPRESENT A SOUND OBJECT OR LISTENER OBJECT...................................136<br />

MOVING A LISTENER OBJECT OR SOUND OBJECT USING THE LOCATOR CONTROL PANEL..............137<br />

LOCATOR SCRIPTS ..........................................................................................................................137<br />

IMPORTANT INFORMATION CONCERNING THE WRITING OF LOCATOR SCRIPTS: .............................137<br />

LOCATOR COMMANDS ....................................................................................................................138<br />

LOADING AND PLAYING LOCATOR SCRIPTS....................................................................................138<br />

PAUSING AND RESTARTING THE LOCATOR PLAYBACK ...................................................................138<br />

RECORDING SCRIPTS.......................................................................................................................138<br />

SUMMARY.......................................................................................................................................139<br />

THE WAVEPLAYER-2..................................................................................................................141<br />

FEATURES .......................................................................................................................................141<br />

REQUIREMENTS...............................................................................................................................141<br />

HARDWARE CONNECTION...............................................................................................................142<br />

DRIVER INSTALLATION ...................................................................................................................142<br />

OPERATION .....................................................................................................................................142<br />

STARTING .......................................................................................................................................144<br />

SETTING THE SYSTEM SAMPLE RATE..............................................................................................144<br />

SYSTEM LATENCY...........................................................................................................................144<br />

SETTING CLOCK SYNCHRONISATION ..............................................................................................144<br />

WAVEPLAYER-2 AUDIO OUTPUTS IN THE HURON PATCHBAY........................................................145<br />

CONTROLLING WAVEPLAYER-2 .....................................................................................................145<br />

OPTIMISING SYSTEM PERFORMANCE ..............................................................................................146<br />

SUMMARY.......................................................................................................................................146<br />

THE WAVEPLAYER .....................................................................................................................147<br />

FEATURES .......................................................................................................................................147<br />

OPERATION .....................................................................................................................................147<br />

STARTING .......................................................................................................................................148<br />

CONFIGURING VOICES ....................................................................................................................148<br />

LOADING, PLAYING, STOPPING AND CONTROLLING WAVEPLAYER ...............................................148<br />

SUMMARY.......................................................................................................................................149<br />

MAKE ROOM .................................................................................................................................151<br />

FEATURES .......................................................................................................................................151<br />

OPERATION .....................................................................................................................................152<br />

STARTING .......................................................................................................................................152<br />

HURON TECHNICAL MANUAL PAGE 17


TABLE OF CONTENTS<br />

SAVING A MAKE ROOM SETUP .......................................................................................................157<br />

RESTORING A MAKE ROOM SETUP..................................................................................................157<br />

SUMMARY.......................................................................................................................................157<br />

SPATIAL NETWORK AUDIO PROTOCOL (<strong>SNAP</strong>)................................................................159<br />

INTEGRATION UNDER 32 BIT WINDOWS..........................................................................................159<br />

INTEGRATION UNDER UNIX.............................................................................................................159<br />

API .................................................................................................................................................159<br />

INITIALISATION...............................................................................................................................160<br />

<strong>SNAP</strong> COMMANDS .........................................................................................................................160<br />

General VRack Commands........................................................................................................160<br />

Positional Commands ................................................................................................................161<br />

AniScape Commands .................................................................................................................162<br />

MultiScape Commands ..............................................................................................................165<br />

Space Array Commands.............................................................................................................167<br />

VMixer Commands.....................................................................................................................169<br />

WavePlayer-2 Commands..........................................................................................................171<br />

WavePlayer Commands .............................................................................................................174<br />

COMMAND REFERENCE............................................................................................................177<br />

LOCATOR COMMANDS ....................................................................................................................178<br />

INTRODUCTION TO THE ENGINEERING TOOLS...............................................................183<br />

THE CONVOLVER TOOL............................................................................................................185<br />

INTRODUCTION ...............................................................................................................................185<br />

FEATURES .......................................................................................................................................185<br />

OVERVIEW OF THE CONVOLVER SETUP ..........................................................................................185<br />

OPERATION .....................................................................................................................................187<br />

STARTING AND SAVING...................................................................................................................187<br />

SELECTING THE FILTER...................................................................................................................187<br />

CREATING PROGRAMS ....................................................................................................................188<br />

INPUTS, OUTPUTS, MIXING AND PATCHING....................................................................................190<br />

INPUT AND OUTPUT LEVEL METERING ...........................................................................................191<br />

FAST SWITCHING WITH PRE-LOADED FILTER COEFFICIENTS...........................................................191<br />

SUMMARY.......................................................................................................................................192<br />

THE 96KHZ CONVOLVER TOOL..............................................................................................193<br />

INTRODUCTION ...............................................................................................................................193<br />

96KHZ CONVOLVER HARDWARE REQUIREMENTS ..........................................................................193<br />

96KHZ FILTERS...............................................................................................................................194<br />

PATCHING THE 96KHZ CONVOLVER ...............................................................................................195<br />

LOADING THE 96KHZ CONVOLVER.................................................................................................195<br />

THE MEASUREMENT TOOL......................................................................................................197<br />

INTRODUCTION ...............................................................................................................................197<br />

FEATURES .......................................................................................................................................197<br />

OPERATION .....................................................................................................................................197<br />

STARTING .......................................................................................................................................198<br />

SELECTING THE TEST SIGNAL .........................................................................................................198<br />

GENERATING THE OUTPUT SIGNAL.................................................................................................198<br />

INPUTS ............................................................................................................................................199<br />

SUM MULTIPLIER............................................................................................................................199<br />

HURON TECHNICAL MANUAL PAGE 18


TABLE OF CONTENTS<br />

DC BLOCK......................................................................................................................................199<br />

SELECTING THE OUTPUT FILE .........................................................................................................200<br />

RUNNING THE MEASUREMENT........................................................................................................200<br />

LEVEL METERING ...........................................................................................................................200<br />

GENERATING TEST SIGNALS ...........................................................................................................201<br />

NOTES ON TEST SIGNALS................................................................................................................201<br />

SIGNAL GENERATION VIA MATLAB SCRIPTS ..................................................................................202<br />

SUMMARY.......................................................................................................................................203<br />

THE 96KHZ MEASUREMENT TOOL........................................................................................205<br />

INTRODUCTION ...............................................................................................................................205<br />

96KHZ MEASUREMENT TOOL’S HARDWARE REQUIREMENTS ........................................................205<br />

PATCHING THE 96KHZ MEASUREMENT TOOL.................................................................................206<br />

LOADING THE 96KHZ MEASUREMENT TOOL ..................................................................................207<br />

INTRODUCTION TO THE SIM TOOLS....................................................................................209<br />

THE SIM FILE FORMAT .............................................................................................................211<br />

DATA FORMATS..............................................................................................................................211<br />

THE SIMWIN TOOL......................................................................................................................213<br />

INTRODUCTION ...............................................................................................................................213<br />

OPERATION .....................................................................................................................................213<br />

STARTING .......................................................................................................................................213<br />

SELECTING AND EXECUTING A FUNCTION ......................................................................................214<br />

SIMWIN — DFILTER TOOL .......................................................................................................215<br />

DFILTER WINDOWS INTERFACE ......................................................................................................215<br />

SIMWIN — LVEC TOOL..............................................................................................................217<br />

LVEC WINDOWS INTERFACE ...........................................................................................................217<br />

SIMWIN — PADVEC TOOL ........................................................................................................219<br />

PADVEC WINDOWS INTERFACE.......................................................................................................219<br />

SIMWIN — CUTVEC TOOL ........................................................................................................221<br />

CUTVEC WINDOWS INTERFACE.......................................................................................................221<br />

SIMWIN — PERMUTE TOOL.....................................................................................................223<br />

PERMUTE WINDOWS INTERFACE.....................................................................................................223<br />

SIMWIN — WINGEN TOOL........................................................................................................225<br />

WINGEN WINDOWS INTERFACE ......................................................................................................225<br />

SIMWIN — SIGGEN TOOL .........................................................................................................227<br />

SIGGEN WINDOWS INTERFACE .......................................................................................................227<br />

SIMWIN — VECTOR ARITHMETIC TOOL ............................................................................231<br />

VECTOR ARITHMETIC WINDOWS INTERFACE..................................................................................231<br />

THE PLOTWSIM TOOL ...............................................................................................................233<br />

INTRODUCTION ...............................................................................................................................233<br />

FEATURES .......................................................................................................................................233<br />

OPERATION .....................................................................................................................................233<br />

HURON TECHNICAL MANUAL PAGE 19


TABLE OF CONTENTS<br />

READING SIM FILES .......................................................................................................................234<br />

PRINTING ........................................................................................................................................235<br />

COPYING THE GRAPH TO THE CLIPBOARD........................................................................................236<br />

VIEWING THE DATA........................................................................................................................236<br />

ALTERING THE AXES.......................................................................................................................237<br />

SUMMARY.......................................................................................................................................239<br />

THE SIMSCALE TOOL.................................................................................................................241<br />

INTRODUCTION ...............................................................................................................................241<br />

FEATURES .......................................................................................................................................241<br />

OPERATION .....................................................................................................................................241<br />

SUMMARY.......................................................................................................................................242<br />

WAVTOSIM ....................................................................................................................................243<br />

USAGE ............................................................................................................................................243<br />

SIMTOWAV ....................................................................................................................................245<br />

USAGE ............................................................................................................................................245<br />

FREQUENCY RESPONSES FOR WINDOW FUNCTIONS — SIMTOOLS APPENDIX 1 247<br />

INTRODUCTION ...............................................................................................................................247<br />

UNIFORM WINDOW.........................................................................................................................247<br />

BARTLETT WINDOW .......................................................................................................................247<br />

VON HANN WINDOW ......................................................................................................................247<br />

HAMMING WINDOW........................................................................................................................248<br />

BLACKMAN WINDOW .....................................................................................................................248<br />

HARRIS WINDOW............................................................................................................................248<br />

BLACKMAN-HARRIS WINDOW........................................................................................................249<br />

INTRODUCTION TO THE PROGRAMMING TOOLS ...........................................................251<br />

INTRODUCTION TO EQUALISATION TOOLS......................................................................253<br />

FEATURES .......................................................................................................................................253<br />

APPLICATIONS ................................................................................................................................253<br />

OPERATION .....................................................................................................................................254<br />

STARTING LAKE EQ........................................................................................................................254<br />

DESCRIPTION OF THE EQ INTERFACE..............................................................................................254<br />

CREATING AN EQ CANVASS ...........................................................................................................256<br />

LOADING EQ CANVASSES ..............................................................................................................257<br />

CLICKING AND DROPPING SLIDER WIDGETS...................................................................................257<br />

CALCULATING THE EQUALISATION CURVE.....................................................................................260<br />

BYPASS THE EQUALISATION CURVE ...............................................................................................260<br />

SETTING THE EQ FILTER LENGTH...................................................................................................260<br />

LOCKING SLIDERS...........................................................................................................................261<br />

MODIFYING OVERALL CUT/BOOST.................................................................................................262<br />

ZOOMING IN AND OUT ....................................................................................................................262<br />

SAVING ...........................................................................................................................................263<br />

LIMITS ............................................................................................................................................264<br />

PHASE CONSIDERATIONS ................................................................................................................264<br />

EXPORTING AND IMPORTING EQUALISATION DATA........................................................................265<br />

STOPPING EQ..................................................................................................................................265<br />

SUMMARY.......................................................................................................................................265<br />

HURON TECHNICAL MANUAL PAGE 20


TABLE OF CONTENTS<br />

THE 96KHZ EQ ..............................................................................................................................267<br />

INTRODUCTION ...............................................................................................................................267<br />

96KHZ EQ HARDWARE REQUIREMENTS.........................................................................................267<br />

96KHZ FILTERS...............................................................................................................................268<br />

PATCHING EQ 96KHZ.....................................................................................................................268<br />

LOADING EQ 96KHZ ......................................................................................................................269<br />

OTHER TOOLS ..............................................................................................................................271<br />

THE VMIXER .................................................................................................................................273<br />

FEATURES .......................................................................................................................................273<br />

OPERATION .....................................................................................................................................273<br />

STARTING .......................................................................................................................................274<br />

OPENING AND SAVING SETTINGS....................................................................................................274<br />

RESIZING.........................................................................................................................................274<br />

LABELLING CHANNELS ...................................................................................................................275<br />

ROUTING AUDIO .............................................................................................................................275<br />

ADJUSTING LEVEL ..........................................................................................................................276<br />

GROUPING LEVEL CONTROLS .........................................................................................................276<br />

MUTING ..........................................................................................................................................277<br />

DISPLAYING LEVEL METERS...........................................................................................................277<br />

EXITING VMIXER............................................................................................................................277<br />

DSP USAGE ....................................................................................................................................277<br />

CONTROLLING VMIXER REMOTELY ...............................................................................................278<br />

SUMMARY.......................................................................................................................................278<br />

ABSWITCHER................................................................................................................................279<br />

OPERATION .....................................................................................................................................279<br />

STARTING .......................................................................................................................................279<br />

SELECTING AN OUTPUT PAIR ..........................................................................................................279<br />

DISPLAYING METERS......................................................................................................................280<br />

EXITING AB SWITCHER ..................................................................................................................280<br />

SUMMARY.......................................................................................................................................280<br />

BFORMAT MIXER ........................................................................................................................281<br />

OPERATION .....................................................................................................................................281<br />

STARTING .......................................................................................................................................281<br />

ALTERING GAIN LEVELS.................................................................................................................281<br />

ALTERING THE XYZ BALANCE.......................................................................................................282<br />

ALTERING THE AZIMUTH ................................................................................................................282<br />

ALTERING THE ELEVATION.............................................................................................................282<br />

VIEWING BFORMAT MIXER METERING ..........................................................................................282<br />

SUMMARY.......................................................................................................................................283<br />

I/O TEST AND I/O 96K TEST.......................................................................................................285<br />

OPERATION .....................................................................................................................................285<br />

STARTING .......................................................................................................................................285<br />

I/O TEST PATCHING........................................................................................................................286<br />

SELECTING THE FORMAT OF RESULTS.............................................................................................286<br />

TESTING SIGNAL TO NOISE RATIOS ................................................................................................287<br />

TESTING I/O’S FOR DEVIATION FROM NORMAL FREQUENCY CHARACTERISTICS............................287<br />

SUMMARY.......................................................................................................................................288<br />

HURON TECHNICAL MANUAL PAGE 21


TABLE OF CONTENTS<br />

HURON TECHNICAL REFERENCE..........................................................................................289<br />

DATA FORMATS AND SCALING CONSIDERATIONS.........................................................291<br />

FIXED POINT DIGITAL AUDIO DATA REPRESENTATION ..................................................................291<br />

FINITE IMPULSE RESPONSE FILTER (FIR) COEFFICIENT SCALING...................................................291<br />

HURON TECHNICAL SPECIFICATIONS ................................................................................295<br />

PERFORMANCE PLOTS.....................................................................................................................295<br />

MECHANICAL SPECIFICATIONS .......................................................................................................298<br />

AUDIO OUT CONNECTOR (MALE) ....................................................................................................298<br />

AUDIO IN CONNECTOR (FEMALE) ....................................................................................................298<br />

D-62 CONNECTOR SPECIFICATIONS ................................................................................................299<br />

MANAGING AUDIO SIGNAL LEVELS FOR OPTIMUM NOISE PERFORMANCE ........301<br />

AUDIO INPUT LEVELS .....................................................................................................................301<br />

AUDIO OUTPUT LEVELS..................................................................................................................302<br />

CONNECTING OUTPUTS TO A POWER AMPLIFIER WITH GAIN CONTROL..........................................303<br />

GLOSSARY......................................................................................................................................305<br />

APPENDIX I: AUTO-STARTING THE HURON ON POWER-UP. ........................................311<br />

VRACK AUTOSTART .......................................................................................................................311<br />

HURON TECHNICAL MANUAL PAGE 22


Introduction to the <strong>Huron</strong><br />

Thank you for purchasing the <strong>Huron</strong> Digital Audio Convolution<br />

Workstation.<br />

This manual is organised in sections each of which focus on<br />

specific software packages purchased with your system. The<br />

<strong>Huron</strong> software and hardware have been preinstalled in your<br />

system, however, we recommend reading the following<br />

“Introduction to <strong>Huron</strong>” to familiarise yourself with the<br />

installation and upgrading of <strong>Huron</strong> software and hardware.<br />

We also recommend reading the Readme.txt and<br />

Release.txt files found on the CD supplied with your<br />

system, for the latest information concerning the software<br />

release.<br />

HURON TECHNICAL MANUAL PAGE 23


An Overview of the <strong>Huron</strong> Digital<br />

Audio Workstation<br />

Figure 1 — The <strong>Huron</strong> system<br />

The <strong>Huron</strong> Digital Audio Convolution Workstation is an<br />

extremely powerful and modular general purpose signal<br />

processing engine for professional audio systems. It is designed<br />

around a 256 channel digital audio data bus. Interfacing with<br />

this bus are a combination of <strong>Huron</strong> Digital Signal Processing<br />

(DSP) boards and <strong>Huron</strong> Input and Output (I/O) boards. This<br />

specialised hardware is controlled by an industry standard PC<br />

host system.<br />

<strong>Huron</strong> specialises in — but is not limited to — applications<br />

which demand real time convolution, such as complex audio<br />

simulation and virtual reality audio. The <strong>Huron</strong> may be<br />

configured to process applications that require from two<br />

channels to more than 64 channels.<br />

Lake Software provides a simple graphical interface through<br />

which it is possible to run a variety of Lake designed audio<br />

engineering tools. Additionally, Lake provides a C++ Library<br />

interface for custom application programming.<br />

HURON TECHNICAL MANUAL PAGE 25


Features<br />

Applications<br />

Note: Any ISA or PCI card may be<br />

added to <strong>Huron</strong> workstations<br />

• Modular DSP and I/O architecture.<br />

• Internal 256 channel digital audio bus.<br />

• High performance parallel DSP architecture.<br />

INTRODUCTION TO THE HURON<br />

• Massive convolution with zero propagation delay.<br />

• Fast animating convolution.<br />

• General purpose, programmable DSP's, with zero wait state<br />

DRAM for memory intensive applications.<br />

• Professional quality analogue or digital audio interfaces.<br />

• Object oriented programming interface, with dynamic link<br />

libraries and DSP tools.<br />

• TCP/IP control from external workstations such as Silicon<br />

Graphics ® machines.<br />

• Virtual reality audio.<br />

• Animated auralisation, virtual walk-through acoustics.<br />

• Multi-speaker audio presentations.<br />

• Audio simulation and synthesis.<br />

• Room measurement and equalisation.<br />

• Multi-effects for audio post production.<br />

• Forensic audio.<br />

• Integrated sound reinforcement systems.<br />

• Audio workstation network.<br />

HURON TECHNICAL MANUAL PAGE 26


<strong>Huron</strong> Hardware Components<br />

The <strong>Huron</strong> Hardware<br />

The <strong>Huron</strong> is a stand-alone audio workstation which consists of<br />

the following components:<br />

• Chassis: The <strong>Huron</strong> Workstation comes in a chassis painted<br />

to specification. The chassis contains a high quality<br />

industrial power supply, cooling fans with filters, a 3.5 inch<br />

floppy disk drive, a CD-ROM drive and hard disk drives<br />

ordered to the user’s specification.<br />

• <strong>Huron</strong> Backplane: The standard <strong>Huron</strong> backplane contains<br />

four PCI bus connectors, seven ISA bus connectors, a dual<br />

PCI-ISA edge connector and seven 256 channel <strong>Huron</strong> bus<br />

connectors. The <strong>Huron</strong> 20 backplane consists of sixteen 16<br />

bit ISA bus connectors, two 32 bit PCI connectors, a Dual<br />

PCI-ISA edge connector and sixteen 256 channel <strong>Huron</strong> bus<br />

connectors.<br />

• Single Board IBM PC Compatible Computer with<br />

Embedded Video and an Ethernet Network Card, supporting<br />

RJ-45 and Coaxial BNC connectors.<br />

The <strong>Huron</strong> also consists of a user specified number of:<br />

• DSP Cards: The Lake Technology Card contains four<br />

Motorola® 56002 DSP processors, and Lake proprietary<br />

circuitry.<br />

• ADAT I/O cards: The ADAT I/O card has three ADAT<br />

optical input and output connectors providing a total of 24<br />

channels of digital I/O.<br />

• I/O carrier cards: The I/O carrier card has connectors to<br />

support up to 8 plug-in modules. It interfaces the I/O<br />

modules to the <strong>Huron</strong> bus.<br />

• 16 bit dual channel A/D Module.<br />

• 18 bit dual channel D/A Module.<br />

• AES/EBU Synchronous Digital Input Module.<br />

• AES/EBU Asynchronous Digital Input Module.<br />

• AES/EBU Digital Output Module.<br />

• 16 channel Patch Panel.<br />

• RME Hammerfall card for WavePlayer-2. This card<br />

provides 24 channels of ADAT optical I/O for interfacing<br />

with <strong>Huron</strong> ADAT I/O cards and other third party digital<br />

audio equipment.<br />

HURON TECHNICAL MANUAL PAGE 27


INTRODUCTION TO THE HURON<br />

• Optional ISA cards. Any ISA bus card may be optionally<br />

incorporated into the <strong>Huron</strong> system.<br />

• Optional PCI cards. Any PCI cards may be optionally<br />

incorporated into the <strong>Huron</strong> system.<br />

The following diagrams illustrate the <strong>Huron</strong> chassis (Figure 2<br />

and Figure 3). The system illustrated has a <strong>Huron</strong> ADAT I/O<br />

card in slot 0, a DSP card in slot 1, an I/O carrier card in slot 2,<br />

and a RME Hammerfall digital audio PCI card for use with the<br />

WavePlayer-2 application.<br />

Figure 2 — Front elevation of the <strong>Huron</strong>.<br />

1 Reset switch 14 Parallel port connector<br />

2 Keyboard lock 15 SVGA port Connector<br />

3 Power indicator 16 Mouse connector<br />

4 Hard disk indicator 17 COM1 connector<br />

5 Keyboard lock indicator 18 Keyboard connector<br />

6 Power switch 19 I/O connector<br />

7 Floppy disk drive 20 <strong>Huron</strong> ADAT I/O connectors<br />

8 CD-ROM Drive 21 Hammerfall SPDIF I/O and ADAT Sync connector<br />

9 Power Supply Unit 22 Hammerfall ADAT1 and ADAT2 I/O connectors<br />

10 Mains inlet 23 Hammerfall ADAT3 I/O connectors<br />

11 Mains outlet 24 Hammerfall Word Clock out connector<br />

12 Ethernet connector 25 Hammerfall Word Clock in connector<br />

13 COM2 connector<br />

HURON TECHNICAL MANUAL PAGE 28


↓ Setting up the Hardware<br />

Starting the <strong>Huron</strong><br />

↓ To start the <strong>Huron</strong> workstation<br />

(see Figure 3)<br />

Figure 3 — Rear elevation of the <strong>Huron</strong>.<br />

INTRODUCTION TO THE HURON<br />

You will need the following hardware before you can use the<br />

<strong>Huron</strong>:<br />

• 1 PS2 keyboard or AT keyboard with PS2 adaptor plug.<br />

• 1 PS2 Microsoft mouse (or compatible).<br />

• 1 SVGA screen with IEC mains extension lead.<br />

• 1 IEC mains lead.<br />

1. Connect the keyboard cable (with the adaptor if required) to<br />

the keyboard socket (18).<br />

2. Connect the mouse cable to the mouse socket (16).<br />

3. Connect the SVGA cable to the SVGA port (15).<br />

4. Plug the mains extension lead into the mains outlet of <strong>Huron</strong><br />

5. 11) and the mains inlet of the SVGA screen.<br />

6. Plug the mains cable into the <strong>Huron</strong> mains inlet (10).<br />

7. Unlock the front panel drive bay with the key provided. The<br />

disk drive and CD ROM drive should be empty.<br />

8. Turn on the SVGA screen then turn the power switch on.<br />

After an initial boot process, log onto Windows 2000.<br />

HURON TECHNICAL MANUAL PAGE 29


Installing New Hardware Components<br />

Note: Always observe anti-static<br />

precautions when handling electronic<br />

equipment.<br />

↓ Installing new DSP or I/O cards<br />

↓ Installing new I/O modules<br />

INTRODUCTION TO THE HURON<br />

New <strong>Huron</strong> cards and modules can be purchased to expand the<br />

capability of <strong>Huron</strong>. Qualified service personnel should<br />

perform the installation of these cards or modules.<br />

These guidelines should be followed when installing new cards:<br />

Addition and removal of all cards should only be attempted<br />

when the power to the <strong>Huron</strong> system is off. When installing a<br />

<strong>Huron</strong> ADAT I/O card, this should be installed in slot 0 (the<br />

leftmost slot when viewing the <strong>Huron</strong> from the front). When<br />

installing a new DSP or I/O carrier card, install it in the slot<br />

directly next to the last <strong>Huron</strong> DSP or I/O card. There should<br />

be no vacant slots between <strong>Huron</strong> DSP and I/O cards.<br />

Addition and removal of all modules should only be attempted<br />

when the power to the <strong>Huron</strong> system is off. When installing<br />

new I/O modules onto a <strong>Huron</strong> I/O carrier card, the position and<br />

orientation of the modules is very important. Input modules are<br />

always populated in module 8 first, followed by module 7, and<br />

so on. Output modules are always populated in module 1 first,<br />

followed by module 2, and so on. When inserting a new input<br />

module insert it in the highest available slot number. When<br />

inserting a new output module, insert it in the lowest available<br />

slot number. Always be careful to ensure the correct orientation<br />

of any modules. The orientation shown in Figure 4 must be<br />

adhered to for all modules. Special attention must also be paid<br />

to ensuring the module connector pins mate perfectly with the<br />

I/O base card connectors. Incorrect insertion of the modules<br />

could result in damage to the module and/or the workstation.<br />

HURON TECHNICAL MANUAL PAGE 30


Installing AT Add-In Cards<br />

If the <strong>Huron</strong> System does not work<br />

after the installation of an ISA card.<br />

↓ Check the following settings<br />

Figure 4 — Correct orientation of I/O module during installation<br />

INTRODUCTION TO THE HURON<br />

The <strong>Huron</strong> system is an AT compatible computing system.<br />

Standard ISA and PCI cards can be added to the system and<br />

configured for correct operation. The installation manuals for<br />

any add-in cards should be followed carefully to ensure their<br />

correct operation in the system.<br />

If the <strong>Huron</strong> system does not work after adding an AT<br />

compatible card to the system you should check the<br />

configuration of <strong>Huron</strong> and the add-in card. The most common<br />

problem is a conflict between an I/O ROM of an ISA add-in<br />

card and the address space used by the <strong>Huron</strong> system.<br />

• The <strong>Huron</strong> system has a floppy controller built in to the<br />

single board computer. Some SCSI cards have a floppy disk<br />

drive controller included. This additional SCSI drive<br />

controller should be disabled.<br />

• Check the base address of any RAM or I/O ROM on the AT<br />

add-in card. Some typical default base addresses for add in<br />

cards are 0xC800 for ethernet cards and 0xDC00 for SCSI<br />

cards.<br />

If you determine that the base addresses for the <strong>Huron</strong> system<br />

and the new add-in card overlap, then you must change one of<br />

the base addresses. Either follow the instructions in the<br />

installation manual of the new add-in card or change the <strong>Huron</strong><br />

base address as explained below.<br />

HURON TECHNICAL MANUAL PAGE 31


↓ To change the ISA memory<br />

address of the <strong>Huron</strong><br />

↓ To edit the registry settings<br />

INTRODUCTION TO THE HURON<br />

Altering the ISA base memory address of the <strong>Huron</strong> is a two<br />

stage process, it requires that:<br />

1. The Jumpers on the DSP card and I/O card are set to a new<br />

address.<br />

2. The <strong>Huron</strong> Windows 2000 Registry settings are altered to<br />

refer to the changed addresses.<br />

• Adjust the jumpers on the DSP card.<br />

JP2 is located on the bottom left hand corner of the DSP card.<br />

The base address can be located on any 0x0200 boundary, but<br />

should be confined to 0xD000-0xDE00 for AT compatible<br />

systems. The most significant 7 bits of the base address are set<br />

by JP2, with the most significant bit (MSB) on the bottom of<br />

the jumper block. When no jumper is installed on a bit position<br />

a logical “1” is set, while an installed jumper denotes a logical<br />

“0”.<br />

Below is a diagram of the jumper setting for the DSP card<br />

default base address of 0xD000. If you have any other cards in<br />

your computer, ensure they do not access the same address<br />

space as the <strong>Huron</strong>.<br />

Figure 5 — DSP card Jumper 2<br />

• Set the I/O carrier card to the same address as the DSP Card<br />

using JP 1 on the I/O carrier card.<br />

Below is a diagram of the I/O card jumper settings for the<br />

default base address of 0xD000.<br />

Figure 6 — I/O card Jumper 1<br />

After the <strong>Huron</strong> hardware base address has been changed, the<br />

<strong>Huron</strong> Windows 2000 Registry settings need to be edited to<br />

match this new base address.<br />

1. From the Windows 2000 Start Menu select Run.<br />

2. At the prompt type Regedit or Regedt32.<br />

3. Browse to the Registry Key<br />

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl<br />

Set\Services\lakekrnl\Parameters<br />

HURON TECHNICAL MANUAL PAGE 32


INTRODUCTION TO THE HURON<br />

4. Edit the IoMemoryMapBase value to the new values<br />

previously set on the card.<br />

5. Eg. 0xd0000 (the default address)<br />

HURON TECHNICAL MANUAL PAGE 33


↓ Connecting with the patch panel<br />

Connecting Audio Inputs and<br />

Outputs to the <strong>Huron</strong><br />

Audio inputs and outputs are connected to the <strong>Huron</strong> system via<br />

1U 19” rack-mount patch panels or ADAT optical connectors<br />

located on the <strong>Huron</strong> ADAT I/O card.<br />

Each patch panel is wired with 16 XLR connectors and one D62<br />

male connector. The gender of the XLR connectors used is<br />

tailored to the configuration of the I/O card with which the<br />

panel is intended to mate. Male connectors are used for outputs<br />

and female connectors are used for inputs. A typical example is<br />

shown in Figure 7. This panel is to mate with an I/O card with<br />

1-4 output modules and 1-4 input modules.<br />

Each IO module in the <strong>Huron</strong> will consume 2 input or output<br />

points on the patch panel regardless of whether they are<br />

analogue or digital.<br />

An analogue IO will output or take as input both left and right<br />

channels through two points on the connector panel, requiring<br />

two XLR connectors. For the example below these are<br />

represented by output points 1 and 2 and input points 13 and 14.<br />

A digital IO will output or take inputs for both the left and right<br />

channels though a single point on the connector panel, requiring<br />

only a single XLR connection. The input or output to the<br />

digital IO should be on the odd numbered connector. In the<br />

example below this is represented by the digital input 15 (the<br />

number 16 point is skipped or ignored).<br />

Figure 7 — The relationship between software and physical patch points<br />

HURON TECHNICAL MANUAL PAGE 35


↓ Connecting ADAT I/O<br />

Adding Additional I/O Cards<br />

INTRODUCTION TO THE HURON<br />

Each ADAT connection on the <strong>Huron</strong> ADAT I/O card (shown<br />

in Figure 3) carries 8 channels of digital audio data via optical<br />

TOSLINK connectors. When viewing the <strong>Huron</strong> from the rear,<br />

the first (top), third and fifth connectors are for audio inputs 1-<br />

8, 9-16, and 17-24 respectively, and the second, fourth and sixth<br />

(bottom) connectors are for audio outputs 1-8, 9-16, and 17-24<br />

respectively.<br />

If a second I/O carrier card is installed in the system of Figure 7<br />

its channels would be numbered from 17 to 32. To determine<br />

which physical patch panel inputs and outputs belong to those<br />

shown in the configuration window, the configuration numbers<br />

should be converted to modulo 16.<br />

For further information regarding the pin outs of the patch panel<br />

connectors see <strong>Huron</strong> Hardware Specifications.<br />

HURON TECHNICAL MANUAL PAGE 36


<strong>Huron</strong> System Tools<br />

<strong>Huron</strong> Simulation Tools<br />

<strong>Huron</strong> Engineering Tools<br />

The <strong>Huron</strong> Software Components<br />

<strong>Huron</strong> software is distributed in the following packages.<br />

The <strong>Huron</strong> System Tools package forms the basis of the <strong>Huron</strong><br />

system software. Central to the System Tools is the virtual rack<br />

or VRack. The VRack provides a standard interface through<br />

which users are able to load various signal processing<br />

applications. The System Tools also include a Patch Bay for<br />

connecting application modules and physical inputs and<br />

outputs, and an Input Output Manager for controlling gain and<br />

the configuration of hardware.<br />

Lake Technology’s simulation tools are designed for use in<br />

audio simulations. Designed to complement Virtual Reality<br />

applications, the simulation tools can be chosen for either arrays<br />

of speakers or headphones. Tools such as Space Array and<br />

Binscape are provided as an interface through which sound<br />

sources and virtual Soundscapes may be controlled via TCP/IP.<br />

Additional tools provide access to sound playback and effects<br />

such as speaker panning.<br />

The <strong>Huron</strong> Engineering Tools are designed for audio research<br />

purposes. Applications include: a Convolver which allows the<br />

use of long low latency Finite Impulse Response (FIR) filters; a<br />

Measurement tool which provides a means of recording the<br />

impulse response of linear systems (such as audio processors<br />

and large acoustic spaces); and a set of tools for plotting<br />

generating and formatting data files in the SIM file format used<br />

by all Lake software.<br />

HURON TECHNICAL MANUAL PAGE 37


<strong>Huron</strong> Programming Tools<br />

Lake Software Design Service<br />

INTRODUCTION TO THE HURON<br />

Lake provides the Programming Tools for customers who wish<br />

to design their own specific DSP and application programs. A<br />

C++ DSP Programmers Library is provided, allowing<br />

customers to develop their own DSP algorithms and<br />

applications on the <strong>Huron</strong> platform. Alternatively, C++ classes<br />

are provided which enable application programmers to<br />

incorporate Lake developed algorithms into custom-built<br />

applications. Version 3.2 of the programming tools includes a<br />

Matlab® interface which enables Matlab 5.2 or 5.3 (32 bit<br />

versions) users to compose and run scripts which utilise the<br />

<strong>Huron</strong> hardware for the Measurement and Convolution of audio<br />

data.<br />

Lake also offers a design contract service to build specific<br />

<strong>Huron</strong> applications to meet customer requirements. Contact<br />

Lake Technology for more information on custom designed<br />

software.<br />

HURON TECHNICAL MANUAL PAGE 38


General Installation<br />

↓ To install the <strong>Huron</strong> license<br />

↓ To install <strong>Huron</strong> VRack<br />

software.<br />

<strong>Huron</strong> Software Version 3.2<br />

Installing New Software Components<br />

Software components for the <strong>Huron</strong> come on a CD. Along with<br />

the CD is a licence floppy disk, which “enables” the software<br />

components you have purchased.<br />

Each of the software components supplied for <strong>Huron</strong> are<br />

installed from Windows 2000 in the same way: the order of<br />

installation must be the Software Licence first, the <strong>Huron</strong><br />

Software second, and any upgrades or patches last.<br />

1. Start Windows 2000<br />

2. Insert the Licence diskette into drive A:\<br />

3. Click the Start button, then select Run…. When the Run<br />

dialogue box appears, enter A:\setup where, A:\ is the drive<br />

letter of the Floppy Disk Drive.<br />

Follow the on screen instructions to complete the license<br />

installation.<br />

1. Start Windows 2000<br />

2. Insert the Installation CD in the CD-ROM drive.<br />

3. Click the Start button, then select Run…. When the Run<br />

dialogue box appears, enter [CD]:\setup where [CD] is the<br />

drive letter of your CD-ROM drive.<br />

4. Click OK.<br />

Follow the instructions that appear on the screen.<br />

The <strong>Huron</strong> Software installation will modify your <strong>Huron</strong>’s<br />

configuration files.<br />

After the installation, the <strong>Huron</strong> needs to be restarted for these<br />

changes to take effect. A dialogue box will appear to confirm<br />

the restart of the computer.<br />

HURON TECHNICAL MANUAL PAGE 39


↓ Changes to the Windows 2000<br />

Environment<br />

↓ Changes to Path Variable<br />

↓ Update the Windows 2000<br />

Registry<br />

↓ When using Matlab<br />

Programming Tools<br />

INTRODUCTION TO THE HURON<br />

The following environment variable will be added to your<br />

Windows 2000 Environment Variable List if you choose the<br />

default installation directory of C:\<strong>Huron</strong>32.<br />

LAKE-CFG C:\<strong>Huron</strong>32<br />

The following path will be added to your Windows 2000 Path<br />

Environment Variable if you choose the default installation<br />

directory of C:\<strong>Huron</strong>32.<br />

PATH C:\<strong>Huron</strong>32\Bin<br />

The <strong>Huron</strong> 3.2 installation will also update information in the<br />

Windows 2000 Registry.<br />

When using the Matlab programming tools it is important that<br />

the Windows 2000 path environment variable includes the<br />

Matlab binary directory eg. C:\Matlab\Bin<br />

The Matlab application should also include in its path variable<br />

the following:<br />

C:\<strong>Huron</strong>32\Bin<br />

C:\<strong>Huron</strong>32\<strong>Huron</strong>mat<br />

C:\<strong>Huron</strong>32\Examples\Matlab<br />

HURON TECHNICAL MANUAL PAGE 40


Introduction to the System Tools<br />

The System tools serve as the framework for all <strong>Huron</strong> software<br />

applications. They provide a standard interface for:<br />

• Configuring the physical input and output modules;<br />

including the naming of signals, the setting of input and<br />

output volumes and the manipulation of preamplifier gains.<br />

• Digitally connecting these physical inputs and outputs to the<br />

inputs and outputs of DSP application programs.<br />

• Starting and stopping applications, and controlling their onscreen<br />

visibility.<br />

The heart of the system software is the Virtual Rack or VRack.<br />

The VRack provides a graphical user interface based upon the<br />

metaphor of a “19-inch audio rack”. All DSP applications are<br />

available to the user as VRack mountable units. Each of these<br />

units may contain a number of input and output connectors.<br />

To connect the physical inputs and outputs to these DSP<br />

application input and output connectors, the Patch Bay is used.<br />

The Patch Bay provides a mechanism for connecting virtual<br />

cables between input and output points. This patching can<br />

occur between the physical inputs or outputs and DSP<br />

applications, or between DSP applications.<br />

Rather than provide individual volume controls within each<br />

DSP application, the <strong>Huron</strong> System Tools consolidate the<br />

volume controls in the IO Manager. This tool provides a<br />

volume control slider for each physical input or output. A<br />

radio-button control can be used to select the preamplifier gain<br />

for the input channels. When combined, these controls allow<br />

signal levels to be matched to the full-scale of the digital<br />

domain thus maximising the digital signal to noise ratio.<br />

HURON TECHNICAL MANUAL PAGE 41


Introduction<br />

Features<br />

The VRack Tool<br />

The “Virtual rack” or VRack application is the launch point for<br />

Lake Technology’s audio processing software. The VRack is<br />

designed to be analogous with a standard 19” audio rack system<br />

found in professional audio installations. It allows the user to<br />

construct a multitude of signal processing configurations, by<br />

adding virtual rack units to the graphical rack.<br />

The centralisation of controls within the VRack means that all<br />

software tools are accessible from a single interface.<br />

• Provides an interface to manage Lake Technology’s<br />

software tools.<br />

• Checks hardware configuration and allows the setting of<br />

channel names.<br />

• Provides a visual indicator of the total number of DSPs<br />

available in the system, and the current number initialised.<br />

• Allows the saving of the current workspace for subsequent<br />

recall.<br />

HURON TECHNICAL MANUAL PAGE 43


Operation<br />

Starting<br />

↓ To start the VRack tool<br />

Figure 8 — The VRack Interface<br />

THE SYSTEM TOOLS<br />

The VRack tool is started from the Windows 2000 Start Menu.<br />

1. From the Start Menu select <strong>Huron</strong> 3.2.<br />

2. Click on VRack.<br />

After the splash screen appears, the VRack will<br />

start.<br />

At the top of the VRack is the Rack Menu. This menu is used<br />

to select configurations, set various user options and exit the<br />

VRack. The menu is also used for putting new rack units into<br />

the VRack itself.<br />

Menu Item Contains<br />

File Options for saving, loading and naming VRack<br />

workspace configurations.<br />

Options Review the hardware configuration, and adjust the<br />

properties of the VRack.<br />

New Loads the virtual rack modules into the VRack.<br />

In the centre of the VRack are the Rack Spaces. When a DSP<br />

software or engineering application is launched, an icon<br />

representing the program will fill one of the spaces, these icons<br />

are known as Rack Panels.<br />

Each rack panel describes an application using a word and a<br />

symbol. These word/symbol associations are used throughout<br />

the DSP tool suites to allow quick visual identification of<br />

programs and their function. Each panel also has an Indicator<br />

HURON TECHNICAL MANUAL PAGE 44


Checking Configuration<br />

↓ To check configuration<br />

THE SYSTEM TOOLS<br />

LED. This LED is off when the DSP program is hidden but<br />

running off-screen, and set to bright green when the DSP<br />

program window is displayed on the screen.<br />

There are an unlimited number of rack spaces in the VRack. If<br />

many DSP programs are launched the VRack display space may<br />

become full. Once the on screen portion of the VRack is full,<br />

all subsequently launched program panels are placed<br />

underneath those shown in the VRack. To access these panels<br />

use the Rack Space Scrollbar to bring the unseen portion of<br />

the VRack into view.<br />

The DSP Meter at the bottom of the VRack provides a visual<br />

indication of the number of DSPs initialised by the software.<br />

The meter describes what proportion of the DSP processors in<br />

the system are in use. To the right of this ratio is a graphical<br />

meter providing a proportional view of DSP usage.<br />

The VRack may be used to review what Lake hardware is<br />

installed in the system.<br />

From the VRack Menu.<br />

1. Select Options.<br />

2. Select Configure.<br />

This produces the following window:<br />

Figure 9 — The VRack Configuration Panel<br />

The right hand side of the window shows a summary of the<br />

hardware installed on the system.<br />

HURON TECHNICAL MANUAL PAGE 45


Configuration Functions<br />

Internal/External<br />

Sampling Rate<br />

Base Address<br />

No. Boards<br />

DSP Boards<br />

Processors<br />

IO Boards<br />

ADAT Boards<br />

IO Channels<br />

↓ To set the name of a channel<br />

THE SYSTEM TOOLS<br />

The system sampling clock source can be selected from either<br />

the internal system clock, or an external clock derived from a<br />

digital input source. For an external clock to be selected the<br />

system must have the <strong>Huron</strong> ADAT card positioned in slot 0 or<br />

digital inputs on channels 15 and 16. No DSP resources can be<br />

in use while the switch is being made.<br />

The current sampling rate is displayed. If an external clock is<br />

selected, the clock source must be stable when the external<br />

selection is made. This frequency is assumed to never change<br />

after external is selected.<br />

The physical memory address in the PC where the Lake<br />

hardware resides.<br />

The total number of Lake boards installed in the system.<br />

The total number of DSP boards installed in the system.<br />

The total number of DSP processors installed in the system.<br />

The total number of Input/Output (I/O) boards installed in the<br />

system.<br />

The total number of <strong>Huron</strong> ADAT boards installed in the<br />

system.<br />

The total number of physical I/O channels in the system.<br />

The left side of the configuration window contains a listbox<br />

displaying the names of all the physical Input and Output<br />

channels. The first time VRack is run these names will be set to<br />

the factory defaults. The Scrollbar to the right of the listbox can<br />

be used to scroll through this list.<br />

The names of the channels may be set by the user.<br />

• Double click on the channel name which is to be changed.<br />

The following window appears:<br />

Figure 10 — Channel Name Setting<br />

HURON TECHNICAL MANUAL PAGE 46


Tip: Channel Names are saved along<br />

with workspaces (*.WSP) and will be<br />

restored when a workspace is<br />

reloaded.<br />

Configuration<br />

↓ To set VRack to always on top<br />

↓ To restore VRack’s normal -<br />

behaviour<br />

Launching Tools<br />

↓ To launch an application or<br />

DSP tool<br />

Note: It is possible to have more than<br />

one instance of a particular tool in the<br />

VRack at a time, (eg. the Convolver).<br />

If an attempt is made to run more<br />

than one copy of a program which<br />

does not allow multiple instances (eg.<br />

the Patch Bay), VRack will not load<br />

the program into the VRack.<br />

THE SYSTEM TOOLS<br />

• Type a new name into the Name field.<br />

Pressing the OK button will save the new name.<br />

— or —<br />

Pressing Cancel will cancel the name change.<br />

Once a channel has been assigned a name, all software will<br />

show the new name of that channel. The appropriate naming of<br />

channels mapped to physical input and output devices makes<br />

the identification of specific channels or devices within DSP<br />

applications simpler.<br />

• After setting channel names, pressing the OK button in the<br />

Configure Window will keep any new channel names.<br />

Pressing Cancel will restore all channel names to their<br />

previous settings.<br />

The VRack can be configured to always be at the forefront of<br />

the desktop.<br />

From the VRack Menu.<br />

1. Select the Options menu.<br />

2. Click Always on top.<br />

• Repeat the menu selections shown above.<br />

The VRack is used to start all applications or DSP tools.<br />

1. Select New from the Rack menu.<br />

2. Select the tool you require from the set of tool groups which<br />

appear in the drop down menu.<br />

The selected tool will be placed into the VRack interface, where<br />

it can be accessed by a single click.<br />

HURON TECHNICAL MANUAL PAGE 47


Displaying, Hiding and Terminating Tools<br />

↓ To display a DSP tool<br />

↓ To hide a DSP tool<br />

Note: Hiding the tool does not<br />

terminate the DSP tool and its<br />

functions<br />

↓ To terminate a DSP tool and<br />

remove it from the VRack<br />

Workspaces<br />

↓ To save a workspace<br />

THE SYSTEM TOOLS<br />

When a DSP tool is first placed into the VRack, only its rack<br />

panel can be seen. In order to adjust the settings of the tool it<br />

needs to be displayed.<br />

• Click on the tool’s rack panel in VRack.<br />

The window representing the selected DSP tool will appear, and<br />

the Indicator LED on the VRack panel will change to bright<br />

green. This change indicates that the DSP tool is now<br />

displayed.<br />

Either:<br />

• Click on the rack panel of the tool you wish to hide<br />

— or —<br />

Click on the at the top right corner of the DSP tool.<br />

The rack panel’s Indicator LED will darken, and the application<br />

window will be hidden.<br />

1. Display the DSP tool by clicking on its rack panel.<br />

2. Select Close from the DSP tool’s system menu (<br />

top right of the tool).<br />

The tool will terminate, relinquish its DSP resources and<br />

remove itself from the VRack.<br />

at the<br />

The VRack can be made to save the current set of DSP tools,<br />

the current Patch Bay settings, and the Input and Output settings<br />

in the rack space. This enables the VRack to be restarted with<br />

the same configuration as when it was saved. Additionally, the<br />

DSP tools will be restarted in their current state. These save<br />

files are known as workspace files (*.WSP).<br />

From the VRack Menu.<br />

1. Select File.<br />

2. Select Save.<br />

This will save the workspace under the current workspace<br />

name. If no name has been given to the workspace, you will be<br />

prompted with a Save As… dialogue box, See Below.<br />

It is possible to save multiple workspace configurations by<br />

saving each workspace configuration under a new workspace<br />

name.<br />

HURON TECHNICAL MANUAL PAGE 48


↓ To save a workspace under a<br />

new name<br />

↓ To load a saved workspace<br />

THE SYSTEM TOOLS<br />

From The VRack Menu.<br />

1. Select the File Menu.<br />

2. Select Save As…<br />

3. This activates the Save As… dialogue box (see Figure 11),<br />

which allows the creation of a name under which the<br />

workspace file will be saved.<br />

Figure 11 — The VRack Save As dialogue box<br />

4. In the File Name box enter the name you wish to save the<br />

workspace as.<br />

5. Click OK to save the workspace.<br />

The VRack configuration will be disassembled, saved and then<br />

restored from the file.<br />

From the VRack Menu.<br />

1. Select the File Menu.<br />

2. Select Open.<br />

3. Select the required saved workspace from the listbox.<br />

4. Click OK to load the workspace.<br />

Alternatively, you can create a new icon with the saved<br />

workspace file in the command line. After creating this new<br />

icon you can automatically restore all of the DSP and Input and<br />

Output settings in the workspace, by Double clicking on the<br />

shortcut.<br />

The command line required to launch the VRack application<br />

and an associated workspace file is:<br />

C:\<strong>Huron</strong>32\VRack32.exe [drive and path to<br />

wsp file]\[name of wsp file].wsp<br />

HURON TECHNICAL MANUAL PAGE 49


Stopping VRack<br />

↓ To exit the VRack, and<br />

terminate all of the DSP tools<br />

Summary<br />

THE SYSTEM TOOLS<br />

From the VRack Menu<br />

1. Select File.<br />

2. Select Exit.<br />

Each DSP tool will automatically be terminated and the VRack<br />

will close down.<br />

• The VRack is the core Lake Technology software<br />

application. It manages all of the DSP tools, controlling the<br />

starting, display and hiding of each one.<br />

• VRack provides a visual indication of all tools which are<br />

running and the amount of DSP processing power utilised<br />

and available in the current configuration.<br />

• VRack can save the current DSP tool configuration in a<br />

workspace file, allowing the VRack to start up and appear<br />

just as it was, when it was last saved.<br />

HURON TECHNICAL MANUAL PAGE 50


Introduction<br />

Features<br />

Operation<br />

Starting<br />

↓ To restart the Patch Bay<br />

The Patch Bay<br />

The Patch Bay is used to connect or patch audio between<br />

physical inputs and outputs and the Lake Technology<br />

applications. It provides a graphical representation of the<br />

connections between the DSP tools loaded into the VRack and<br />

the physical inputs and outputs present in the system.<br />

• Connects audio signals from physical inputs and outputs to<br />

DSP tools.<br />

• Connects audio signals between DSP tools.<br />

• Provides a graphical representation of all audio connections<br />

in the system.<br />

Figure 12 — The Patch Bay interface<br />

The Patch Bay is loaded automatically when VRack starts.<br />

However, provision exists for the Patch Bay to be reloaded<br />

from the VRack should it terminate due to a system error.<br />

HURON TECHNICAL MANUAL PAGE 51


Patching<br />

↓ To connect a pair of patch<br />

points<br />

↓ To connect multiple patch<br />

points, in series<br />

THE SYSTEM TOOLS<br />

From the VRack Menu.<br />

1. Select the New Menu.<br />

2. Select the Engineering Tools Submenu.<br />

3. Select the Patch Bay icon.<br />

The Patch Bay is divided into smaller areas called patchsets.<br />

Each patchset represents all the inputs and outputs; of a<br />

particular DSP tool, the set of physical inputs or, the set of<br />

physical outputs.<br />

Within each patchset there exists a number of patch points.<br />

Each patch point represents either an input or an output and can<br />

be connected via a graphical patch cable to another patch point.<br />

Patch points are the virtual equivalents of the XLR connectors<br />

found on audio hardware.<br />

Each DSP tool patchset may be assigned a name from the Patch<br />

Bay. This name will appear in the DSP tool name section of<br />

the display.<br />

Scroll pins on the physical input and output patchsets allow the<br />

pinning of the patchset. When a patchset is pinned it will not<br />

scroll when the Patch Bay’s scrollbar is used.<br />

The connection of audio between two patch points is done by<br />

selecting pairs of patch points.<br />

1. Click on the first patch point.<br />

2. The patch point will turn red signifying it has been selected.<br />

3. Click on the second patch point.<br />

If compatible, the two patch points will be connected by a<br />

patch cable.<br />

1. Click on a set of patch points.<br />

The patch points will stay red indicating they are all selected.<br />

2. Click on the first point in the series that you wish to connect<br />

the original patch points to.<br />

The patcher will connect the patch points in series.<br />

Figure 13 — An example of multiple patching<br />

HURON TECHNICAL MANUAL PAGE 52


Valid Patching<br />

↓ To de-select a selected patch<br />

point<br />

THE SYSTEM TOOLS<br />

A valid patch is a patch made between two differing patch point<br />

types, which can be recognised in the patcher:<br />

white)<br />

Legal Patches<br />

From<br />

To<br />

Physical Input DSP tool input<br />

DSP tool output DSP tool input<br />

DSP tool output Physical output<br />

Physical input or DSP tool output (graphical XLR 'pins' are<br />

Physical output or DSP tool input (graphical XLR 'holes'<br />

are black)<br />

When a valid patch has been made, a patch cable is drawn<br />

between the two patch points indicating that they have been<br />

patched together, and both patch points will become black in<br />

colour.<br />

• Click on the red selected patch point a second time.<br />

The patch point will return to its usual colour and a new<br />

selection may be made.<br />

Only the following patches are legal. Attempts to patch illegal<br />

patch points together results in an audible beep being sounded<br />

from the system and the patch request being ignored.<br />

In addition, only some patch points may have more than one<br />

patch cable attached:<br />

Type of Patch Point Allows<br />

DSP input Only one cable attached<br />

Physical output Only one cable attached<br />

DSP output Multiple cables attached<br />

Physical input Multiple cables attached<br />

If a new DSP tool is started, the Patch Bay will automatically<br />

add a new patchset. Conversely, if a DSP tool is stopped, the<br />

patchset will disappear.<br />

Some DSP tools also change their number of inputs and outputs<br />

during the course of their execution. The Patch Bay notices any<br />

changes in DSP tool channels and adjusts itself accordingly.<br />

Sometimes patchpoints will appear as though they are<br />

connected (black) but will not have a patch cable connecting<br />

them to anything. These points are “hidden” and are in use<br />

when the Patch Bay is in an alternate state (this effect can be<br />

seen when switching between Convolver programs that have<br />

different numbers of filters). It is possible to deselect and<br />

HURON TECHNICAL MANUAL PAGE 53


Tip: Even if two patch points are<br />

connected, you may need to adjust<br />

gain settings and other parameters of<br />

the DSP tool before any sound is<br />

actually heard.<br />

Unpatching<br />

↓ To remove a patch cable from a<br />

patch point<br />

Note: If there are multiple patch<br />

cables attached to the patch point that<br />

is double clicked then all patch cables<br />

attached to that patch point are<br />

unpatched and removed.<br />

Naming DSP Tools<br />

↓ To name a DSP tool<br />

Note: The name in the Name section of<br />

a DSP tool will not save multiple<br />

words separated by spaces. To<br />

separate words use an underscore<br />

or<br />

hyphen.<br />

Scrolling<br />

THE SYSTEM TOOLS<br />

repatch these points, however this removes the alternate state<br />

settings.<br />

• Double click on one of the patch points of the patch cable to<br />

be removed. The patch point should not have been<br />

previously selected (ie. not red but black) before double<br />

clicking.<br />

The Patch Bay allows the user to assign a name to each of the<br />

DSP tools currently running. This function can be useful when<br />

more than one of the same DSP tool is loaded into the VRack.<br />

1. Type the new<br />

name into the<br />

DSP tool name<br />

area.<br />

2. Press Enter.<br />

Figure 14 — DSP tool naming<br />

The caption in the DSP tool name area will change.<br />

When there are many patchsets or physical inputs and outputs,<br />

then the Patch Bay window may be scrolled up and down to<br />

bring hidden patchsets into view. Scrolling the window does<br />

not de-select a previously selected patch point. Thus, it is<br />

HURON TECHNICAL MANUAL PAGE 54


↓ To pin a patchset<br />

↓ To unpin a patchset<br />

Summary<br />

THE SYSTEM TOOLS<br />

possible to patch a patch point located at the top of the window<br />

to one at the bottom of the window by selecting the first patch<br />

point, scrolling the window, and then selecting the second patch<br />

point. Scrolling of the window is done using the scrollbar at the<br />

right hand side of the Patch Bay.<br />

The physical input and output patchsets also have a feature<br />

where they may be pinned to the window. When a patchset is<br />

pinned, it does not scroll when the Patch Bay window is<br />

scrolled.<br />

• Click on the pin symbol or<br />

the arrows next to the pin.<br />

The symbol will change to the pinned symbol, and the patchset<br />

will be pinned.<br />

• Click on the pinned symbol or the arrows next to the pinned<br />

symbol.<br />

The symbol will change to the pin symbol and the patchset will<br />

be unpinned.<br />

• The Patch Bay allows the audio patching of DSP tools,<br />

physical inputs and physical outputs, by graphically<br />

selecting two patch points with the mouse.<br />

• Patches are shown on the Patch Bay as lines between patch<br />

points, these lines are known as patch cables.<br />

• The Patch Bay updates itself as DSP tools are started and<br />

stopped.<br />

• DSP tools may be assigned a name using the Patch Bay.<br />

HURON TECHNICAL MANUAL PAGE 55


Introduction<br />

Features<br />

The IO Manager<br />

The IO Manager is used to adjust the gain levels of the system’s<br />

physical analogue inputs and outputs. The IO Manager also<br />

provides status information for the systems digital inputs and<br />

outputs.<br />

• Allows volume adjustments of analogue inputs and outputs.<br />

• Allows the setting of the gain for analogue inputs.<br />

• Provides a graphical overview of all physical analogue<br />

inputs and outputs, their associated volumes and input gain<br />

levels.<br />

• Provides access to the status of digital inputs.<br />

• Allows the mode selection of digital outputs.<br />

HURON TECHNICAL MANUAL PAGE 57


Operation<br />

Starting<br />

↓ To access the IO Manager<br />

Figure 15 — The IO Manager interface<br />

THE SYSTEM TOOLS<br />

The IO Manager is started automatically when VRack is<br />

launched.<br />

• Click on the IO Manager icon from the VRack.<br />

The IO Manager is divided into two areas:<br />

Physical outputs are placed at the top of the window<br />

Physical inputs are placed at the bottom.<br />

Each slider represents a physical Input or Output installed<br />

within the system.<br />

Each slider lists the physical channel number that it controls<br />

and the current volume setting in dB. Additionally, analogue<br />

inputs have pre-amp gain levels which may applied.<br />

HURON TECHNICAL MANUAL PAGE 58


Adjusting Volumes<br />

↓ To adjust the volume of a given<br />

channel<br />

Adjusting Input Level Gain<br />

↓ To adjust the input gain level of<br />

an input channel<br />

Note: The volume and input level<br />

settings are effective throughout the<br />

system, and will be saved when the<br />

current workspace is saved.<br />

Muting an Output<br />

↓ To mute an output channel<br />

↓ To unmute an output channel<br />

↓ To mute all outputs<br />

↓ To unmute all outputs<br />

Either<br />

Figure 16 — Controls for adjusting volume<br />

THE SYSTEM TOOLS<br />

• Click the on the Volume slider bar to select the desired<br />

volume level.<br />

— or —<br />

Drag the Volume slider bar to the desired level.<br />

— or —<br />

Type in a volume level from -30 to +30 dB.<br />

• Click on the desired input gain level.<br />

The current gain level will be set to the level indicated by the<br />

graphical switch.<br />

• Click on the Mute box above the channel to mute.<br />

• Click on the Mute box above the channel which is muted.<br />

• Click Mute All.<br />

• Click the previously selected Mute All.<br />

HURON TECHNICAL MANUAL PAGE 59


Viewing Digital Input Status<br />

↓ To view the status of a digital<br />

input<br />

THE SYSTEM TOOLS<br />

1. Check the colour of the digital input status LED. It will be<br />

green when no input errors are detected, yellow when nonfatal<br />

input errors are detected and red when fatal errors are<br />

detected.<br />

2. Click the LED to activate a status window.<br />

Figure 17 — Digital input status<br />

Lake Technology’s software reports nine error conditions that<br />

may occur on digital input channels.<br />

Error Reported Description<br />

No Error The digital input system is not producing any errors.<br />

Validity bit high The input is working, but audio input is not being<br />

generated (eg. Pause or Stop has been pressed on the<br />

input device).<br />

Confidence lag The input signal has a high rate of noise, or is not of<br />

good quality.<br />

Slipped Sample An uncompensated difference in the sampling rates of<br />

the input device and the DSP machine are causing loss<br />

or duplication of samples.<br />

CRC error Professional inputs only - a CRC error has been<br />

detected in the channel status signal.<br />

Parity Error Parity checking has returned an error.<br />

Bi-Phase coding A signal is being produced on the input, but it does not<br />

have the correct format.<br />

No PLL Lock The line is receiving no signal whatsoever.<br />

Unknown error Error condition unknown.<br />

Setting Digital Output Format<br />

Some digital outputs can be encoded by Lake equipment in<br />

either a professional or consumer format. Each format uses<br />

different codes for the channel status bits placed in the digital<br />

output stream. The digital output from the Lake system should<br />

thus be set in accordance to the format of the equipment<br />

accepting the digital output.<br />

HURON TECHNICAL MANUAL PAGE 60


↓ To set a digital output to<br />

professional or consumer output<br />

Grouping Volume Sliders<br />

↓ To group volume sliders<br />

together<br />

Showing Channels in a Group<br />

↓ To determine if a channel is part<br />

of a group<br />

THE SYSTEM TOOLS<br />

• Click the Pro or Con digital output toggle to select either<br />

Professional format or Consumer format.<br />

The toggle will move to indicate your selection.<br />

Figure 18 – The IO Manager channel manipulation features<br />

1. Click the Channel Number Boxes of all the channels to be<br />

grouped. As each Channel Number box is clicked it will<br />

highlight.<br />

2. Click the Group box.<br />

The Grouped Sliders will all be set to the volume level of the<br />

lowest numbered slider in the group, with inputs having<br />

precedent over outputs.<br />

When grouped, changes to the volume of one slider will affect<br />

all sliders in the group.<br />

1. Click the Channel Number Box of the channel whose<br />

group you wish to determine. The box will highlight.<br />

2. Click the Show Box.<br />

All channels in the same group as the highlighted Channel<br />

Number Box will be highlighted.<br />

HURON TECHNICAL MANUAL PAGE 61


Removing Channels from a Group<br />

↓ To remove channels from a<br />

group<br />

Splitting Channels<br />

↓ To split volume controls to a<br />

new window<br />

Split Windows<br />

↓ To change the name of a split<br />

window<br />

THE SYSTEM TOOLS<br />

1. Click the Channel Number Box of the channels to remove<br />

from a group.<br />

2. Click the Ungroup Box.<br />

Input and output sliders can be cloned from the IO Manager<br />

panel into their own window. This splitting of channels allows<br />

the user to focus on controlling the gain of selected channels.<br />

1. Click the Channel Number Box of the channels to be split.<br />

Each click should highlight a channel.<br />

2. Click the Split Button. All of the channels in the selected<br />

group will re-appear in their own window.<br />

Figure 19 — Split volume control window<br />

Split channels appear in a separate window. They behave in the<br />

same way as normal volume adjustment channels, with the<br />

exception that you cannot group from, or split from, a<br />

previously split window.<br />

1. Click in the title box of the split window.<br />

2. Type a new name for the split window.<br />

3. Press Enter.<br />

HURON TECHNICAL MANUAL PAGE 62


↓ To close a split window<br />

Summary<br />

THE SYSTEM TOOLS<br />

• Click the system menu box in the top left hand corner of the<br />

window.<br />

• The IO Manager is used for setting input and output gain<br />

levels, viewing digital input status, and setting digital output<br />

format.<br />

• The current values of channel volumes can be read<br />

graphically and textually in the IO Manager.<br />

HURON TECHNICAL MANUAL PAGE 63


Introduction to the Simulation Tools<br />

The simulation tools are comprised of a number of separate<br />

VRack applications that provide simulation of threedimensional<br />

acoustic spaces over an array of speakers or a set<br />

of headphones.<br />

Binscape: Which provides facilities for simulating virtual<br />

acoustic spaces with multiple moving sound sources. Binscape<br />

uses binaural processing and optimised panning algorithms to<br />

provide high-end positional audio over headphones.<br />

Space Array: Which provides facilities for simulating multiple<br />

moving sound sources and three-dimensional virtual acoustic<br />

spaces. Featuring an optimised panning algorithm for speaker<br />

arrays, Space Array has an enlarged sweet spot and is suitable<br />

for personal or group presentations.<br />

AniScape: Which provides facilities for simulating threedimensional<br />

virtual sound spaces, where a single user can hear<br />

multiple moving sources through a speaker array or<br />

headphones. Aniscape is made up of a number of individual<br />

simulation tools, including Sound Field Filter, Speaker<br />

Decoder, and Binaural Decoder. Binscape and Space Array<br />

have superseded Aniscape for most simulation applications.<br />

MultiScape: Which provides facilities for simulating threedimensional<br />

virtual acoustic spaces, where multiple users can<br />

hear multiple moving sources by using a speaker array or<br />

headphones. Binscape and Space Array have superseded<br />

Multiscape for most simulation applications.<br />

HeadScape: Which provides facilities for using long, low<br />

latency FIR filters in combination with a head tracking device.<br />

This combination allows HeadScape to produce very accurate<br />

three-dimensional sound for high-end acoustic simulations.<br />

Sonic Animator: Which provides a graphical interface and<br />

panning tool for manipulating audio sound source location.<br />

Lake Technology provides a selection of Other simulation tools<br />

which integrate with the above tools and other Lake<br />

Technology VRack applications. These other tools include:<br />

Locator: Designed for testing and configuration verification,<br />

the Locator provides a visual interface to allow the positioning<br />

and movement of sound objects on a two dimensional plane.<br />

WavePlayer-2: An enhanced version of WavePlayer for play<br />

back of long duration Wave files (*.WAV) with zero <strong>Huron</strong><br />

DSP usage.<br />

WavePlayer: Designed to play back Wave files (*.WAV)<br />

encoded in the *.SIM file format through the <strong>Huron</strong> system.<br />

Tracker: Allows the <strong>Huron</strong> to interface with a threedimensional<br />

position tracking system such as the Polhemus®<br />

HURON TECHNICAL MANUAL PAGE 65


THE SIMULATION TOOLS<br />

InsideTrak, Fasttrak, Ascension Flock Of Birds, Intersense IS-<br />

300, IS-600, IS-900, InterTrax (serial) and InterTrax-2 (USB).<br />

Please contact Lake Technology for further information about<br />

<strong>Huron</strong> tracker interfaces.<br />

Socket: Enables the remote control of a <strong>Huron</strong> system via<br />

TCP/IP control packets from a remote devide. The <strong>SNAP</strong><br />

protocol is used for communication with Socket.<br />

MakeRoom: A windows application designed for the statistical<br />

generation of virtual rooms. These rooms are designed for use<br />

with the Simulation Tools or the Engineering Tools<br />

applications.<br />

In addition to VRack applications, Lake Technology provides<br />

the following API for controlling Simulation Tools VRack<br />

applications.<br />

<strong>SNAP</strong>: An API for controlling the <strong>Huron</strong> from an external<br />

application. The external application can be located on the<br />

<strong>Huron</strong> or another computer on the local network.<br />

HURON TECHNICAL MANUAL PAGE 66


An overview of the Simulation Tools<br />

Lake Technology’s Simulation Tools provide a wide range of<br />

options for configuring and creating aural simulations. This<br />

multitude of potential configurations provides not only a wealth<br />

of possibilities for aural simulations but introduces a level of<br />

complexity to the running of such simulations.<br />

In order to reduce possible confusion this subsection seeks to<br />

provide an overview of the relationship between the elements<br />

which comprise a simulation and addresses the most important<br />

aspects of setting up a Lake Technology sound simulation.<br />

The following terms are used throughout the simulation tools<br />

documentation and are important to know in order to<br />

understand the functioning of the Simulation Tools.<br />

• Real world: This is it, you are living in it.<br />

• Soundscape: The virtual audio simulation generated by a<br />

simulation application. The Soundscape can be thought of<br />

as a virtual audio world.<br />

• Simulation application: An application which takes audio<br />

and other inputs and processes them to generate a<br />

Soundscape.<br />

• Listener: The real world person who listens to an audio<br />

simulation via headphones or a speaker array.<br />

• Listener object: The virtual object that represents the<br />

listener inside the Soundscape.<br />

• Sound source: The real world sound source (CD player,<br />

WavePlayer application etc.) that is used as an audio input<br />

into the simulation application.<br />

• Sound object: The virtual object that represents the sound<br />

source in the Soundscape during a simulation.<br />

• Position: The real world position of the listener or tracking<br />

device.<br />

• Location: The virtual location of an object (listener or<br />

sound) within the Soundscape.<br />

• Location channel: The messaging channel over which<br />

information relating the location of virtual objects is passed.<br />

Location channel numbers must be in the range 1 to 255, as<br />

channel 0 is reserved in most applications.<br />

• Rotation: The real world orientation of the listener or<br />

tracking device.<br />

• Angle: The virtual orientation of a sound or listener object<br />

in a Soundscape.<br />

HURON TECHNICAL MANUAL PAGE 67


THE SIMULATION TOOLS<br />

• Angle channel: The messaging channel over which<br />

information relating the orientation of a virtual sound or a<br />

listener object is passed. Location channel numbers must be<br />

in the range 1 to 255, as channel 0 is reserved in most<br />

applications.<br />

• Tracking device: A device used for obtaining and sending<br />

positional and rotational data. This data is then transformed<br />

(by the Tracker application) into location and angle data for<br />

use as an input to a simulation application.<br />

• Speaker array: A real world array of speakers designed for<br />

the playback of audio simulations.<br />

Additional terms can be found in the Glossary subsection of the<br />

<strong>Huron</strong> Technical Specifications of this manual.<br />

In general terms an aural simulation is composed of a<br />

processing application — the simulation application — and a<br />

series of inputs to this application. The diagram below (Figure<br />

20) illustrates a generic simulation tool and lists the sources of<br />

inputs and outputs of the system.<br />

Figure 20 — A schematic of a generic Simulation application<br />

The simulation application is the core of an aural simulation. It<br />

takes the sound sources, location information, angle<br />

information, and room effects as inputs, and processes all of this<br />

information in real time to provide the outputs of the simulation<br />

either as B-format encoded signals (as in Sound Field Filter) or<br />

in a form ready to be output to a speaker array or headphones<br />

(Binscape, Space Array , MultiScape, HeadScape or a<br />

combination of Sound Field Filter and one of the AniScape<br />

Decoder tools).<br />

An important concept shown in this diagram (Figure 20) is the<br />

association of the manipulable virtual sound objects and the<br />

sound sources they represent. The sources and objects are<br />

associated using Location and Angle channels. While the real<br />

world sound sources remain stationary (locked into equipment<br />

racks etc.) the sound objects may be moved around the<br />

HURON TECHNICAL MANUAL PAGE 68


THE SIMULATION TOOLS<br />

Soundscape through Angle and Location messages sent from<br />

applications such as Socket, Locator or Sonic Animator.<br />

The following diagram (Figure 21) illustrates the interaction<br />

between elements of a typical simulation. This simulation uses<br />

MultiScape as the simulation application, and Locator for the<br />

loading of room responses and the movement of sound objects<br />

(details for each of these applications are found in the<br />

appropriate subsections of the simulation tools).<br />

Figure 21 — The interaction of several simulation tools to create an aural simulation<br />

Coordinate Systems<br />

Lake’s simulation tools use a right-handed coordinate system to<br />

specify the location of sound sources. When the user is<br />

stationary and located at the origin of the system, the Y-axis<br />

extends in front of the user, the X-axis is to the user’s right, and<br />

the Z-axis extends upwards, as shown in Figure 22.<br />

HURON TECHNICAL MANUAL PAGE 69


Z<br />

THE SIMULATION TOOLS<br />

Figure 22 — The Lake coordinate system<br />

In some tools, a B-format audio stream is used. B-format audio<br />

relies on the theory of Ambisonics, whose coordinate system<br />

differs from the Lake system. In Ambisonics, the X-axis is in<br />

front the user, the Y-axis extends to the left, and the Z-axis<br />

extends upwards, as shown in Figure 23.<br />

Y<br />

Z<br />

Figure 23 — The Ambisonic coordinate system<br />

These coordinate systems specify the location of sound sources<br />

in a 3-dimensional coordinate space. As well as location, sound<br />

sources are also described by an orientation or angle, which<br />

specifies the direction the sound will travel from the source.<br />

Lake uses the azimuth, elevation, and roll paradigm to describe<br />

the orientation of sound sources, as shown in Figure 24.<br />

HURON TECHNICAL MANUAL PAGE 70<br />

Y<br />

X<br />

X


Calibrating Speaker Arrays<br />

THE SIMULATION TOOLS<br />

Azimuth<br />

Elevation<br />

Roll<br />

Figure 24 — Positive azimuth, elevation, and roll of a sound<br />

source<br />

Given the forward-facing vector of a sound source, azimuth is<br />

defined as a rotation of the vector about the X-Y plane;<br />

elevation is a rotation towards the Z-axis; and roll is a rotation<br />

of the source about the direction of the vector itself.<br />

When rendering a simulation to a speaker array, it is desirable<br />

to calibrate the amplifier gains so that each speaker contributes<br />

equally to the sound pressure level at the centre of the array.<br />

This will eliminate unbalances in the array so that panning is<br />

smooth. The technique described below is valid only for arrays<br />

where the speakers are equidistant from the centre of the array.<br />

A sound pressure level meter can be used to measure the output<br />

power of a given amplifier / speaker configuration. Feed a<br />

constant input source such as a 1kHz sine wave into one<br />

speaker at a time and measure the resultant on-axis output<br />

power at a fixed distance (say 1 metre) from the speaker.<br />

Adjust the amplifier gains so that each speaker has the same<br />

volume with the given input source.<br />

HURON TECHNICAL MANUAL PAGE 71


Features<br />

Operation<br />

Object list<br />

Add source<br />

object<br />

Edit object<br />

Delete source object<br />

BinScape<br />

BinScape is a 3D positional-audio simulator based on binaural<br />

technology. It can simultaneously render up to 32 sound<br />

sources to a single listener position. BinScape uses only 3<br />

DSPs regardless of the number of sound sources and provides<br />

for headtracked listening via <strong>SNAP</strong> commands.<br />

BinScape can load user definable head and room filters for<br />

engineering research applications.<br />

• Fixed usage of only 3 DSPs for 3D rendering of 1 to 32<br />

source objects to a single listener.<br />

• Simulation of 3 rooms with varied acoustical damping and<br />

size properties.<br />

• Head tracking is possible by setting channels for BinScape<br />

to receive listener position and orientation messages from a<br />

tracker tool.<br />

• User supplied head and room filters can be loaded.<br />

• Can be controlled remotely via <strong>SNAP</strong> commands and the<br />

Socket application.<br />

Reset object position<br />

Select head filter set<br />

Figure 25 — Customised BinScape main interface<br />

Select<br />

Room<br />

filter<br />

HURON TECHNICAL MANUAL PAGE 73


Starting<br />

↓ To access BinScape<br />

Editing the Listener Object (receiver)<br />

↓ To edit the Listener (receiver)<br />

Object<br />

THE SIMULATION TOOLS<br />

BinScape must be loaded into the VRack through the<br />

New/Simulation Tools submenu (For loading instructions, see<br />

the System Tools section of this manual). Once loaded,<br />

BinScape will appear in the VRack, and its associated patchset<br />

will appear in the Patch Bay.<br />

• Click on the BinScape panel in the VRack.<br />

The main BinScape window will appear (see Figure 34).<br />

BinScape provides outputs for a single headphone listener.<br />

1. Select the Listener Object in the BinScape object list.<br />

Click Edit.<br />

—or —<br />

Double-click the Listener Object.<br />

The following dialogue box will appear:<br />

Object name<br />

Primary<br />

location<br />

channel<br />

Primary<br />

orientation<br />

channel<br />

Secondary<br />

location<br />

channel<br />

Secondary<br />

orientation<br />

channel<br />

Accept changes Cancel changes<br />

Figure 26 — BinScape Listener Object edit dialogue<br />

2. Type a name for the Listener Object in the Name box.<br />

3. Set the Location Channel Number in the Primary<br />

Location channel box. This Channel number specifies the<br />

channel on which the object will receive <strong>SNAP</strong> or Locator<br />

messages indicating its current (X,Y,Z) position. It is not<br />

necessary to set a secondary Location Channel Number for a<br />

Listener Object.<br />

4. Set the Secondary Location Channel Number if the<br />

listener is to be moved relative to another object.<br />

HURON TECHNICAL MANUAL PAGE 74


For example: if a Source Object<br />

(channel 2) needs to be moved<br />

independently but relative to another<br />

Source Object (channel 1) its location<br />

should be specified as Location: 1+2.<br />

Thus, if the object using location<br />

Channel 1 moves the object on<br />

Channel 2 will move with it.<br />

For example: An elephant (whose<br />

facing is specified as angle channel<br />

number 1) has a trunk (whose facing<br />

is specified as channel number 2), the<br />

elephant’s trunk may rotate<br />

independently yet maintain a<br />

relationship to the facing of the<br />

elephant, thus the trunk’s angle<br />

channel number should be defined as<br />

1 + 2.<br />

Note: The first two elements in the<br />

BinScape object list must always be<br />

the Listener Object (receiver) and a<br />

Source Object. As it is necessary to<br />

have at least these two elements to run<br />

a simulation. You cannot delete the<br />

listener or a sole Source Object.<br />

Adding and Removing a Source Object<br />

↓ To add a new Source Object<br />

THE SIMULATION TOOLS<br />

5. Set the Angle Channel Number in the Primary<br />

Orientation channel box. This Angle Channel Number<br />

specifies the channel over which the orientation (facing) of<br />

the listener is transmitted. In the case of the Listener Object,<br />

it represents the channel over which headtracking or facing<br />

information will be transmitted.<br />

6. Set the Secondary Angle Channel Number if the listener is<br />

to be rotated relative to another object.<br />

7. Click OK to accept the changes to the Listener Object.<br />

—or —<br />

Click Cancel to cancel the changes to the Listener Object.<br />

1. Click the Add button in the main BinScape window.<br />

The following dialogue box will appear:<br />

HURON TECHNICAL MANUAL PAGE 75


Source name<br />

Primary<br />

location<br />

channel<br />

Primary<br />

orientation<br />

channel<br />

Directivity Factor Name<br />

d = 0.000 Omni<br />

d = 0.500 Cardioid<br />

d = 0.625 Super Cardioid<br />

d = 0.750 Hyper Cardioid<br />

d = 1.000 Figure 8 or Dipole<br />

↓ To remove a Source Object<br />

from the BinScape object list<br />

THE SIMULATION TOOLS<br />

Secondary<br />

location channel<br />

Secondary<br />

orientation channel<br />

Directivity factor<br />

Add sound object Cancel add object<br />

2. Type a name for the Source Object in the Name box.<br />

3. Set the Location Channel Number in the primary Location<br />

box. This Channel number specifies the channel on which<br />

the object will receive <strong>SNAP</strong> or Locator messages indicating<br />

its current (X,Y,Z) position. To ensure that the source can<br />

be moved independently of other sources this Channel<br />

Number should be unique.<br />

4. Set the Secondary Location Channel Number if the source<br />

is to be moved relative to another object as described for the<br />

Listener object above.<br />

5. Set the Angle Channel Number in the Primary Orientation<br />

channel box. This Angle Channel Number specifies the<br />

channel over which the orientation (facing) of the source is<br />

transmitted.<br />

6. Set the Secondary Angle Channel Number if the source is<br />

to be rotated relative to another object.<br />

7. Set the Dir Fact (Directivity Factor) of the Source Object.<br />

The Directivity Factor determines the shape of the sound<br />

field each source will produce. Some common directivity<br />

patterns are given below:<br />

8. Click OK to add the Source Object to the BinScape object<br />

list.<br />

—or —<br />

Click Cancel to cancel the addition of the Source Object.<br />

From the main BinScape window<br />

1. Select the Source Object to remove by clicking on the<br />

Source Object in the BinScape object list.<br />

2. Click Delete.<br />

The Source Object will be removed from the BinScape object<br />

list.<br />

HURON TECHNICAL MANUAL PAGE 76


Editing a BinScape Object<br />

↓ To edit the details of Source<br />

Objects<br />

↓ To reset the position of a<br />

Listener (receiver) or Source<br />

Object<br />

Room Switching<br />

↓ To switch rooms<br />

Custom Room Filter Specifications<br />

THE SIMULATION TOOLS<br />

1. Select the Source Object to edit from the BinScape object<br />

list. The source object will be highlighted. Click Edit.<br />

Alternatively, double-click the Source Object in the<br />

BinScape object list.<br />

2. Edit Name, Location channels, Angle channels and<br />

Directivity Factors as required.<br />

3. Click OK to accept the changes, or click Cancel to ignore<br />

the changes.<br />

1. Select the Sound or Listener Object to edit by clicking on the<br />

Source Object in the BinScape object list.<br />

2. Click Reset.<br />

The sound or Listener Object location will be set to the origin<br />

point at 0.00, 0.00, 0.00.<br />

BinScape allows the simulated room to be switched smoothly<br />

between three options representing spaces of varied acoustical<br />

damping and size properties.<br />

• Switch the current room filter using the Room listbox on the<br />

main dialog or by sending the <strong>SNAP</strong>SetRoom command<br />

while the Socket application is running.<br />

BinScape allows the user to load a new binaural room filter that<br />

replaces the first standard room filter set. The user can then<br />

switch between the remaining standard rooms (Two and Three)<br />

and the new Custom room.<br />

1. Load a new binaural room filter set by selecting "Load<br />

Custom…" from the Room listbox and following the<br />

prompts to load the Left and Right filters.<br />

2. The custom filter will replace Room One on the DSP. You<br />

can now switch between the Custom room and standard<br />

rooms Two and Three.<br />

3. A valid custom Room filter set consists of two .sim files,<br />

each 6144 samples long, where the first sample of each<br />

filter occurs at t=384*Ts, Ts=sample period. Ie, you can<br />

make a valid Room filter file by taking a complete binaural<br />

room impulse response for each ear, discarding the first 384<br />

samples and truncating the result at 6144 samples long.<br />

HURON TECHNICAL MANUAL PAGE 77


Custom Head Filter Specifications<br />

Creating Valid Head and Room Filter Files Using Matlab<br />

Summary<br />

THE SIMULATION TOOLS<br />

BinScape allows the user to load a new set of binaural head<br />

filters in addition to the existing head filters.<br />

Head filters provide the directionality of BinScape 3D rendered<br />

sound sources. The user can then switch between the standard<br />

head filters and their custom set of head filters.<br />

1. Load a new set of head filters by selecting "Load Custom…"<br />

and following the prompts to load the Centre, Front<br />

Common, Rear Common, Front Difference and Rear<br />

Difference filters.<br />

2. You can now switch between the Standard head filters and<br />

the Custom head filters by selecting from the listbox. You<br />

can also load a new set of custom head filters over a<br />

previously loaded custom set as above.<br />

3. A valid set of custom head filters consists of five .sim files,<br />

each 128 samples long. The first sample of all head filters<br />

occurs at t=0.<br />

4. The meaning of the five head filters is as follows:<br />

5. Centre: average of the HRIRs to both left and right ears for<br />

a source at 0 degrees - ie directly in-front of the listener.<br />

6. Front Common: common-mode portion of near and far ear<br />

HRIRs to a source at 45 degrees to the listener direction.<br />

7. Front Difference: difference-mode portion of the near and<br />

far ear HRIRs to a source at 45 degrees to the listener<br />

direction.<br />

8. Rear Common: common-mode portion of near and far ear<br />

HRIRs to a source at 135 degrees to the listener direction.<br />

9. Rear Difference: difference-mode portion of near and far<br />

ear HRIRs to a source at 135 degrees to the listener<br />

direction.<br />

For an example of how to make valid and proper Head and<br />

Room filter .sim files for BinScape Custom, see the Matlab<br />

script file makecustomfilters.m, supplied with BinScape<br />

Custom.<br />

• BinScape performs 3D positional-audio of up to 32 source<br />

objects to a single listener position.<br />

• BinScape has filters to simulate 3 rooms of different acoustic<br />

properties. Headtracking is also possible with additional<br />

tracker tool hardware.<br />

HURON TECHNICAL MANUAL PAGE 78


Features<br />

Operation<br />

The Space Array<br />

Space Array is a tool designed for animation and real-time<br />

acoustic rendering of sounds across three-dimensional speaker<br />

arrays. Up to 32 discrete sound sources may be animated<br />

within a soundscape. In addition to accurately rendering given<br />

sound sources, the array will also add room simulation based on<br />

pre-calculated reverberations.<br />

• Up to 32 sound sources animated over a maximum of 50<br />

speakers.<br />

• Large sweet spot within the speaker array, so the simulation<br />

will reach the entire audience.<br />

• Dynamically calculated speaker response of individual<br />

components within the speaker array makes physical speaker<br />

placement less critical to the overall sound reproduction<br />

quality.<br />

• Accepts input signals in B-format.<br />

The Space Array renders sound sources arriving through the<br />

patchbay inputs to speakers connected to patchbay outputs. It<br />

uses Lake proprietary algorithms to ensure that the sound is<br />

panned as smoothly as possible when sources move around the<br />

array.<br />

HURON TECHNICAL MANUAL PAGE 79


Starting<br />

↓ To access the Space Array<br />

The Space Array Object List<br />

Figure 27 – The Space Array interface<br />

THE SIMULATION TOOLS<br />

The Space Array must be loaded into the VRack from the<br />

New/Simulation Tools submenu (for loading instructions see<br />

the System Tools section of this manual). Once loaded the<br />

Space Array panel will appear in the VRack and the Space<br />

Array panel will appear in the Patch Bay.<br />

• Click the Space Array panel in the VRack.<br />

The Space Array interface will appear (Figure 27).<br />

Space Array allows a user to define virtual objects and move<br />

them around within a soundscape. The Space Array Object List<br />

specifies all objects found in a soundscape and how they are<br />

moved around within it.<br />

In Space Array, there are two types of object: the listener<br />

object, and the sound source. There is only one listener object,<br />

which represents all listeners in the soundscape. The listener<br />

must be the first object in the object list. Every subsequent<br />

object in the list represents a sound source.<br />

In Space Array, a channel number is associated with each object<br />

in the list. The channel number specifies a channel on which<br />

the object will receive position and angle messages.<br />

HURON TECHNICAL MANUAL PAGE 80


Adding an Object to the Space Array Object List<br />

↓ To add an object to the Space<br />

Array list<br />

For example: if a sound object<br />

(Channel 2) needs to be moved<br />

independently but relative to another<br />

sound object (Channel 1) its location<br />

should be specified as Location: 1+2.<br />

Thus, if the object using location<br />

Channel 1 moves the object on<br />

Channel 2 will move with it.<br />

For example: An elephant (whose<br />

facing is specified as Angle Channel<br />

Number 1) has a trunk (whose facing<br />

is specified as Channel Number 2), the<br />

elephant’s trunk may rotate<br />

independently yet maintain a<br />

relationship to the facing of the<br />

elephant, thus the trunk’s Angle<br />

Channel Number should be defined as<br />

1 + 2.<br />

Editing an Object<br />

↓ To edit the details of Sound<br />

objects<br />

THE SIMULATION TOOLS<br />

1. Click Add. A dialogue box will appear (this dialogue box<br />

appears the same for both the listener and sound source<br />

objects).<br />

2. Type a name for the object in the Name box.<br />

3. Set the Location Channel Number in the primary Location<br />

box. This Channel number specifies the channel on which<br />

the object will receive <strong>SNAP</strong> or Locator messages indicating<br />

its current (X,Y,Z) position. To ensure that the source can<br />

be moved independently of other sources this Channel<br />

Number should be unique.<br />

4. Set the Secondary Location Channel Number if the object<br />

is to be moved relative to another object.<br />

5. Set the Angle Channel Number in the Primary Orientation<br />

channel box. This Angle Channel Number specifies the<br />

channel over which the orientation (facing) of the object is<br />

transmitted.<br />

6. Set the Secondary Angle Channel Number if the object is<br />

to be rotated relative to another object.<br />

7. Click OK to add the object to the Space Array object list.<br />

8. Click Cancel to cancel the addition of the object.<br />

1. Select the Sound object to edit by clicking on the Sound<br />

object in Space Array list.<br />

2. Edit Name, Location channels, and Angle channels as<br />

required.<br />

HURON TECHNICAL MANUAL PAGE 81


Removing an Object<br />

↓ To remove the Sound object<br />

from the Space Array list<br />

Adjusting Source Characteristics<br />

Diffusivity<br />

Diffusivity Balance<br />

Reverb Balance<br />

3. Click OK to accept the changes.<br />

—or —<br />

Click Cancel to ignore the changes.<br />

THE SIMULATION TOOLS<br />

From the main Space Array window<br />

1. Select the Sound object to remove by clicking on the Sound<br />

object in the Space Array list.<br />

2. Click Delete.<br />

The Sound object will be removed from the Space Array list.<br />

It is possible to tailor the playback characteristics of each sound<br />

source object in the Space Array object list. These source<br />

characteristics adjust the directionality, smearing, reverberation<br />

and behaviour of the sounds.<br />

The diffusivity level of the sound source determines the<br />

smearing effect on the sound by blurring the apparent<br />

directionality of the sound. The higher the smear the more<br />

diffuse the sound, the lower the smear the more precise the<br />

sounds location.<br />

The diffusivity balance determines where sound appears to<br />

radiate from and how localised the sound is. For example, A<br />

high smear, high balance gives a localised sound with lots of<br />

smear, while a high smear, low balance means sound appears to<br />

come from around the location of the object, rather than directly<br />

from it.<br />

Alters the amount of audio passed into the room reverberation<br />

filters used in the space array. The higher the value the longer<br />

the reverberation period.<br />

HURON TECHNICAL MANUAL PAGE 82


Near Field<br />

Adding B-format Input<br />

Setting Minimum Source Distance<br />

Defining the Speaker Array<br />

↓ To define the speaker positions<br />

THE SIMULATION TOOLS<br />

The near field determines what happens when sound gets within<br />

the minimum source distance. If the near field is on flip and the<br />

sound source enters the minimum sound distance, the sounds<br />

will flip from one speaker to the next, while when near field is<br />

set at omni, the sound will appear to come from all of the<br />

speakers equally.<br />

The Space Array comes with an input for a B-format sound<br />

source. Such sound sources have 4 outputs which contain<br />

sound signals for x,y,z, and omni directions. This input can be<br />

used for interactive sounds within the soundscape.<br />

The minimum source distance represents the virtual distance at<br />

which sounds will be played back at unity gain. The manner in<br />

which objects within the minimum source distance are played<br />

back is altered by the sound object near field setting.<br />

Figure out how many speakers are in the array. Add each<br />

speaker and adjust locations of the speakers from an arbitrary<br />

origin point found at (0,0,0). The listener is assumed to be at<br />

0,0,0. If the listener is located elsewhere, enter the location of<br />

the listener.<br />

• Click Speakers.<br />

A new dialogue box will appear, allowing the array to be<br />

defined (Figure 28).<br />

HURON TECHNICAL MANUAL PAGE 83


Placing the Observer<br />

↓ To adjust the observers location<br />

Adding speakers<br />

↓ To add speakers to the array list<br />

Placing speakers<br />

↓ To place a speaker or edit its<br />

location<br />

Figure 28 – The Space Array Speakers dialog<br />

THE SIMULATION TOOLS<br />

The observer’s location represents the physical position of the<br />

observers in the speaker array ie. the origin point for all the<br />

speaker activations. By default the observer is located at 0,0,0<br />

in the centre of the array, and the values given for the speakers<br />

are given in terms of that origin point in metres.<br />

1. Select the observer X field type new number.<br />

2. Select the observer Y field and type a new number.<br />

3. Select the observer Z field and type a new number.<br />

1. On the array list click Add.<br />

2. This will add a new speaker to the speaker list.<br />

1. Select the X location.<br />

2. Change the value.<br />

3. Select the Y location.<br />

4. Change the value.<br />

5. Select the Z location.<br />

6. Change the value.<br />

HURON TECHNICAL MANUAL PAGE 84


Inserting speakers<br />

↓ To insert a speaker into the list<br />

Deleting speakers<br />

↓ To delete a speaker from the list<br />

Pre-calculating Speaker Activations<br />

↓ To pre-calculate the speaker<br />

activations<br />

↓ To save speaker activations<br />

↓ To load a set of pre-calculated<br />

speaker activations<br />

THE SIMULATION TOOLS<br />

1. Click Insert to add a speaker into the currently selected<br />

speaker location.<br />

2. Once added, select and edit the location values.<br />

1. Select the speaker to delete.<br />

2. Click Delete and the speaker will be removed from the list.<br />

Once a Speaker array has been defined it, needs the speaker<br />

activations to be pre-calculated. Calculating the speaker<br />

activations may require some time, however, once complete it<br />

provides access to the real time panning of sources across the<br />

speaker array.<br />

Once speakers have been set up, the speaker activations can be<br />

pre-calculated.<br />

• Click Calculate to calculate the speaker activations.<br />

A Cancel button window will appear to enable the calculation<br />

process to be cancelled if cancelled the speaker activations will<br />

not be calculated. The progress of the calculation may be<br />

checked in the status bar which progresses from left to right as<br />

the calculation continues.<br />

1. Click Save to save speaker activations.<br />

2. A Save File dialogue box will appear.<br />

3. Select or type a new filename and the pre-calculations will<br />

be saved in a speaker weight file with the *.3dw extension.<br />

1. Click Load to load previously calculated speaker<br />

activations.<br />

2. A dialogue box will appear.<br />

3. Select a *.3dw file.<br />

4. Click OK.<br />

HURON TECHNICAL MANUAL PAGE 85


Adding Room Reverberation<br />

↓ To add room reverberation<br />

↓ To remove room reverberation<br />

Moving Sound Objects<br />

DSP Usage<br />

THE SIMULATION TOOLS<br />

Space array allows you to add room reverberations to the<br />

soundscapes generated by the space array simulation tool.<br />

These reverberations can be singular omni reverbs or can be<br />

based around B-format responses of real room spaces, which<br />

can be generated either though a simulation application like<br />

Catt-Acoustics or VRoom or MakeRoom, or recorded using<br />

Lake Technology’s Measure application.<br />

Either mono or B-format reverbs may be added to the<br />

simulation. B-format reverbs require more DSPs but allow the<br />

reverb to be accurately panned to the speakers. Mono reverbs<br />

render the reverberant tail equally to all speakers.<br />

If mono reverb is desired:<br />

1. Click the OMNI button to add the mono reverb SIM file.<br />

2. Find the Omni sim file (usually denoted by a w prefix).<br />

3. Click OK.<br />

If a B-format reverb is desired:<br />

1. Uncheck the Mono checkbox.<br />

2. Click the OMNI button to add the mono reverb SIM file.<br />

3. Find the Omni sim file (usually denoted by a w prefix).<br />

4. Click the X button to add the X plane SIM file.<br />

5. Find the X sim file (usually denoted by a X prefix).<br />

6. Click the Y button to add the X plane SIM file.<br />

7. Find the Y sim file (usually denoted by a Y prefix).<br />

8. Click the Z button to add the X plane SIM file.<br />

9. Find the Z sim file (usually denoted by a Z prefix).<br />

• Click the Clear button.<br />

Although sound objects can be moved in real time using a<br />

tracking device, Locator, or by a remote computer via the<br />

<strong>SNAP</strong> protocol. The Sonic Animator has been specifically<br />

designed for creating three-dimensional animated soundscapes<br />

for recording and playback.<br />

The number of DSPs used by the Space Array is dependent on<br />

three variables: the number of inputs (including the B-format<br />

inputs); the number of outputs (speakers); and the type of room<br />

reverberation used. The number of DSPs used can be<br />

characterised by the following formula.<br />

( ceil(<br />

i/<br />

18)<br />

) * ( ceil(<br />

o 12)<br />

)<br />

n =<br />

/<br />

HURON TECHNICAL MANUAL PAGE 86


Summary<br />

25<br />

20<br />

15<br />

Number of inputs<br />

Space Array DSP Usage<br />

0<br />

5<br />

THE SIMULATION TOOLS<br />

Where:<br />

n is the total number of DSPs required.<br />

i is the total number of inputs.<br />

o is the total number of outputs.<br />

A graph illustrating the number of DSPs used according to the<br />

number of inputs and outputs is given below.<br />

30 0<br />

10<br />

5<br />

0<br />

10<br />

15<br />

20<br />

25<br />

30<br />

35<br />

Number of Speakers<br />

Figure 29 – Space Array DSP usage<br />

40<br />

45<br />

50<br />

2<br />

1<br />

4<br />

3<br />

6<br />

5<br />

8<br />

7<br />

10<br />

9<br />

DSP's Used<br />

• The Space Array provides real time panning of up to 32<br />

sound sources across multi-speaker arrays containing up to<br />

50 speakers.<br />

• Pre-calculated speaker activations allow accurate<br />

representation of sound in three-dimensions to listeners with<br />

no sweet spot.<br />

HURON TECHNICAL MANUAL PAGE 87


Features<br />

Operation<br />

AniScape<br />

The AniScape suite is comprised of several simulation tools.<br />

The three main tools are:<br />

• The Sound Field Filter, which takes a number of input<br />

signals and encodes them into a B-format data stream.<br />

• The Speaker Decoder, which takes B-format encoded data<br />

and decodes it through a speaker array.<br />

• The Binaural Decoder, which works in the same manner as<br />

the Speaker decoder, however B-format data is decoded so<br />

that it may be used via headphones.<br />

• Decoding of convolved B-format data to produce real-time<br />

three-dimensional audio simulations.<br />

• Easy integration with visualisation systems, utilising <strong>SNAP</strong><br />

messages for network control of source and listener locations<br />

and positions.<br />

• Allows the encoding of any number of input signals into Bformat<br />

audio, dependent on the number of DSP cards<br />

installed in the system.<br />

• Virtual spaces or rooms for use in AniScape can be<br />

generated using acoustic modelling software.<br />

• Creates Doppler effects for moving sound objects.<br />

• Provides up to eight sound reflections for each sound object.<br />

• Allows the decoding of B-format data to headphones or to<br />

arrays of up to forty speakers.<br />

AniScape simulations provide a high degree of realism through<br />

the use of proven acoustic modelling methods coupled with<br />

Lake Technology’s long, low-latency convolution technology<br />

(Lake Convolution). AniScape gives total control of the<br />

locations of multiple sound objects and the listener object<br />

within a virtual acoustic space.<br />

Sound objects are encoded into a general three-dimensional<br />

audio format called B-format by combining source object<br />

location and angle information, the location and angle<br />

information of the listener object and the acoustic properties of<br />

HURON TECHNICAL MANUAL PAGE 89


The simulated acoustic spaces used<br />

in AniScape are implemented in<br />

real-time using a highly detailed<br />

room response supplied by a<br />

modelling packages such as CATT-<br />

Acoustic, CATT-VRoom (a<br />

simplified room generation<br />

package) or Lake Technology’s<br />

MakeRoom utility.<br />

THE SIMULATION TOOLS<br />

the simulated space they inhabit. This generalised format is<br />

composed of four standard audio signals and may be decoded to<br />

speakers using the Speaker Decoder or decoded to headphones<br />

using the Binaural Decoder. The B-format signals may also be<br />

recorded to multi-track tape or disk and are identical to the<br />

format produced by a sound field microphone.<br />

HURON TECHNICAL MANUAL PAGE 90


Features<br />

Operation<br />

Starting<br />

The Sound Field Filter<br />

The Sound Field Filter simulation application is an integral part<br />

of the AniScape simulation suite. The Sound Field Filter takes<br />

data from inputs and encodes it into a stream of spatialised Bformat<br />

data. This data is then filtered through a room response<br />

to give an output which may be further processed by the<br />

AniScape Decoder tools, Speaker Decoder or the Binaural<br />

Decoder, to produce three-dimensional sound simulations.<br />

• The ability to add a listener and multiple sound objects to a<br />

three-dimensional Soundscape.<br />

• The ability to load various acoustically modelled rooms for<br />

spatial convolution.<br />

• The ability to set a minimum source distance for unity gain.<br />

Figure 30 — The Sound Field Filter interface<br />

The Sound Field Filter must be loaded into the VRack from the<br />

New/Simulation Tools submenu (for loading instructions see<br />

the System Tools section of this manual). Once loaded the<br />

HURON TECHNICAL MANUAL PAGE 91


↓ To access the Sound Field Filter<br />

Editing the Listener Object (Receiver)<br />

↓ To edit the listener (receiver)<br />

object<br />

THE SIMULATION TOOLS<br />

Sound Field Filter panel will appear in the VRack and a Sound<br />

Field Filter patchset will appear in the Patch Bay.<br />

• Click the Sound Field Filter Panel in the VRack.<br />

The Sound Field Filter interface will appear (Figure 30).<br />

The Sound Field Filter only provides outputs (In B-format) for a<br />

single listener object (receiver).<br />

1. Select the listener object in the Sound Field Filter list.<br />

2. Click Edit.<br />

The following dialogue box will appear:<br />

Figure 31 — Sound Field Filter edit/add object dialogue<br />

3. Type a name for the listener object in the Name box.<br />

4. Set the Location Channel Number in the primary Location<br />

box. This Channel number specifies the channel on which<br />

the object will receive <strong>SNAP</strong> or Locatormessages indicating<br />

its current (X,Y,Z) position. It is not necessary to set a<br />

secondary Location Channel number for a listener object.<br />

5. Set the Angle Channel Number in the Primary Orientation<br />

channel box. This Angle Channel Number specifies the<br />

channel over which the orientation (facing) of the object is<br />

transmitted. In the case of the listener object, it represents<br />

the channel over which headtracking or facing information<br />

will be transmitted.<br />

6. Dir Fact (Directivity factor) for the listener object does not<br />

need to be set, As the listener object does not be generate<br />

any sound.<br />

7. Click OK to accept the changes to the listener object<br />

— or —<br />

Click Cancel to cancel the changes to the listener object.<br />

HURON TECHNICAL MANUAL PAGE 92


Note: The first two elements in the<br />

Sound Field Filter object list are<br />

assumed to be the listener object<br />

(receiver) and a sound object. As it is<br />

necessary to have at least these two<br />

elements to run a simulation, the first<br />

two objects cannot be deleted.<br />

Adding and Removing a Sound object<br />

↓ To add a Sound object to the<br />

Sound Field Filter list<br />

For example: if a sound object<br />

(channel 2) needs to be moved<br />

independently but relative to another<br />

sound object (channel 1) its location<br />

should be specified as Location: 1+2.<br />

Thus, if the object using location<br />

Channel 1 moves the object on<br />

Channel 2 will move with it.<br />

For example: An elephant (whose<br />

facing is specified as angle channel<br />

number 1) has a trunk (whose facing<br />

is specified as channel number 2), the<br />

elephant’s trunk may rotate<br />

independently yet maintain a<br />

relationship to the facing of the<br />

elephant, thus the trunk’s angle<br />

channel number should be defined as<br />

1 + 2.<br />

THE SIMULATION TOOLS<br />

1. Click Add. A dialogue box will appear (see Figure 31 —<br />

Sound Field Filter edit/add object dialogue).<br />

2. Type a name for the channel in the Name box.<br />

3. Set the Location Channel Number in the primary Location<br />

box. This Channel number specifies the channel on which<br />

the object will receive <strong>SNAP</strong> or Locatormessages indicating<br />

its current (X,Y,Z) position. To ensure that the source can<br />

be moved independently of other sources this Channel<br />

Number should be unique.<br />

4. Set the Secondary Location Channel Number if the object<br />

is to be moved relative to another object.<br />

5. Set the Angle Channel Number in the Primary Orientation<br />

channel box. This Angle Channel Number specifies the<br />

channel over which the orientation (facing) of the object is<br />

transmitted.<br />

6. Set the Secondary Angle Channel Number if the object is<br />

to be rotated relative to another object.<br />

7. Set the Dir Fact (Directivity Factor) of the Sound object.<br />

The Directivity Factor determines the shape of the sound<br />

field each source will produce. Some common directivity<br />

patterns are given below:<br />

HURON TECHNICAL MANUAL PAGE 93


Directivity Factor Name<br />

d = 0.000 Omni<br />

d = 0.500 Cardioid<br />

d = 0.625 Super Cardioid<br />

d = 0.750 Hyper Cardioid<br />

d = 1.000 Figure 8 or Dipole<br />

↓ To remove the Sound object<br />

from the Sound Field Filter list<br />

Editing a Sound Object<br />

↓ To edit the details of Sound<br />

objects<br />

↓ To reset the position of a<br />

Listener (Receiver) or Sound<br />

object<br />

THE SIMULATION TOOLS<br />

8. Click OK to add the Sound object to the Sound Field Filter<br />

list<br />

— or —<br />

Click Cancel to cancel the addition of the Sound object.<br />

From the main Sound Field Filter window<br />

1. Select the Sound object to remove by clicking on the Sound<br />

object in the Sound Field Filter list.<br />

2. Click Delete.<br />

The Sound object will be removed from the Sound Field Filter<br />

list.<br />

1. Select the Sound object to edit by clicking on the Sound<br />

object in the Sound Field Filter list.<br />

2. Edit Name, Location channels, Angle channels and<br />

Directivity Factors as required.<br />

3. Click OK to accept the changes.<br />

—or —<br />

Click Cancel to ignore the changes.<br />

1. Select the Sound or listener object to edit by clicking on the<br />

Sound object in the Sound Field Filter list.<br />

2. Click Reset.<br />

The sound or listener object location will be set to the origin<br />

point at 0.00, 0.00, 0.00.<br />

3. Click OK to accept the changes.<br />

— or —<br />

Click Cancel to ignore the changes.<br />

HURON TECHNICAL MANUAL PAGE 94


Adding Room Reverberation<br />

↓ To add room reverberation to<br />

the simulation<br />

↓ To insert a room between<br />

existing rooms<br />

↓ To Delete a room response from<br />

the Rooms List<br />

THE SIMULATION TOOLS<br />

Room reverberation may be produced using convolution filters<br />

derived from a room simulation package such as CATT-<br />

Acoustics, or the Lake Technology MakeRoom program.<br />

1. Click Rooms. The rooms dialogue box will appear (Figure<br />

34).<br />

Figure 32 — The Sound Field Filter Rooms dialogue box<br />

2. Click Add.<br />

3. Select a Room Response file (*.GEO) from the file<br />

selection list. A selection of pre-created *.GEO files is<br />

present on the software CD supplied with your system under<br />

the rooms/aniscape directory.<br />

4. Click OK to Load the Response file.<br />

— or —<br />

Click Cancel to cancel the loading of the Response.<br />

5. Click Close to Close the room dialogue box.<br />

From the Sound Field Filter Main window.<br />

1. Click Rooms.<br />

2. Select an entry from the Room Response list under which<br />

the room filter is to inserted.<br />

3. From the Rooms dialogue box Click Insert.<br />

4. Select a Room Response file (*.GEO) from the file<br />

selection list.<br />

5. Click OK to Insert the Room response.<br />

6. Click Cancel to cancel the insertion of the Room response.<br />

1. Click Rooms.<br />

2. Select an entry from the Rooms Response list to delete.<br />

3. From the Rooms dialogue box Click Delete.<br />

4. Click OK to delete the Room filter.<br />

— or —<br />

HURON TECHNICAL MANUAL PAGE 95


Setting Minimum Source Distance<br />

↓ To set the Minimum Source<br />

Distance<br />

DSP Usage<br />

Summary<br />

THE SIMULATION TOOLS<br />

Click Cancel to cancel the deletion of the room response.<br />

The minimum source distance is the distance at which sounds<br />

have unity gain (that is, they are not made louder or softer when<br />

they are within this range). This facility is provided to prevent<br />

excessive gain — and possible hearing damage to a listener —<br />

when a sound object comes very close to the listener object.<br />

• Type the distance in virtual meters into the Minimum<br />

source distance box.<br />

All instances of the Sound Field Filter require 2 DSPs for<br />

reverberation filters.<br />

Each sound source used in the simulation requires 1 DSP.<br />

For example, When the Sound Field Filter boots up, it uses 3<br />

DSPs: two for the reverberation filters and one for the preloaded<br />

sound source.<br />

• The Sound Field Filter receives audio from inputs<br />

characterised as Sound objects, encodes them in B-format,<br />

and convolves them through a room response to produce Bformat<br />

encoded output.<br />

• The Sound Field Filter defines which <strong>SNAP</strong> or<br />

Locatorchannels the positional and rotational information of<br />

each object will be passed over. Positional and rotational<br />

information can be unique to each object or use a relational<br />

system. Under the relational system, positional and<br />

rotational information is passed over a set of linked<br />

channels.<br />

• The Sound Field Filter allows the definition of a Listener<br />

object (receiver) and Sound objects to be used in the<br />

AniScape suite of simulation tools.<br />

HURON TECHNICAL MANUAL PAGE 96


Features<br />

Operation<br />

Starting<br />

↓ To access the Speaker Decoder<br />

The Speaker Decoder<br />

The Speaker Decoder is used as a part of the AniScape suite of<br />

simulation tools. It decodes B-format signals and provides<br />

outputs for use in arrays of between two (2) and forty (40) loud<br />

speakers.<br />

• The ability to configure an array of between two and forty<br />

speakers for the playback of B-format sound.<br />

• The ability to specify the location of the listener within the<br />

speaker array.<br />

Figure 33 — The Speaker Decoder interface<br />

The Speaker Decoder must be loaded into the VRack through<br />

the New/Simulation Tools submenu (for loading instructions,<br />

see the System Tools section of this manual). Once loaded the<br />

Speaker decoder will appear in the VRack, and its associated<br />

patchset will appear in the Patch Bay.<br />

• Click on the Speaker Decoder panel in the VRack.<br />

HURON TECHNICAL MANUAL PAGE 97


Adding, Inserting, Removing and Editing a Speaker<br />

↓ To add a new speaker location<br />

to the array<br />

↓ To insert a new speaker into the<br />

array<br />

↓ To remove a speaker from the<br />

array<br />

↓ To edit an existing speaker<br />

location<br />

Tip: It is possible to make multiple<br />

changes to elements of the speaker<br />

array, before clicking configure.<br />

THE SIMULATION TOOLS<br />

The main Speaker Decoder window will appear (see Figure 33)<br />

Each speaker must be given a location in terms of its physical<br />

location in meters from the X,Y,Z origin point at 0,0,0.<br />

1. Click Add. This will create a new speaker with at default<br />

location at the origin (0,0,0) point.<br />

2. Edit the X location of the speaker relative to the origin — in<br />

meters — in the left-hand speaker location box.<br />

3. Edit the Y location of the speaker relative to the origin — in<br />

meters — in the middle speaker location box.<br />

4. Edit the Z location of the speaker relative to the origin — in<br />

meters — in the right hand speaker location box.<br />

5. Click Configure to accept the changes.<br />

1. Select a speaker from the speaker list, in front of which the<br />

new speaker is to be added.<br />

2. Click Insert to insert a speaker into the array. This will<br />

insert the new speaker and renumber the existing speakers.<br />

3. Edit the X location of the speaker relative to the origin — in<br />

meters — in the left-hand speaker location box.<br />

4. Edit the Y location of the speaker relative to the origin — in<br />

meters — in the middle speaker location box.<br />

5. Edit the Z location of the speaker relative to the origin — in<br />

meters — in the right hand speaker location box.<br />

6. Click Configure to accept the changes.<br />

1. Select a speaker from the speaker list.<br />

2. Click Delete, this will remove the speaker from the list and<br />

renumber the remaining speakers.<br />

3. Click Configure to accept these changes.<br />

1. Select the speaker to edit from the speaker list.<br />

2. Click Edit.<br />

3. Enter new distances in meters for the X,Y,Z coordinates<br />

relative to the point of origin (0,0,0) in the speaker location<br />

boxes.<br />

4. Click Configure to accept these changes.<br />

HURON TECHNICAL MANUAL PAGE 98


Adding and Editing a Listener<br />

↓ To position the listener<br />

Note: It is only possible to alter the<br />

position of the listener after a speaker<br />

has been added to the array.<br />

Testing Speakers<br />

↓ To check the speaker listing<br />

against actual speaker locations<br />

↓ To stop solo play from a speaker<br />

Restoring a Speaker Array<br />

↓ To restore a Speaker Decoder<br />

setup<br />

THE SIMULATION TOOLS<br />

The listener may be positioned at any point in the speaker array.<br />

All positional points in the Speaker Decoder are measured in<br />

meters from an origin point with the X,Y,Z coordinates of 0,0,0.<br />

1. Type the listeners X point relative to the origin in meters in<br />

the left-hand observer location box.<br />

2. Type the listeners Y point relative to the origin in meters in<br />

the middle observer location box.<br />

3. Type the listeners Z point relative to the origin in meters in<br />

the right hand observer location box.<br />

4. Click Configure to accept the changes to the listeners<br />

position.<br />

To ensure each speaker location is configured correctly the solo<br />

button can be used to isolate output from a single speaker.<br />

1. Connect a signal through the Sound Field Filter into the<br />

Speaker Decoder using the Patch Bay.<br />

2. Play the Signal.<br />

3. Open the Speaker Decoder.<br />

4. Select a speaker from the speaker array.<br />

5. Click Solo.<br />

6. The signal will only be sent through the specified speaker.<br />

• Click Solo, and the Speaker Decoder will function normally.<br />

When a Workspace (*.WSP) containing a speaker array is saved<br />

(see the System Tools section of this manual), the Speaker<br />

Decoder setup will also be saved.<br />

1. Click Import.<br />

2. From the File menu select the appropriate *.WSP file from<br />

which you wish to import the Speaker Decoder setup.<br />

3. Click OK to import the Speaker Decoder setup.<br />

— or —<br />

Click Cancel to ignore the import.<br />

HURON TECHNICAL MANUAL PAGE 99


DSP Usage<br />

Summary<br />

THE SIMULATION TOOLS<br />

The Speaker Decoder uses 1 DSP for every 16 speakers<br />

rendered.<br />

• The Speaker Decoder, decodes B-format signals and<br />

presents outputs to a speaker array of two (2) to forty (40)<br />

speakers in size.<br />

• The Speaker Decoder stores the locations of speakers, and<br />

the location of the real world listener.<br />

• Locations of speakers in an array can be loaded using the<br />

import *.WSP function.<br />

HURON TECHNICAL MANUAL PAGE 100


Features<br />

Operation<br />

Starting<br />

The Binaural Decoder<br />

The Binaural Decoder is used as a part of the AniScape suite of<br />

simulation tools. It decodes B-format signals and provides<br />

output for use with headphones. The Binaural Decoder also<br />

provides facilities for using three-dimensional position tracked<br />

headphones.<br />

The Binaural Decoder provides:<br />

• B-format decoding for headphones.<br />

• The ability to set gain trim levels for headphones.<br />

• The ability to select different Head Related Transfer<br />

Functions (HRTFs) and types of headphones for sound<br />

playback.<br />

• Facilities which allow the setting of an angle channel for the<br />

position tracking of headphones.<br />

Figure 34 — The Binaural Decoder main interface<br />

The Binaural Decoder must be loaded into the VRack through<br />

the New/Simulation Tools submenu (For loading instructions,<br />

see the System Tools section of this manual). Once loaded, the<br />

Binaural Decoder will appear in the VRack, and its associated<br />

patchset will appear in the Patch Bay.<br />

HURON TECHNICAL MANUAL PAGE 101


↓ To access the Binaural Decoder<br />

Altering Gain<br />

↓ To alter the signal gain for use<br />

through headphones<br />

Specifying, Changing and Deleting the Channel Angle<br />

↓ To specify an angle channel for<br />

the transferral of rotational<br />

information<br />

Note: The Binaural Decoder can be<br />

used in conjunction with the Sound<br />

Field Filter. It is important that the<br />

angle channel used for the orientation<br />

of the listener object (the angle<br />

channel setting in the Sound Field<br />

Filter) be different from that set in the<br />

Binaural Decoder. If the two channels<br />

are the same, confusing effects will<br />

result.<br />

↓ To change the angle channel for<br />

the transferral of rotational<br />

information<br />

↓ To delete the channel angle<br />

THE SIMULATION TOOLS<br />

• Click on the Binaural Decoder panel in the VRack.<br />

The main Binaural Decoder window will appear<br />

(see Figure 34).<br />

Alter the value of the gain by either:<br />

1. Typing a value into the Gain box.<br />

— or —<br />

Click the Arrows to select the appropriate gain value.<br />

2. Click Configure to accept the changes made to the gain<br />

levels.<br />

The angle channel selects the channel along which rotational<br />

information from a tracking device will be passed.<br />

1. Type a number, other than zero, into the angle channel box.<br />

2. Click Configure, this will set the angle channel to the<br />

number provided.<br />

1. Type the new channel number into the Angle Channel box.<br />

2. Click Configure, this will set the angle channel to the<br />

number provided.<br />

1. Set the Angle Channel box number to 0.<br />

2. Click Configure, this will halt the transmission of<br />

information through the Angle Channel.<br />

HURON TECHNICAL MANUAL PAGE 102


Selecting and Changing a Head Related Transfer Function (HRTF)<br />

THE SIMULATION TOOLS<br />

Head Related Transfer Functions (HRTFs) are sound filters<br />

which mimic the signal path from a sound source to the<br />

eardrums of the listener.<br />

The HRTFs used in the Binaural Decoder are read from a file<br />

stored in the directory Directory\Binaural\hrtf where<br />

Directory is defined by the path to the <strong>Huron</strong> 3.2 software<br />

directory.<br />

HRTF Description<br />

armhoriz.sim B-format Decode, Horizontal only, based on HRTF 1<br />

armperi.sim B-format Decode, Including height, based on HRTF 1<br />

sgbhoriz.sim B-format Decode, Horizontal only, based on HRTF 2<br />

sgbperi.sim B-format Decode, Including height, based on HRTF 2<br />

↓ To alter the HRTF used by the<br />

Binaural decoder<br />

Selecting Headphones<br />

↓ To alter the Headphone<br />

Response<br />

DSP Usage<br />

1. Select a New HRTF from the HRTF list.<br />

2. Click Configure to confirm the selection.<br />

Each type of headphone has a different response to various<br />

frequencies.<br />

The headphone equalisation filters used in the Binaural Decoder<br />

are read from files stored in the directory<br />

Directory\Binaural\Headphns where Directory<br />

is defined by the path to the <strong>Huron</strong> directory (usually<br />

C:\<strong>Huron</strong>32\).<br />

Currently the Binaural Decoder is supplied with a generic type<br />

of headphone.<br />

1. Select a New Headphone Response from the Headphone<br />

List.<br />

2. Click Configure to confirm the selection.<br />

The Binaural Decoder uses 1 DSP.<br />

HURON TECHNICAL MANUAL PAGE 103


Summary<br />

THE SIMULATION TOOLS<br />

• The Binaural Decoder decodes B-format signals and<br />

processes them for listening over headphones.<br />

• The Binaural Decoder allows the setting of HRTF and<br />

headphone responses to provide clearer and more effective<br />

three-dimensional sound sourcing.<br />

HURON TECHNICAL MANUAL PAGE 104


Features<br />

Operation<br />

MultiScape<br />

The MultiScape VRack tool is a self-contained threedimensional<br />

sound modelling application, which allows multiuser<br />

real time acoustic simulations.<br />

• Provides facilities for the control of sound objects via the<br />

<strong>SNAP</strong> interface.<br />

• Allows the creation of multi-user soundscapes, including<br />

door effects, room reflections, and live feeds<br />

• Produces room reverberation by using room filters derived<br />

from room acoustic modelling programs such as CATT-<br />

Acoustic, CATT-VRoom or Lake Technology’s MakeRoom<br />

software.<br />

• Provides the output of the simulation to each user over<br />

normal or tracked headphones or arrays of up to 12 speakers.<br />

MultiScape allows users to participate in highly realistic realtime<br />

three-dimensional acoustic simulations with multiple<br />

moving sound objects, multiple simulated rooms and multiple<br />

listener objects. Rooms are simulated using Lake’s proprietary<br />

convolution technology — Lake Convolution — which gives<br />

realistic room reverberation and accurate localisation.<br />

Playback can be through either tracked headphones or an array<br />

of between two and twelve speakers.<br />

MultiScape integrates with other applications via the VRack.<br />

Using MultiScape through the VRack interface allows a variety<br />

of processing options such as equalisation (using Lake EQ), to<br />

be inserted into the processing of MultiScape sound objects.<br />

All MultiScape functions are controllable via <strong>SNAP</strong> messages.<br />

HURON TECHNICAL MANUAL PAGE 105


Starting<br />

↓ To access MultiScape<br />

Figure 35 — The MultiScape main interface<br />

Adding Editing and Removing Sound Objects<br />

Adding a Sound Object<br />

↓ To add a sound object<br />

THE SIMULATION TOOLS<br />

MultiScape must be loaded into the VRack from the<br />

New/Simulation Tools submenu. (for loading instructions, see<br />

the the System Tools section of this manual). Once loaded the<br />

MultiScape panel will appear in the VRack and a MultiScape<br />

patchset will appear in the Patch Bay.<br />

• Click the MultiScape Panel in the VRack.<br />

The MultiScape Interface will appear (Figure 35).<br />

The MultiScape main interface object list, contains the list of<br />

sound objects, speaker arrays and headphones associated with<br />

the current MultiScape simulation.<br />

A sound object in MultiScape characterises a source of input to<br />

the <strong>Huron</strong> system, and can include a wide range of sound<br />

generation devices. The sound object can be given; a Name,<br />

Location Channel, Angle Channel, Directivity Factor, and a<br />

maximum Sound Pressure Level (SPL). Once characterised, a<br />

sound object will appear as an input patch point on the<br />

MultiScape patch panel in the Patch Bay application, where it<br />

can be patched to an audio source.<br />

• Click Add.<br />

The following dialogue box will appear (Figure 36).<br />

HURON TECHNICAL MANUAL PAGE 106


Figure 36 — The MultiScape add sound object dialogue<br />

Directivity Factor Name<br />

d = 0.000 Omni directional<br />

d = 0.500 Cardioid<br />

d = 0.625 Super Cardioid<br />

d = 0.750 Hyper Cardioid<br />

d = 1.000 Figure 8 or Dipole<br />

THE SIMULATION TOOLS<br />

1. Select Sound.<br />

2. Type a Name for the object in the Name Edit Box. This<br />

name will appear in the Patch Bay next to the appropriate<br />

patchpoint after the sound object has successfully been<br />

added.<br />

3. Set the Location Channel Number in the primary Location<br />

box. This Channel number specifies the channel on which<br />

the object will send and receive <strong>SNAP</strong> or Locatormessages<br />

indicating its current (X,Y,Z) position.<br />

4. Set the Angle Channel Number in the Primary Orientation<br />

channel box. This Angle Channel Number specifies the<br />

channel over which the orientation (facing) of the object is<br />

transmitted.<br />

5. Set the Dir Fact (Directivity Factor) of the Sound object.<br />

The Directivity Factor determines the shape of the sound<br />

field each source will produce. Some common directivity<br />

patterns are given below:<br />

6. Set the Peak Sound Pressure Level (SPL). The Peak SPL<br />

is measured in Decibels and restricts the maximum sound<br />

pressure that a Sound object can produce.<br />

7. Click OK to accept the configuration of the Sound object.<br />

The Sound object will be added to the MultiScape object list,<br />

and the appropriate patchpoints will be added to the<br />

patchpanel in the Patch Bay.<br />

— or —<br />

Click Cancel to Cancel the addition of the Sound Object.<br />

HURON TECHNICAL MANUAL PAGE 107


Editing a Sound Object<br />

↓ To edit the configuration of a<br />

Sound object<br />

Removing a Sound Object<br />

↓ To remove a Sound object<br />

Adding Editing and Removing Speaker Arrays<br />

Adding a Speaker Array<br />

↓ To add a speaker array<br />

THE SIMULATION TOOLS<br />

1. Select a Sound object from the MultiScape List. The Sound<br />

object will be highlighted.<br />

2. Click Edit.<br />

The Sound object Dialogue box will appear (Figure 36).<br />

3. Edit the required fields.<br />

4. Click OK to save the configuration changes.<br />

— or —<br />

Click Cancel to Cancel the changes made to the Sound<br />

object.<br />

1. Select the Sound object to remove from the MultiScape<br />

List.<br />

2. Click Delete.<br />

The Sound object will be deleted from the MultiScape List.<br />

Speaker Array objects in MultiScape represent real-world<br />

speaker arrays designed for the playback of audio simulations to<br />

a listener.<br />

Speaker arrays in MultiScape are handled via the MultiScape<br />

list speaker dialogue (Figure 37). Each Speaker object<br />

represents an array of up to 12 speakers, about which virtual<br />

sound objects can be panned.<br />

1. Click Add.<br />

2. Select Speaker.<br />

The MultiScape object dialogue box will expand to include a<br />

series of speaker related options (See Figure 37).<br />

HURON TECHNICAL MANUAL PAGE 108


Figure 37 — MultiScape add speaker object dialogue<br />

Speaker Pan Mode<br />

THE SIMULATION TOOLS<br />

3. Type the number of speakers in the array into the Speaker<br />

number box. The speaker box will expand to accommodate<br />

up to 12 speakers.<br />

Each speaker must be given a location in terms of its physical<br />

location in meters from the X,Y,Z origin point (and the location<br />

of the listener) at 0,0,0.<br />

4. For each speaker in the array;<br />

• Edit the X location of the speaker in the left-hand speaker<br />

location box.<br />

• Edit the Y location of the speaker in the middle speaker<br />

location box.<br />

• Edit the Z location of the speaker in the right hand speaker<br />

location box.<br />

5. Check Input if the Speaker object will have an input to the<br />

system (for example, the user of the array is using a<br />

microphone). If input is checked, an appropriate patch point<br />

will appear in the MultiScape patch panel in the Patch Bay.<br />

6. Type the Sensitivity of the listener. This value given in dB<br />

specifies how sensitive the real world listener is to sound. A<br />

high number indicates a low sensitivity and the gain of<br />

sound sources will be scaled upwards accordingly. A value<br />

of 100 is normal sensitivity.<br />

7. Select a Mode for the speaker array to operate in. Speaker<br />

arrays in MultiScape can be configured to operate in three<br />

modes:<br />

• The first is as a Speaker Panner, which will pan virtual<br />

sound objects about the speaker array.<br />

• The second is as a B-format decoder that decodes B-format<br />

sound and plays it to the appropriate speakers in the array.<br />

• The third mode encodes sound object movements and<br />

outputs them as B-format sound.<br />

When Speaker Pan mode is selected, further panning options<br />

will appear. These options are:<br />

HURON TECHNICAL MANUAL PAGE 109


B-format Decode Mode<br />

B-format Mode<br />

Editing a Speaker Array Object<br />

↓ To edit the configuration of a<br />

Speaker Array object<br />

Removing a Speaker Array Object<br />

↓ To remove a Speaker Array<br />

object<br />

THE SIMULATION TOOLS<br />

• Constant power panning which will maintain the same total<br />

output of power from the speaker array regardless of the<br />

listeners distance from the speaker.<br />

• Constant amplitude panning which will provide a constant<br />

volume to a listener, by altering the power output to the<br />

speaker.<br />

• Warp Factor which effects how sounds pan between<br />

speakers. A Warp factor of 1.00 gives a linear pan between<br />

two speakers. For a value greater than 1.00 the sound will<br />

tend to stick to speakers panning rapidly between them.<br />

With values less than 1.00, The sound will tend to linger<br />

between the speakers before moving on.<br />

B-format decoding decodes B-format sounds to an array of<br />

speakers.<br />

This mode produces output which is B-format encoded. The<br />

X,Y,Z,ω signals can be utilised by other applications or<br />

products which undertake their own B-format decoding.<br />

• Click OK to confirm the addition of the speaker array object<br />

to the MultiScape object list.<br />

— or —<br />

Click Cancel to cancel the addition of the speaker array<br />

object.<br />

1. Select the Speaker Array object from the MultiScape List.<br />

2. Click Edit.<br />

3. The Speaker Array dialogue box (Figure 37) will appear.<br />

4. Edit the required fields.<br />

5. Click OK to save the configuration changes.<br />

— or —<br />

Click Cancel to cancel the changes made to the Speaker<br />

Array.<br />

1. Select a Speaker Array object from the MultiScape List.<br />

2. Click Delete.<br />

The Speaker Array object will be deleted from the MultiScape<br />

List.<br />

HURON TECHNICAL MANUAL PAGE 110


Adding Editing and Removing Headphone Objects<br />

↓ To add a headphone object<br />

THE SIMULATION TOOLS<br />

Headphone objects in the MultiScape list represent a pair of<br />

headphones used by a listener to which the binaural decoding of<br />

the sound simulation will occur.<br />

1. Click Add.<br />

2. Set the Location Channel Number in the primary Location<br />

box. This location channel will be the channel along which<br />

messages are passed which pinpoint the position of the<br />

virtual listener object in the Soundscape.<br />

3. Select the headphone radio button.<br />

A set of new options related to headphone decoding will be<br />

shown.<br />

Figure 38 — MultiScape add speaker array dialogue<br />

4. Type a Name for the object, eg. Listener_1.<br />

5. Select a Head Related Transfer Function from the HRTF<br />

list. This list is comprised of the following HRTFs:<br />

HRTF Description<br />

armhoriz.sim B-format Decode, Horizontal only.<br />

armperi.sim B-format Decode, Including height.<br />

armpan.sim Panning mode, MultiScape.<br />

sgbhoriz.sim B-format Decode, Horizontal only.<br />

sgbperi.sim B-format Decode, Including height.<br />

sgbpan.sim Panning mode, MultiScape.<br />

transaur.sim Transaural HRTF.<br />

6. Add an Angle channel over which facing and angular<br />

information will be passed (this option is used primarily for<br />

headtracked headphones).<br />

7. Check the input box if the headphone user has an input. For<br />

example a microphone, once checked an input patch point<br />

will appear in the Patch Bay.<br />

HURON TECHNICAL MANUAL PAGE 111


Editing Headphone Objects<br />

↓ To edit a headphone object<br />

select the object in the<br />

MultiScape list<br />

Removing Headphone Objects<br />

↓ To remove a headphone object<br />

from the MultiScape object list<br />

MultiScape Rooms<br />

THE SIMULATION TOOLS<br />

8. Type the sensitivity of the listener. This value given in dB<br />

specifies how sensitive a user is to sound. A high number<br />

indicates a low sensitivity and sound sources will be scaled<br />

upwards accordingly. A sensitivity of 100 is considered<br />

normal.<br />

9. Click OK to enter the Headphones and their configuration<br />

into the MultiScape Object List.<br />

— or —<br />

Click Cancel to Cancel the addition of the Headphone object<br />

to the list.<br />

1. Click Edit.<br />

2. Edit the Headphone objects settings.<br />

3. Click OK to accept changes.<br />

— or —<br />

Click Cancel to ignore the changes.<br />

1. Select the Headphone object in the MultiScape Object List.<br />

2. Click Delete.<br />

The headphone object will be deleted from the list.<br />

Figure 39 – MultiScape room definition<br />

MultiScape provides the capability of having multiple<br />

interconnected rooms with different room impulse responses. It<br />

also allows for doors and door effects to be set up between<br />

rooms. All these effects may be altered in real time (ie. closing<br />

doors etc.)<br />

Virtual rooms are defined using two characteristics. The first<br />

characteristic is the room property. Properties are defined by<br />

HURON TECHNICAL MANUAL PAGE 112


Room Map Function<br />

↓ To access the room map<br />

function<br />

↓ To view the attributes of a room<br />

↓ To close the Room map dialogue<br />

THE SIMULATION TOOLS<br />

the impulse response of the room. These impulse responses<br />

produce the reverberant effects in the virtual room. The second<br />

property is the size of the virtual room. In MultiScape the size<br />

of the virtual room is defined by a room segment. Each room<br />

segment is a rectangular based prism (cuboidal or hexahedron),<br />

with a lower left X1,Y1,Z1 coordinate and an upper right<br />

X2,Y2,Z2 coordinate.<br />

A MultiScape room simulation may have multiple room<br />

segments all of which may have the same or different room<br />

properties, and multiple doors.<br />

Door Simulations in MultiScape are based on rectangles, on the<br />

boundary between room segments.<br />

The room map function shows the dimensions, and attributes of<br />

doors and rooms utilised in the current MultiScape simulation.<br />

Each room and its associated doors, and room response<br />

attributes are displayed sequentially in the room map.<br />

• Click Map the following window will appear (Figure 40).<br />

Figure 40 — MultiScape’s room map dialogue<br />

• Click the Room Spin box until the desired room appears in<br />

the Map window.<br />

As Rooms, Doors and Room properties are added to the<br />

simulation they will appear in the appropriate section of the<br />

Room Map.<br />

• Click Close.<br />

HURON TECHNICAL MANUAL PAGE 113


Adding Rooms, Deleting Rooms<br />

Adding Room Properties<br />

Creating Room Segments<br />

Associating Room Properties with Room Segments<br />

Creating Assigning and Using Doors<br />

MultiScape Simulation Options<br />

THE SIMULATION TOOLS<br />

Rooms must be loaded into MultiScape via <strong>SNAP</strong> or Locator<br />

scripts.<br />

The procedure outlined below illustrates the five-step process<br />

involved in creating a virtual Soundscape in MultiScape.<br />

Room properties define the impulse response of a room. These<br />

responses can be measured (using Lake Technology’s<br />

measurement application), or generated from simulated<br />

soundspaces using modelling software such as the CATTacoustics<br />

room modelling package or Lake Technology’s<br />

MakeRoom application.<br />

Create a room segment (a virtual space). Three-dimensional<br />

spaces may be divided up into a series of rectangular based<br />

prisms. To define complex room geometries or spaces a series<br />

of these prisms may be linked together using the same room<br />

properties (impulse responses).<br />

Once defined, the room properties or impulses may be<br />

associated with the room segments, to give the virtual acoustic<br />

spaces realistic sound properties. Each segment can have a<br />

single property, but multiple room segments may be associated<br />

with the same property.<br />

Doors are created as rectangular objects with lower left, and<br />

upper right X,Y,Z coordinate pairs and have to be attached to<br />

specific room segments. Doors must be placed at the junction<br />

of two rooms. Once doors are associated with room segments it<br />

is possible to give a value representing the relative value of<br />

their closure. Doors with a value of 0.00 are fully closed while<br />

doors with a value of 1.00 are fully open.<br />

MultiScape provides three levels of simulation.<br />

HURON TECHNICAL MANUAL PAGE 114


No Room simulation<br />

↓ To select No Room simulation<br />

Room Simulation<br />

↓ To select Room Simulation<br />

Door Simulation<br />

↓ To select Door Simulation<br />

DSP Usage<br />

THE SIMULATION TOOLS<br />

When the room simulation option is not checked MultiScape<br />

acts as if sound objects and listener objects were placed in a<br />

non-reverberant room of unlimited size. The spatialising of<br />

sounds, and the apparent movement of Sound objects will still<br />

occur.<br />

• Uncheck the Room Simulation option.<br />

When Room Simulation is checked, any defined room segments<br />

and their associated properties will come into effect. Any doors<br />

which have been defined will operate in a simplistic manner,<br />

behaving as if they were a point source with the volume<br />

dependent on the distance of sound objects from the door and<br />

the relative closure of the door.<br />

• Check the Room Simulation option.<br />

Door simulation can only be enabled when Room Simulation is<br />

turned on. With door simulation checked, extra DSP resources<br />

are utilised to make door effects more realistic. When this<br />

option is turned on, doors allow sounds to be processed using<br />

room impulses. Up to sixteen doors can be added for each DSP<br />

used.<br />

• Check the Door Simulation option (this option is only<br />

available when Room Simulation is checked).<br />

Multiscape’s DSP requirements are illustrated in the following<br />

table:<br />

Each user<br />

requires<br />

Each room<br />

requires<br />

Door mixer<br />

(all doors)<br />

No room /<br />

door<br />

simulation<br />

Room<br />

simulation<br />

only<br />

Room and<br />

door<br />

simulation<br />

1 DSP 3 DSP 1 DSP<br />

— — 2 DSP<br />

— — 1 DSP<br />

HURON TECHNICAL MANUAL PAGE 115


Summary<br />

THE SIMULATION TOOLS<br />

• MultiScape provides an integrated set of tools for multiple<br />

people multi-room, multi-user acoustic simulations.<br />

• It provides the ability to add Sound objects, Speaker Arrays<br />

and Headphones to a virtual Soundscape.<br />

• It provides fully featured room and door effects, which can<br />

be updated in real-time.<br />

HURON TECHNICAL MANUAL PAGE 116


Features<br />

Operation<br />

HeadScape<br />

HeadScape is a subset of the simulation tools used for accurate<br />

headtracked auralisation. HeadScape allows the<br />

implementation of highly accurate localisation of sounds over<br />

headphones.<br />

• HeadScape utilises a filter switching technique to provide<br />

accurate aural simulations controlled by a headtracked pair<br />

of headphones.<br />

• HeadScape uses responses derived from acoustic modelling<br />

software in order to obtain accurate room responses for use<br />

in simulations.<br />

HeadScape is Lake Technology’s premier head-tracked<br />

auralisation system. Designed for critical evaluation of room<br />

acoustic simulations, HeadScape makes use of Lake<br />

Technology’s proprietary low-latency long convolution<br />

technology to switch long FIR filters smoothly and efficiently<br />

in response to the listener’s head movement.<br />

To create a consistent and realistic simulation HeadScape<br />

employs a two stage filtering process. The late part of the<br />

room’s impulse response is kept fixed but the early part is<br />

selectively switched depending on the listener’s head position.<br />

The early part is of the order of 4000 samples long and includes<br />

a binaural representation of the early reflections in the space.<br />

This feature enables HeadScape to create virtual sound objects<br />

that are strongly and clearly externalised.<br />

HURON TECHNICAL MANUAL PAGE 117


Starting<br />

↓ To access HeadScape<br />

Setting the Angle Channel<br />

↓ To set the angle channel number<br />

Figure 41 — The HeadScape main interface<br />

THE SIMULATION TOOLS<br />

HeadScape must be loaded into the VRack through the<br />

New/Simulation Tools submenu. (for loading instructions see<br />

the System Tools section of this manual). Once loaded, The<br />

HeadScape rack panel will appear in the VRack, and its<br />

associated patchset will appear in the Patch Bay.<br />

• Click on the HeadScape panel in the VRack.<br />

The HeadScape main interface will appear (Figure 41).<br />

The Angle channel is the channel over which the orientation of<br />

the listener is transmitted. In a HeadScape simulation this<br />

channel is most often utilised by a headtracking device such as<br />

the Polhemus InsideTrak system communicating using <strong>SNAP</strong><br />

commands.<br />

• Type the Angle Channel Number in the Angle edit box.<br />

Adding the Environment Related Transfer Functions (ERTF’s)<br />

↓ To load the ERTF’s into<br />

HeadScape<br />

The ERTF’s in a HeadScape simulation represent the room<br />

reverberation or the tail part of the composite HeadScape filter.<br />

By changing these filters it is possible to alter the type of room<br />

the sound appears to be generated in.<br />

1. Click Browse … next to the Left edit box. The following<br />

dialogue box will appear.<br />

HURON TECHNICAL MANUAL PAGE 118


Figure 42 — HeadScape’s add ERTF’s dialogue box<br />

Adding, Editing and Deleting Early Impulses<br />

↓ To add a series of front impulses<br />

to the list<br />

↓ To edit (swap) a series of front<br />

impulse filters in the list<br />

↓ To delete a series of front<br />

impulses from the list<br />

THE SIMULATION TOOLS<br />

2. From the Select *.SIM file window, Choose the left-hand<br />

impulse response file for the room required.<br />

3. Click OK to load the left Impulse response filter.<br />

4. Click Browse … next to the Right edit box, and repeat the<br />

procedure above to load the right side impulse.<br />

The switching of the early part of the impulse response in a<br />

HeadScape simulation provides the means of clearly and<br />

accurately externalising sound sources. A series of filters is<br />

loaded into the HeadScape tool via a descriptive HeadTurn file<br />

(*.htr) — for more details on the HeadTurn file see the file<br />

description below.<br />

1. Click Add.<br />

2. Select a the relevant *.htr file.<br />

3. Click OK.<br />

1. Select the *.htr file you wish to swap for another.<br />

2. Click Edit.<br />

3. Click OK, the selected *.htr file will be replaced.<br />

1. Select the *.htr file you wish to remove.<br />

HURON TECHNICAL MANUAL PAGE 119


Configuring HeadScape<br />

↓ To configure HeadScape<br />

Note: Configuration is required each<br />

time any of the HeadScape<br />

Parameters change, this is illustrated<br />

by the un-dimming of the Configure<br />

button when changes have been made<br />

to the HeadScape setup.<br />

Saving<br />

HeadScape files and the HeadScape File Format<br />

THE SIMULATION TOOLS<br />

2. Click Delete, the selected *.htr file will be removed from the<br />

list.<br />

Once the angle channel, front impulses and end impulses have<br />

been selected the HeadScape application needs to be<br />

configured. Configuration entails the booting of DSPs and<br />

loading of filter series into the DSP card’s memory to allow<br />

realtime switching of early impulses.<br />

• Click Configure.<br />

HeadScape will load the required DSP filters and load the<br />

impulse responses into memory. Once HeadScape is<br />

configured the Configure button will dim.<br />

Once configured and saved in a workspace, the current<br />

configuration of HeadScape will be restored when that<br />

workspace is loaded.<br />

HeadScape uses a collection of impulse responses in *.SIM files<br />

to represent an acoustic space. Acoustic modelling programs<br />

(such as CATT Acoustic) have the ability to generate these SIM<br />

files automatically. A pair of short *.SIM files exist for each<br />

angle of head rotation for a particular listening position.<br />

Another pair of long SIM files exist which represent the<br />

reverberant tail of the impulse response for the room.<br />

The relationship between the short SIM files and the angles of<br />

head rotation they represent is defined in a “HeadTurn” (*.htr)<br />

file. The HeadTurn is a text file containing a list of numbers<br />

with the following format<br />

aaa.a eee.e<br />

aaa.a represents an angle from 0 to 360 degrees with 0.5 degree<br />

resolution. This angle is the angular position of the head for the<br />

specified source-receiver simulation.<br />

eee.e represents an elevation from +180 to -180 degrees with<br />

0.5 degree resolution. This angle is the elevation of the head for<br />

the specified source-receiver simulation.<br />

HURON TECHNICAL MANUAL PAGE 120


HURON1<br />

3840<br />

0.0 0<br />

1.5 0<br />

3.0 0<br />

4.5 0<br />

6.0 0<br />

7.5 0<br />

9.0 0<br />

10.5 0<br />

12.0 0<br />

Angle Elevation SIM files represented<br />

0.0 0 h000180l.sim and h000180r.sim<br />

1.5 0 h003180l.sim and h003180r.sim<br />

3.0 0 h006180l.sim and h006180r.sim<br />

4.5 0 h009180l.sim and h009180r.sim<br />

6.0 0 h012180l.sim and h012180r.sim<br />

7.5 0 h015180l.sim and h015180r.sim<br />

9.0 0 h018180l.sim and h018180r.sim<br />

10.5 0 h021180l.sim and h021180r.sim<br />

12.0 0 h024180l.sim and h024180r.sim<br />

Angle Elevation SIM files represented<br />

0.0 -11.5 h000157l.sim and h000157r.sim<br />

0.0 0 h000180l.sim and h000180r.sim<br />

0.0 11.5 h000203l.sim and h000203r.sim<br />

0.0 22.0 h000224l.sim and h000224r.sim<br />

6.0 -11.5 h012157l.sim and h012157r.sim<br />

6.0 0 h012180l.sim and h012180r.sim<br />

6.0 11.5 h012203l.sim and h012203r.sim<br />

6.0 22.0 h012224l.sim and h012224r.sim<br />

12.0 -11.5 h024157l.sim and h024157r.sim<br />

DSP Usage<br />

THE SIMULATION TOOLS<br />

Each number represents a pair of SIM files for the specified<br />

angle. The SIM file names will be AAAEEEl.sim and<br />

AAAEEEr.sim, where AAA=2 x aaa.a and EEE=180 + (2 x<br />

eee.e.)<br />

For example, below is the first 10 lines of an example<br />

HeadTurn file.<br />

HURON1 specifies the version number of the HeadTurn file.<br />

3840 represents the length of the head SIM files created. If this<br />

length is greater than the maximum head filter length, then<br />

HeadScape will truncate this length to its maximum (of 3585).<br />

Each of the following numbers represent the SIM file pair for<br />

the specified angle. The relationship between the numbers in<br />

the HeadTurn file and the actual SIM files is as follows:<br />

A HeadTurn file can also specify elevations, as follows:<br />

HeadScape uses 2 DSPs for the tail filters representing the room<br />

response, and 2 DSPs for each sound source in the simulation.<br />

HURON TECHNICAL MANUAL PAGE 121


Summary<br />

THE SIMULATION TOOLS<br />

• HeadScape is a tool designed for the accurate and clear<br />

externalisation of sound sources for research purposes.<br />

• HeadScape utilises a two stage impulse response system to<br />

ensure accuracy.<br />

• HeadScape uses a simple paired text file (*.htr) to map the<br />

early part of the impulse response to representative<br />

directions with a resolution of up to 0.5 degrees.<br />

HURON TECHNICAL MANUAL PAGE 122


Features<br />

Operation<br />

Sonic Animator<br />

Sonic Animator gives sequencing capability to <strong>Huron</strong> messages<br />

in the way that audio or MIDI sequencing applications give<br />

sequencing capability to audio recordings or MIDI messages.<br />

In particular, this initial Sonic Animator version allows sound<br />

source location sequences to be recorded, replayed, and<br />

generally manipulated in a graphical environment.<br />

Sonic Animator is not a VRack application, but stands alone<br />

and communicates with VRack applications such as the Space<br />

Array through <strong>Huron</strong> messages.<br />

• Recording and playback of sound source location sequences<br />

using either the internal PC clock or external MIDI Time<br />

Code (MTC) through an ordinary sound card in the <strong>Huron</strong>.<br />

• A track-based temporal view where each track corresponds<br />

to a Location Channel Number.<br />

• Temporal manipulation of location sequences, such as cut,<br />

copy, paste, clear, merge, split, shift by.<br />

• Importing and exporting of Locator scripts, allowing old<br />

performances to be used without having to be recreated.<br />

Locator scripts are described in the Locator subsection of<br />

this manual.<br />

• Playback with linear interpolation between location<br />

messages. Thus, rather than specify every location message<br />

to be sent, the user may specify extremes and let Sonic<br />

Animator interpolate between them.<br />

• An internal resolution of 1 millisecond and an internal<br />

playback or record resolution of 10 milliseconds.<br />

In order to successfully use Sonic Animator, an understanding<br />

of the hierarchical data model is required. The model is<br />

represented pictorially in the following diagram.<br />

HURON TECHNICAL MANUAL PAGE 123


Scene<br />

(List of Tracks)<br />

Track<br />

(List of Trajectories)<br />

Trajectory<br />

(List of Events)<br />

Event<br />

Figure 43 – Sonic Animator Hierarchical Model<br />

THE SIMULATION TOOLS<br />

The highest level element is the scene. A scene corresponds<br />

logically to a single soundscape that has a start time and a<br />

duration. It contains a number of tracks that will be played<br />

back simultaneously.<br />

A track is a conceptual device that describes all movement of a<br />

single sound source. Each sound source will be replayed on a<br />

Location Channel Number so each track has its own unique<br />

channel mapping.<br />

A trajectory is a conceptual device that represents a single<br />

movement sequence within a track. A trajectory has a defined<br />

start time and duration. A track may consist of multiple<br />

trajectories if the trajectories are logically separate movements.<br />

For example, the sound of a car may approach from a distance<br />

and then stop in front of the listener. Some time later, it may<br />

turn around and drive off again. The two movements can be<br />

recorded separately and dealt with as separate trajectories.<br />

An event is a location message that occurs at a defined time<br />

within a trajectory. Events are stored relative to the start time<br />

of the trajectory. This means that the first event is always at<br />

time = 0 and the last at time = duration. The duration is defined<br />

by the last event in the trajectory.<br />

An event describes the location of a sound source at a defined<br />

instant in time. Thus it has a duration of 0 and can be defined<br />

by just a start time. Conversely, scenes, tracks, and trajectories<br />

have start and end times.<br />

Trajectories cannot overlap within a track. Similarly, multiple<br />

events cannot occur at the same time within a trajectory.<br />

HURON TECHNICAL MANUAL PAGE 124


Starting<br />

↓ To create a new scene<br />

THE SIMULATION TOOLS<br />

Figure 44 represents a scene, contains 9 tracks, 6 trajectories,<br />

and an indeterminate number of events.<br />

Figure 44 – Sonic Animator Interface<br />

Sonic Animator must be started from the Windows 2000 Start<br />

menu. It is a stand alone application and does not require the<br />

VRack to be running.<br />

A new scene must be created before trajectories can be recorded<br />

or Locator scripts imported.<br />

• Select New from the File menu and the Scene Properties<br />

dialog will appear allowing modification of the default scene<br />

settings.<br />

HURON TECHNICAL MANUAL PAGE 125


Figure 45 – Scene Properties dialog<br />

THE SIMULATION TOOLS<br />

The Description and Author fields allow descriptive<br />

information that describes the scene for other users.<br />

The Timeline format radio buttons affect the format of the<br />

timeline at the top of the screen. When the SMPTE format is<br />

selected, the user is allowed to choose from one of the defined<br />

MTC frame rates. This option affects the display of the<br />

timeline only and has no affect on sequencing rates.<br />

The Internal timer will use the PC clock for timing during play<br />

and record, and the user may select a Sample Rate in<br />

milliseconds. The External timer will use one of the MIDI<br />

devices for synchronisation.<br />

The Insertion mode affects the way trajectories behave when<br />

they overlap during manipulation operations. Don’t Overwrite<br />

will clip the overlapping trajectory, leaving the original<br />

untouched; Overwrite will always overwrite the overlapping<br />

section of the original trajectory; while Prompt will allow the<br />

user to choose whether to overwrite whenever an overlap<br />

situation occurs.<br />

There are three ways of inserting event information into a Sonic<br />

Animator Scene. The first is to import a previously created<br />

Locator script. Another is to record <strong>Huron</strong> messages directly<br />

using a tools such as Locator or Tracker. The third is to directly<br />

edit the ASCII Scene file in a text editor. These three methods<br />

are described below.<br />

HURON TECHNICAL MANUAL PAGE 126


↓ To import a Locator script<br />

↓ To record messages from<br />

another application<br />

↓ To edit a scene file<br />

THE SIMULATION TOOLS<br />

1. Select Import from the File menu.<br />

2. Select a file to import from the file dialog.<br />

3. Select the time you wish to paste at. If the Ignore empty<br />

time option is selected then the first event in the script will<br />

be inserted at the given time. Otherwise the first event will<br />

be pasted with whatever offset it has within the script.<br />

The import mechanism will read the script and attempt to match<br />

Locator channels with existing tracks in the current scene. If a<br />

channel is found in the script that doesn’t match the channel of<br />

any existing track in the scene then a new track will be created<br />

with the desired channel.<br />

Within a Locator script, the events mapped to each channel are<br />

assumed to correspond to a single trajectory. So Locator scripts<br />

can’t contain multiple trajectories within a track.<br />

<strong>Huron</strong> tools such as Locator and Tracker create messages that<br />

can be recorded by pressing the record button in Sonic<br />

Animator. This section assumes that internal synchronisation is<br />

used. See the section on External MTC Synchronisation for<br />

external timing.<br />

When the record button is pressed, Sonic Animator listens for<br />

messages indicating that object locations are changing, and any<br />

messages whose Location Channel Numbers match the channel<br />

number of an existing, armed track will be inserted into a new<br />

trajectory in that track. A message destined for a track that isn’t<br />

armed or doesn’t exist in the scene will be ignored.<br />

The Scene file format uses ordinary ASCII characters and can<br />

be edited using any text editor. The file format uses the same<br />

hierarchical model as the rest of the application.<br />

The first three words of the file must be Sonic Animator Scene<br />

and the next two must be the version information.<br />

After this, the file is organised into keywords and corresponding<br />

data. Most keywords have one data element. See the file<br />

Sample.scene for an example of the allowable keywords and<br />

refer to the Command Reference section of this manual for a<br />

complete list.<br />

The LocationTrack keyword must be followed by a block<br />

section containing all the information for a track. When the file<br />

is parsed, the tracks will be inserted into the scene in the order<br />

they appear in the file.<br />

Similarly, track sections have a set of allowable keywords, one<br />

of which is LocationTrajectory. Note that the start time of a<br />

trajectory is specified relative to the start of the scene. Within<br />

the LocationTrajectory block are the trajectory information<br />

and a list of events. The data for the LocationEvent keyword<br />

consists of a time relative to the start of the trajectory and a<br />

three dimensional Cartesian position.<br />

The keywords within a section may appear in any order and any<br />

unrecognised keywords will be ignored. Comments are<br />

HURON TECHNICAL MANUAL PAGE 127


Manipulating Tracks<br />

↓ To add a track<br />

↓ To change a track’s position in<br />

the scene<br />

↓ To delete a track<br />

THE SIMULATION TOOLS<br />

allowed, with any text on a line following a semicolon (;) being<br />

ignored.<br />

• Select Add Track from the Track menu<br />

— or —<br />

Double click on an empty part of the scene.<br />

The Track Properties dialog will appear asking you for<br />

information about the new track.<br />

Figure 46 – Track Properties dialog<br />

The first free channel number will appear as the default for the<br />

new track. Select Interpolation if you wish this track’s output<br />

to be a linear interpolation between the nearest two events<br />

within a trajectory. The Solo and Mute functions allow you to<br />

silence all other tracks, or just this one during playback. The<br />

Arm feature specifies whether to add events to this track during<br />

record. If Arm is unchecked then events on the track’s channel<br />

will be ignored when recording.<br />

1. Select Move Track from the Track menu.<br />

2. Identify the desired track, either by numerical position<br />

within the scene, or by name.<br />

3. Select the new desired position and click OK.<br />

1. Select Delete from the Track menu.<br />

2. Identify the desired track, either by numerical position<br />

within the scene, or by name and click OK.<br />

HURON TECHNICAL MANUAL PAGE 128


↓ To change a track’s properties<br />

Manipulating Trajectories<br />

↓ Selecting trajectories<br />

↓ Cutting, copying, and pasting<br />

trajectories<br />

↓ To clear a trajectory<br />

↓ To merge two or more<br />

trajectories<br />

↓ To split a trajectory<br />

• Select Properties from the Track menu.<br />

THE SIMULATION TOOLS<br />

• Select trajectories by clicking on them with the left mouse<br />

button. Use Shift or Ctrl to select and unselect multiple<br />

trajectories.<br />

— or —<br />

Click the left mouse button on an empty piece of track and<br />

drag the focus rectangle over the trajectories you want selected.<br />

These operations use the standard Windows clipboard to<br />

serialise and retrieve trajectories and are available either from<br />

the Edit menu or by right-clicking on the desired trajectory.<br />

When a trajectory is cut or copied, a copy of its parent tracks is<br />

also made. This serves two purposes: the first is to provide a<br />

record of where the trajectory originated from; the second is to<br />

have a record of the track properties, in case a new track will be<br />

created to paste into.<br />

If there are trajectories selected when the paste command is<br />

issued then the clipboard trajectories will replace the selected<br />

ones. Conversely, if no trajectories are selected then the Paste<br />

dialog will appear, prompting for a track and a time to begin<br />

pasting from. This will be the new position of the first<br />

trajectory on the clipboard. The first trajectory is always the<br />

earliest selected trajectory in the first track containing selected<br />

trajectories.<br />

If trajectories will be pasted past the end of the scene then the<br />

scene will be extended to accommodate them. This does not<br />

apply past the beginning of a scene. Similarly, if the<br />

trajectories will be pasted past the limit of tracks then more<br />

tracks will be created.<br />

• Select Clear from the Edit menu.<br />

• Select Merge from the Edit menu.<br />

Merging two or more trajectories is allowed when the<br />

trajectories are located on the same track and when there are no<br />

unselected trajectories between those to be merged.<br />

1. Select Split from the Edit menu.<br />

2. Enter a time at which to split the trajectory. The time must<br />

be within the selected trajectory.<br />

The trajectory will be split into two, with all events up to and<br />

including the split time going into the first new trajectory and<br />

all remaining events going into the second.<br />

HURON TECHNICAL MANUAL PAGE 129


↓ Exporting a trajectory to a<br />

Locator script<br />

↓ To change a trajectory’s<br />

properties<br />

↓ Manipulating trajectories by<br />

clicking and dragging<br />

Sequencing Functions<br />

↓ To play the current scene<br />

↓ More on recording<br />

THE SIMULATION TOOLS<br />

• Select Export from the Edit menu and then choose a<br />

filename for the script in the file dialog.<br />

The trajectory will be written into a new Locator script,<br />

beginning at time 0.<br />

• Select Properties from the Edit menu.<br />

As well as using the formal methods of trajectory manipulation,<br />

it is also possible to move trajectories by clicking on them and<br />

dragging them to a new desired position. Use the Ctrl key<br />

while releasing the mouse to copy the selected trajectories<br />

rather than move them.<br />

• Click the Play button or select Play from the Sequence<br />

menu.<br />

If using internal synchronisation, the scene will begin playing<br />

from the time marker position. Sonic Animator uses the PCs<br />

internal timer mechanisms to generate a timer message<br />

whenever the interval specified in the Scene Properties dialog<br />

has elapsed.<br />

At this stage, two things may happen. If a track is interpolated<br />

and the current time is corresponds to somewhere inside a<br />

trajectory, then the sequencer will find the two events on either<br />

side of this time and linearly interpolate between them to give a<br />

position to output. If the time does not fall within a trajectory<br />

then no messages will be sent and the location will remain<br />

where it was at the end of the last trajectory. Conversely, if the<br />

track is not interpolated, then the sequencer will play all events<br />

that have become due since the last timer message.<br />

The time marker will move along as the scene is played.<br />

However, updating the time marker is a low priority task and<br />

only happens when the system is idle. Thus, when the<br />

sequencer is using a lot of CPU time sending events, the time<br />

marker won’t move.<br />

Recording uses a similar mechanism to playing but is slightly<br />

more complex. The same timer mechanism is used to update<br />

the current time and the time marker. When a message arrives,<br />

the sequencer finds the time of the last timer message and<br />

applies this to the received message when writing it into the<br />

scene. If multiple messages arrive between timer updates then<br />

the later events are discarded.<br />

HURON TECHNICAL MANUAL PAGE 130


External MTC Synchronisation<br />

↓ Connecting a MIDI device<br />

↓ Sequencing under external<br />

synchronisation<br />

User Interface Features<br />

↓ Zooming in and out<br />

↓ Using the timeline<br />

DSP Usage<br />

Summary<br />

THE SIMULATION TOOLS<br />

An external MIDI Time Code generating device such as the<br />

Opcode Studio 64XTC may be connected to the <strong>Huron</strong> through<br />

the MIDI port on the <strong>Huron</strong>’s sound card. The Opcode device<br />

is driven by a PC or Macintosh through a serial cable.<br />

• Select External in the Scene Properties dialog.<br />

When playing using an external timer, the timer message<br />

updates are provided by the external device rather than the PC<br />

clock. The same interpolation and non-interpolation behaviour<br />

occurs.<br />

Similarly, when recording under an external timer, the timer<br />

message is used to set the current time and messages that arrive<br />

are assigned the most recent time.<br />

To zoom in and out on a scene, use the buttons on the Zoom<br />

Toolbar. Alternatively, select Zoom In or Zoom Out from the<br />

View menu. Zooming in or out will adjust the view by a factor<br />

of 2 in either direction and zooming in will centre the new view<br />

on the middle of the old view.<br />

The timeline resides at the top of the scene window and can be<br />

moved to the bottom of the window by right-clicking on it and<br />

selecting either Dock->Top or Dock->Bottom.<br />

Clicking on the timeline will also move the position of the<br />

current time marker.<br />

Sonic Animator does not use DSP resources.<br />

• Sonic Animator is a real-time sound source location<br />

sequencer for the <strong>Huron</strong>. In this manner, it replaces some of<br />

the functionality of Locator.<br />

• The familiar sequencer interface allows trajectories of sound<br />

sources to be manipulated with ease.<br />

• Sonic Animator will synchronise to MIDI Time Code for<br />

full integration with existing sound equipment.<br />

HURON TECHNICAL MANUAL PAGE 131


Other Simulation Tools<br />

This sub-section describes the other simulation tools provided<br />

by Lake Technology for their <strong>Huron</strong> systems.<br />

These tools can be used in association with other VRack<br />

applications to provide an enormous range of sound processing<br />

configurations. Some of the more commonly used<br />

configurations are described below:<br />

Locator: used to send positional information for sound objects<br />

in AniScape, MultiScape, and Space Array simulations. In<br />

addition, it provides a simple scripting interface through which<br />

rooms and acoustic spaces can be configured in AniScape,<br />

MultiScape, and Space Array. The Locator can also be used to<br />

load, associate, and play wavetable sounds through the<br />

WavePlayer application. Finally, the Locator provides facilities<br />

for sending MIDI messages and program control messages to<br />

the Convolver.<br />

WavePlayer-2: An enhanced version of WavePlayer featuring<br />

large sample playback and zero DSP load.<br />

WavePlayer: primarily used in AniScape, MultiScape, and<br />

Space Array simulations, and provides a facility for playing<br />

*.WAV files (converted to the *.SIM file format) to be used as<br />

input to other applications.<br />

Tracker: primarily used in headtracking applications such as<br />

HeadScape. It can also be used to position sound objects in<br />

AniScape, MultiScape, or Space Array simulations, or be used<br />

to input trajectories into Sonic Animator.<br />

Socket: when used in conjunction with the <strong>SNAP</strong> Spatial<br />

Network Audio Protocol, the Socket interface can be used to<br />

control almost every aspect of a <strong>Huron</strong> from a remote<br />

workstation.<br />

Makeroom: The make room utility is a stand-alone Windows<br />

application with the ability to create room impulse response<br />

filters for use in Convolver, AniScape, MultiScape, and Space<br />

Array simulations.<br />

HURON TECHNICAL MANUAL PAGE 133


Features<br />

The Locator<br />

The Locator tool provides a graphical interface for moving<br />

multiple AniScape, MultiScape, or Space Array Objects in a<br />

two-dimensional Plane (X,Y). It also provides facilities for<br />

controlling Lake Technology applications such as the<br />

WavePlayer. The Locator tool is designed as a testing and<br />

configuration verification program only. It is not intended to be<br />

used in critical applications where precise, synchronised control<br />

over sound objects, listener objects, and the WavePlayer<br />

application is required. Instead, Sonic Animator may be used to<br />

perform some of these functions.<br />

• The ability to move multiple AniScape, MultiScape, or<br />

Space Array objects (sound or listener) in a two-dimensional<br />

plane (the X,Y plane) by mouse click-and-drag operations.<br />

• Playing back script files called “Locator Scripts”. These<br />

files have the extension “.loc” and can be written using a text<br />

editor.<br />

• The ability to record Locator scripts from the graphical<br />

interface, for later playback.<br />

HURON TECHNICAL MANUAL PAGE 135


Operation<br />

Starting<br />

↓ To start the Locator tool<br />

Figure 47 — Locator main interface<br />

OTHER SIMULATION TOOLS<br />

The Locator is started from the Windows 2000 start menu.<br />

1. From the Start Menu select <strong>Huron</strong> 3.2<br />

2. Click on the Locator icon.<br />

The Locator main interface will appear (see Figure<br />

47).<br />

Setting a Symbol to Represent a Sound object or Listener object<br />

↓ To associate a symbol with a<br />

location channel<br />

Each symbol on the Locator Control Canvass can be set to<br />

represent the location of a sound object in two dimensions. By<br />

associating one of these symbols with the channel of a sound<br />

object (set in the AniScape, MultiScape , or Space Array<br />

simulation tools) it is possible to use the Locator Control<br />

Canvass to move sound or listener objects around the<br />

Soundscape.<br />

• Enter the number of the location channel number next to the<br />

symbol you wish to represent it.<br />

The symbol on the Locator Canvass will now control the<br />

location of the sound object associated with the location<br />

channel number.<br />

HURON TECHNICAL MANUAL PAGE 136


Moving a Listener Object or Sound Object using the Locator Control Panel<br />

↓ To move a virtual source or<br />

listener object<br />

Tip: To ensure the symbol is<br />

associated with the correct Sound or<br />

Listener object, watch the main<br />

interface of the simulation program<br />

(eg. MultiScape) to see if the<br />

appropriate X,Y positions are<br />

updating.<br />

Locator Scripts<br />

OTHER SIMULATION TOOLS<br />

Once a symbol has been associated with a sound or listener<br />

object on the Locator interface, it is possible to move them<br />

about the Locator Canvass.<br />

• Click and drag on a symbol in the Locator Control Canvass.<br />

The Sound object will follow the path of the symbol across the<br />

virtual Soundscape.<br />

Locator script files are ASCII text files which control the threedimensional<br />

location of Sound objects and the Listener object.<br />

This control is achieved by passing messages to applications<br />

which interpret the location of the sound within the Soundscape<br />

such as the Sound Field Filter and MultiScape. In addition to<br />

sending location information, Locator Scripts can be used to<br />

send MIDI messages, control the WavePlayer, manipulate the<br />

Convolver, and connect the <strong>Huron</strong> with a client machine using<br />

the Socket tool.<br />

Important Information Concerning the Writing of Locator Scripts:<br />

• The Locator will flag any syntax errors in commands and<br />

will prompt the user to for confirmation to continue or abort<br />

the script. Valid commands which cannot be processed will<br />

however be ignored by the Locator.<br />

• Each script command occurs at a point in time determined<br />

by the previous “Time” command line.<br />

• Time is measured in 1/10’s of a second from the time the<br />

start button is pressed. This measurement is not highly<br />

accurate, as the Locator has been designed for use as a quick<br />

demonstration and test tool.<br />

• Commands and their parameters are separated by spaces.<br />

• Comments may be entered by preceding a line with a “#”<br />

character.<br />

• Locator Scripts are named with the *.LOC extension.<br />

HURON TECHNICAL MANUAL PAGE 137


Locator Commands<br />

Loading and Playing Locator Scripts<br />

↓ To load a Locator Script<br />

↓ To run a Locator script<br />

Pausing and Restarting the Locator Playback<br />

↓ To pause a Locator Script.<br />

↓ To restart a Locator Script<br />

Recording Scripts<br />

OTHER SIMULATION TOOLS<br />

A full list of Locator commands are given in the Command<br />

Reference subsection at the end of this section.<br />

Once a Locator script has been written, it may be played back<br />

through the Locator Control Panel.<br />

1. Type the name of the *.LOC file into the Browse Text box.<br />

— or —<br />

Click Browse …<br />

2. Then from the file selection menu choose the appropriate<br />

*.LOC file.<br />

3. Click OK.<br />

Once a Locator Script has been loaded it is possible to run the<br />

script from the Locator control panel.<br />

• Click Play.<br />

The Locator Script file will be run, however the position of the<br />

items will not be updated graphically on the Locator Canvass.<br />

Locator scripts may be paused during playback.<br />

• Click Pause.<br />

The Locator script will halt.<br />

• Click Pause.<br />

The Locator Script will restart from the point at which it was<br />

paused.<br />

It is possible to record actions performed through the Locator<br />

Control Canvass into Locator Scripts for later playback.<br />

Recorded Locator scripts will contain the following<br />

information:<br />

• Location.<br />

• Angle.<br />

• UpdateVoice.<br />

• TriggerVoice.<br />

• ReleaseVoice.<br />

HURON TECHNICAL MANUAL PAGE 138


↓ To record a Locator Script<br />

Summary<br />

• SetRoom.<br />

• SetDirFactor.<br />

OTHER SIMULATION TOOLS<br />

1. Open a Locator script file into which the script will be<br />

recorded. Messages may be input through MIDI, TCP/IP<br />

connection, the Locator itself, or the Tracker application.<br />

2. Click Record.<br />

3. Move Sound objects across the Locator Control Canvass as<br />

appropriate, Send TCP/IP messages, or Use the Tracking<br />

device.<br />

4. Click Pause to pause the recording.<br />

5. Click Play to stop recording the script.<br />

After play has been clicked the recorded script will play back<br />

for checking.<br />

• Locator provides a graphical facility for the movement of<br />

sound objects around a two-dimensional Soundscape.<br />

• Locator will accept sound movement inputs from MIDI,<br />

Tracking devices via the tracker application, TCP/IP and<br />

Locator specific scripts.<br />

• Locator provides a method for recording and replaying<br />

Locator scripts.<br />

HURON TECHNICAL MANUAL PAGE 139


Features<br />

Requirements<br />

The WavePlayer-2<br />

The WavePlayer-2 facilitates the playback of audio sound files<br />

with a <strong>Huron</strong> system. WavePlayer-2 performs all processing on<br />

the <strong>Huron</strong>’s Pentium processor, freeing DSP resources for use<br />

by other applications. WavePlayer-2 supersedes the original<br />

WavePlayer application.<br />

• Plays back up to 24 channels simultaneously.<br />

• Can mix multiple voices to each output channel.<br />

• Sample rate conversion and pitch shifting.<br />

• Sample pre-loading for fast triggering.<br />

• Supports .wav files.<br />

• Streams large audio files.<br />

• Zero <strong>Huron</strong> DSP card resource requirement.<br />

WavePlayer-2 requires the following system components:<br />

• Intel Pentium II or greater system processor<br />

• <strong>Huron</strong> ADAT I/O card.<br />

• RME Hammerfall audio card and accompanying ASIO<br />

driver software.<br />

• Three TOSLINK optical audio connector cables.<br />

• VRack version 3.2 software or newer.<br />

Please contact Lake Technology for upgrade information if your<br />

system does not meet these minimum specifications.<br />

HURON TECHNICAL MANUAL PAGE 141


Hardware Connection<br />

↓ Note: When the <strong>Huron</strong> is set to<br />

synchronise to an external clock<br />

source, it uses the clock<br />

information that is obtained<br />

from <strong>Huron</strong> input 1.<br />

Driver Installation<br />

↓ Installing the Hammerfall ASIO<br />

driver software<br />

Operation<br />

Figure 48 – ADAT Connectors<br />

OTHER SIMULATION TOOLS<br />

The <strong>Huron</strong> ADAT I/O card must be connected to the RME<br />

Hammerfall card for correct operation with the WavePlayer-2.<br />

Refer to Figure 1 and make the following audio connections<br />

with TOSLINK optical cable:<br />

• Connect RME Output 1 to <strong>Huron</strong> Input 1<br />

• Connect RME Output 2 to <strong>Huron</strong> Input 2<br />

• Connect RME Output 3 to <strong>Huron</strong> Input 3<br />

The WavePlayer-2 requires ASIO driver software to be installed<br />

for operation with the RME Hammerfall PCI audio card. <strong>Huron</strong><br />

systems shipped with the RME Hammerfall have the<br />

companion ASIO driver and control panel software preinstalled.<br />

• If the RME Hammerfall ASIO driver software and control<br />

panel are not already installed, follow the installation<br />

instructions contained within the RME Hammerfall<br />

documentation.<br />

WavePlayer-2 is primarily controlled by the Socket application<br />

and <strong>SNAP</strong> commands. The WavePlayer-2 VRack interface is<br />

used for system configuration and indication of currently loaded<br />

wave files to assist with application development.<br />

HURON TECHNICAL MANUAL PAGE 142


Figure 49 — The WavePlayer-2 interface<br />

OTHER SIMULATION TOOLS<br />

The WavePlayer-2 interface displays the following information<br />

for each wave file:<br />

Column Description<br />

id The wave ID<br />

name The path<br />

status The status, which can be either Ready (the file is<br />

successfully loaded but no voices are bound), Bound (one<br />

or more voices are bound), or a message describing an error<br />

encountered while loading.<br />

ch The number of channels in the wave file<br />

kHz The sample rate of the wave file<br />

bits The number of bits per sample<br />

samps The wave file size in samples per channel<br />

voices Shows information on bound voices in this format:<br />

(ID)(status){(channels)}<br />

where:<br />

- ID is the ID of the bound voice<br />

- The status is – (if paused), s (if stopped), l if<br />

looping, or p if playing.<br />

- channels is a comma-separated list of bound output<br />

channel numbers.<br />

HURON TECHNICAL MANUAL PAGE 143


Starting<br />

↓ To access WavePlayer-2<br />

↓ Note: Unlike most VRack<br />

applications, the WavePlayer-2<br />

will never show any input or<br />

output patchpoints from within<br />

the Patchbay.<br />

Setting the System Sample Rate<br />

↓ Setting the system clock rate<br />

↓ Note: This setting will only<br />

affect the RME Hammerfall’s<br />

clock rate if the RME<br />

Hammerfall is in master clock<br />

mode (the default setting).<br />

System Latency<br />

↓ Setting the system latency<br />

Setting Clock Synchronisation<br />

OTHER SIMULATION TOOLS<br />

The WavePlayer-2 must be loaded into the VRack through the<br />

New/Simulation Tools submenu. (for loading instructions see<br />

the System Tools section of this manual). Once loaded, the<br />

WavePlayer-2 panel will appear in the VRack.<br />

• Click on the WavePlayer-2 panel in the VRack.<br />

The WavePlayer-2 interface will appear (see Figure 49).<br />

The sample rate of the RME Hammerfall’s clock can be set<br />

from within the WavePlayer-2 configuration interface.<br />

• Select the sample rate from the sample rate drop box.<br />

Setting a smaller buffer size will result in a smaller latency (or<br />

delay) between calling the <strong>SNAP</strong>WP2PlayVoice command and<br />

audio being played. Smaller buffer sizes require greater CPU<br />

load.<br />

• Refer to the RME Hammerfall documentation for<br />

instructions for checking its buffer size settings.<br />

Set the RME Hammerfall card to supply the master clock, and<br />

set the <strong>Huron</strong> to synchronise to it.<br />

HURON TECHNICAL MANUAL PAGE 144


↓ Setting the RME Hammerfall as<br />

the clock master<br />

↓ Setting the <strong>Huron</strong> to<br />

synchronise to the Hammerfall’s<br />

clock<br />

↓ Checking clock synchronisation<br />

↓ Note: If the status indicators are<br />

yellow, ensure the <strong>Huron</strong> been<br />

set to synchronise to an external<br />

clock. If the status indicators<br />

are red, check all TOSLINK<br />

cable connections.<br />

WavePlayer-2 Audio Outputs in the <strong>Huron</strong> Patchbay<br />

Controlling WavePlayer-2<br />

OTHER SIMULATION TOOLS<br />

• Refer to the RME documentation for instructions for setting<br />

the RME Hammerfall to supply the master clock.<br />

1. Click on Options/Configure menu in VRack.<br />

2. Select External.<br />

3. Click OK.<br />

1. Click on the IO Manager panel in the VRack interface.<br />

2. Check the status indicators on input channels 1 – 24. Each<br />

channel will have a green status indicator if the clocks have<br />

been synchronised correctly.<br />

Audio generated by the WavePlayer-2 is accessed via the<br />

ADAT input channels in the <strong>Huron</strong> Patchbay. The channel<br />

mapping is shown below:<br />

WavePlayer-2 Output Patchbay Input Channel<br />

Channel<br />

1 to 8 ADAT Input 1–1<br />

to ADAT Input 1-8<br />

9 to 16 ADAT Input 2–1<br />

to ADAT Input 2-8<br />

17 to 24 ADAT Input 3–1<br />

to ADAT Input 3-8<br />

It is not possible to directly load wave files into the<br />

WavePlayer-2 via its VRack interface. Files must be loaded<br />

and subsequently triggered via <strong>SNAP</strong>, with the Socket<br />

application running on the <strong>Huron</strong>. All audio files must be in<br />

.WAV format.<br />

The <strong>SNAP</strong> commands to run WavePlayer-2 are described in the<br />

Spatial Network Audio Protocol (<strong>SNAP</strong>) subsection of this<br />

manual.<br />

HURON TECHNICAL MANUAL PAGE 145


Optimising System Performance<br />

↓ Achieving optimum system<br />

perfomance<br />

↓ Note: Audio stuttering occurs<br />

when the system processor is not<br />

fast enough to keep up with<br />

audio processing demands.<br />

Summary<br />

OTHER SIMULATION TOOLS<br />

• Use only .WAV audio files that have the same sample rate as<br />

the master clock. While WavePlayer-2 can playback audio<br />

files of other sample rates, CPU intensive calculations are<br />

required that can greatly reduce system performance.<br />

• Keep the number of channels that receive pitch-bend<br />

messages to a minimum. Pitch-bend messages require CPU<br />

intensive calculations and can reduce system performance.<br />

• Use the maximum buffer size with the longest system<br />

latency. This will greatly reduce the load on the processor.<br />

If the above optimisation tips have been followed and audio<br />

stuttering still occurs, reduce the number of simultaneous voices<br />

or upgrade to a faster Pentium processor.<br />

• WavePlayer-2 allows the loading and playback of .WAV<br />

format audio files.<br />

• The WavePlayer-2 is controlled by Socket with <strong>SNAP</strong><br />

commands.<br />

• The WavePlayer-2 can play up to 24 simultaneous output<br />

channels using the system processor.<br />

• Audio generated by the WavePlayer-2 is accessed via the<br />

ADAT inputs in the <strong>Huron</strong> Patchbay.<br />

HURON TECHNICAL MANUAL PAGE 146


Note: The Waveplayer has now<br />

been superseded by Waveplayer-2<br />

Features<br />

Operation<br />

The WavePlayer<br />

The WavePlayer plays back sampled audio files through a<br />

<strong>Huron</strong> system. These audio samples are stored in the DSP<br />

board’s memory, The WavePlayer can store up to 2<br />

megasamples of audio data. Each DSP will playback up to 8<br />

channels or “voices” simultaneously, with the upper limit on<br />

voices determined by the number of DSP cards in the system.<br />

The WavePlayer provides:<br />

• Up to eight voices per DSP.<br />

• Playback of waves with sample rates up to 48kHz.<br />

• Facilities for multiple wave files, up to a total of 2097150<br />

samples.<br />

The WavePlayer is operated remotely by either <strong>SNAP</strong> or<br />

Locator commands.<br />

Figure 50 — The WavePlayer interface<br />

HURON TECHNICAL MANUAL PAGE 147


Starting<br />

↓ To access the WavePlayer<br />

Configuring Voices<br />

↓ To adjust the number of voices<br />

played by the WavePlayer<br />

Loading, Playing, Stopping and Controlling WavePlayer<br />

wavtosim [-s] [-l] [-S] [-E]<br />

<br />

specify s if the wave file already uses the *.SIM<br />

file format. l specifies the addition of a loop to<br />

the sample, and S and E specify the start and<br />

end samples to be converted.<br />

OTHER SIMULATION TOOLS<br />

The WavePlayer must be loaded into the VRack through the<br />

New/Simulation Tools submenu. (for loading instructions see<br />

the System Tools section of this manual). Once loaded, the<br />

WavePlayer panel will appear in the VRack, and its associated<br />

patchset will appear in the Patch Bay tool.<br />

• Click on the WavePlayer panel in the VRack.<br />

The WavePlayer configuration window will appear (see Figure<br />

50).<br />

The WavePlayer supports the simultaneous playback of<br />

multiple wave files or “voices”. Each DSP in the <strong>Huron</strong> system<br />

can play back up to eight simultaneous voices, with the<br />

WavePlayer being able to control a total of up to two million<br />

samples of wave data.<br />

• Select the number of voices required from the drop down<br />

voices list.<br />

The WavePlayer will reserve the necessary DSP space required<br />

for playback and provide patchpoints for each voice in the Patch<br />

Bay.<br />

It is not possible to directly load wavetable samples into the<br />

WavePlayer via its VRack interface. Files must be loaded and<br />

subsequently triggered via <strong>SNAP</strong> or Locator commands. All<br />

wave files must be in a 24bit binary *.SIM format, and must<br />

have an even number of samples.<br />

Standard wavefiles may be converted to the *.SIM format by<br />

using the wavtosim program contained in the<br />

c:\<strong>Huron</strong>32\bin directory.<br />

The two most common methods for loading and triggering<br />

wave files in the WavePlayer are using a Locator script, or by<br />

issuing TCP/IP command packets via <strong>SNAP</strong> and the Socket<br />

application. The commands to perform these functions are<br />

described in the <strong>SNAP</strong> and Command Reference subsection at<br />

the end of this section.<br />

HURON TECHNICAL MANUAL PAGE 148


Summary<br />

OTHER SIMULATION TOOLS<br />

• WavePlayer allows the loading and playback of wave files in<br />

24 bit Real .SIM file format.<br />

• The WavePlayer is controlled with <strong>SNAP</strong> or Locator<br />

commands.<br />

• The WavePlayer can play up to eight voices per DSP card.<br />

• The WavePlayer allows on the fly updating of voice pitch<br />

and gain levels.<br />

HURON TECHNICAL MANUAL PAGE 149


Features<br />

Make Room<br />

Make Room is a virtual room generation application which runs<br />

independently of the VRack. It provides room impulse<br />

response filters for use in the Lake Technology <strong>Huron</strong><br />

environment. Make Room uses statistical simulation to<br />

generate impulse response files for a huge variety of acoustic<br />

spaces.<br />

• Creates filters for both static and dynamic auralisation.<br />

• Simulates responses through various types of Microphones,<br />

including Mono Microphones, Blumlein Stereo<br />

Microphones, and a B-format Microphone.<br />

• Generates room impulse response filters with user<br />

configurable sample rates and lengths.<br />

• Provides the ability to set: sound source distances, azimuth<br />

and elevations, within variably sized and shaped rooms.<br />

• Allows control over reverberation times in high and low<br />

frequencies.<br />

HURON TECHNICAL MANUAL PAGE 151


Operation<br />

Starting<br />

↓ To start the Make Room<br />

application<br />

↓ To configure a statistical room<br />

simulation<br />

Figure 51 — The Make Room interface<br />

Select Output Mode<br />

OTHER SIMULATION TOOLS<br />

The Make Room application is started from the Windows<br />

Program Manager.<br />

1. From the Windows 2000 Start Menu select<br />

<strong>Huron</strong> 3.2.<br />

2. Click the Make Room Icon<br />

The Make Room interface will be displayed (see Figure 51).<br />

The Make Room application is parameter based statistical room<br />

impulse generator. It is necessary to define the properties of the<br />

room, and the location of the sound object before generating a<br />

room. Room properties fall under the following categories and<br />

can be configured using the following steps:<br />

The output mode specifies how surface reflections present in<br />

the room impulse response are to be handled. The two output<br />

mode options are Static and AniScape.<br />

HURON TECHNICAL MANUAL PAGE 152


↓ To select an Output mode<br />

Select microphone<br />

Directivity Factor Name<br />

d = 0.000 Omni<br />

d = 0.500 Cardioid<br />

d = 0.625 Super Cardioid<br />

d = 0.750 Hyper Cardioid<br />

d = 1.000 Figure 8 or Dipole<br />

OTHER SIMULATION TOOLS<br />

• AniScape mode returns a direct sound response with the first<br />

order (early) reflections missing (this is because AniScape<br />

provides the first order reflections during a simulation).<br />

• Static mode returns a sound response file which includes the<br />

first order reflections of the simulated room, this means that<br />

the sound object will appear to be “static” in the room (first<br />

order reflections will always appear to come from the same<br />

place).<br />

It is possible to use AniScape mode sound response files with<br />

MultiScape and Space Array. However, MultiScape and Space<br />

Array do not add first order reflections during a simulation.<br />

When producing a room response for a MultiScape or Space<br />

Array simulation AniScape mode is preferred over the static<br />

mode, as static impulse responses will not appear to move<br />

through the Soundscape correctly (ie. the first order reflections<br />

do not change locations while later reflections do).<br />

When AniScape mode is selected the Make Room application<br />

will produce a room geometry file (*.GEO). The *.GEO file is<br />

a text file containing information on the room’s attributes used<br />

to calculate first order responses during an AniScape<br />

simulation.<br />

• Click Static for Static mode output.<br />

— or —<br />

Click AniScape for AniScape mode output.<br />

There are three types of microphone simulated in the Make<br />

Room application. Each microphone type mimics the<br />

properties and produces signal files which mirror the signals<br />

generated by their real life counterparts.<br />

Most microphones (with the exception of B-format<br />

microphones), have characteristic sensitivity lobes. These lobes<br />

correspond to the sensitivity of the microphones in certain<br />

directions. In the Make Room application this effect is<br />

simulated by including a directivity factor for the microphone in<br />

calculations.<br />

The Directivity Factor which describes the characteristic sound<br />

lobes of a Microphone are described in the table below.<br />

The three types of microphone simulated in Make Room are<br />

Mono, Stereo and B-format. Each type, their properties and<br />

resultant responses are described below:<br />

Mono Microphone: This setting allows the simulation of a<br />

simple monophonic microphone. The microphone is<br />

HURON TECHNICAL MANUAL PAGE 153


↓ To select a microphone setting<br />

↓ To specify the file root and<br />

name of the room response<br />

Specify the file root and name<br />

OTHER SIMULATION TOOLS<br />

characterised by a directivity factor and can be placed anywhere<br />

within the simulated room. The room response generated using<br />

the monophonic microphone is characterised by a single<br />

impulse response (*.SIM) file.<br />

Stereo Microphones: This setting simulates a pair of Blumlein<br />

Microphones. This stereo pair can be imagined as two<br />

microphones joined at the rear, with an angle of separation<br />

measured between the pickups of the microphones. It is<br />

assumed that the microphones are identical and have the same<br />

directivity factor. The room response generated using the stereo<br />

pair is characterised by two impulse files named *L.SIM,<br />

*R.SIM respectively.<br />

B-format Microphone: This setting simulates a B-format<br />

microphone which records four separate signals. These signals<br />

represent the X,Y,Z and Omni (ω) encoding of the room<br />

impulse. Combined, these signals provide responses which<br />

allow clear sound localisation using Ambisonics. The room<br />

responses generated using the B-format setting are characterised<br />

by four impulse files named *X.SIM, *Y.SIM, *Z.SIM and<br />

*W.SIM respectively.<br />

• Click Mono Microphone for monophonic microphone<br />

output.<br />

—or —<br />

Click Blumlein Stereo for Stereo microphone output.<br />

—or —<br />

Click B-format for B-format microphone output.<br />

The file root and name specify the directory to which impulse<br />

responses are saved and the name of the impulse response files<br />

(*.SIM) produced by the simulation.<br />

For example, a file root c:\<strong>Huron</strong>32\rooms<br />

Would save the impulse responses in the directory<br />

c:\<strong>Huron</strong>32\rooms, the sim files would be named<br />

ROOM*.SIM, where * represents any special file designators<br />

(ie. R,L,X,Y,Z,W).<br />

If AniScape mode is selected, Make Room will also generate a<br />

geometry file (*.GEO) in the file root directory.<br />

1. Click Browse.<br />

2. Type or Select the output directory and specify a name for<br />

the output files.<br />

3. Click OK.<br />

Specify sample rate and length in samples<br />

The sample rate specifies the number of samples of the room<br />

response to be taken during one second. AniScape and<br />

MultiScape use sampling rates of 16000 due to band limiting<br />

within the programs, while most other <strong>Huron</strong> applications<br />

(including Space Array) utilise a sampling rate of 48000. These<br />

HURON TECHNICAL MANUAL PAGE 154


↓ To set the sample rate<br />

↓ To set the length of the impulse<br />

↓ To specify the Room Size<br />

↓ To specify the Room Shape<br />

↓ To place a sound source<br />

Specify room size and a room shape<br />

Placing a sound source<br />

Specify Echo settings<br />

OTHER SIMULATION TOOLS<br />

“standard” rates may change if the external clock feature of the<br />

VRack interface is being used.<br />

The length in samples specifies the length of the impulse<br />

response of the room. The minimum number of samples<br />

required to capture a whole room response can be determined<br />

by multiplying the reverberation time (in seconds) by the<br />

sample rate.<br />

• Type the number of samples per second (Hz) in the Sample<br />

Rate Box.<br />

1. Determine the minimum sample length by multiplying total<br />

reverberation time by the sample rate.<br />

2. Type the total sample length in samples in the Length Box.<br />

The room response is statistically generated using two main<br />

variables, The room size and the room shape.<br />

Room Size is described using the Mean Free Path. The Mean<br />

Free Path is a statistical measure stated as “the average (mean)<br />

distance a sound originating at one wall has to travel to reach<br />

another wall in meters”.<br />

The Room Shape is a random number seed, used during<br />

calculations to provide a room shape. Due to the nature of the<br />

algorithm that Make Room uses, a specific seed will<br />

consistently produce the same sounding room response, these<br />

room responses are fairly constant even as the room size<br />

changes.<br />

• Type a number in meters for the size of the room in the<br />

Room Size box.<br />

• Type a number between 0 and 1 in the Room Shape box.<br />

Placing a sound source involves specifying the location of the<br />

sound source in relation to the microphone. The microphone is<br />

always assumed to be at the centre of the room, thus distances<br />

and the location of the sound source are given in meters and<br />

degrees from this central point. The values required are the<br />

distance from the microphone in meters, the azimuth of the<br />

sound source in degrees and the elevation of the sound source in<br />

degrees.<br />

1. Type a value in meters in the Mic. Distance box.<br />

2. Type a value in degrees in the Src Azimuth box.<br />

3. Type a value in degrees in the Src Elevation box.<br />

Two Echo settings must be specified,<br />

HURON TECHNICAL MANUAL PAGE 155


↓ To specify the Echo settings<br />

↓ To set the reverberation time<br />

for Low frequencies<br />

↓ To set the reverberation time<br />

for High frequencies<br />

Define reverberation time<br />

Define Diffusion time<br />

↓ To set the Diffusion of sound at<br />

low frequencies<br />

↓ To set the Diffusion of sound at<br />

high frequencies<br />

Generate impulse signals<br />

OTHER SIMULATION TOOLS<br />

• Echo Delay is the time in seconds that the first order<br />

reverberation / echoes take to reach the microphone. This<br />

value is ignored in AniScape mode, as no first order<br />

reflections are produced.<br />

• Echo elevation is the elevation from which the echoes<br />

appear to originate. For example. An elevation of -20<br />

degrees simulates reflections coming off the floor of a room,<br />

while an elevation of 45 degrees simulates reflections<br />

coming from the ceiling.<br />

1. Type the time for echo delay in seconds in the Echo Delay<br />

box.<br />

2. Type the echo elevation in degrees in the Echo Elevation<br />

box.<br />

Reverberation time represents the amount of time taken for the<br />

sound pressure of an initial sound source to drop by 60db. For<br />

example, a handclap with an initial sound pressure level of<br />

30dB in a room with a reverberation time of 2.00 seconds, will<br />

take 2.00 seconds to reach a volume of -30dB. Setting longer<br />

reverberation times, produces more echoic room responses.<br />

Reverberation times are added to the room simulation in two<br />

segments, Low frequency, and High frequency.<br />

• Type the new value in seconds into the low freq Reverb<br />

Time box.<br />

• Type the new value in seconds into the high freq Reverb<br />

Time box.<br />

Diffusion is the amount of atrophy that occurs to a sound signal<br />

after it reflects off a room surface. For example, if the diffusion<br />

amount is set at 10.00% the first time a sound hits the wall only<br />

90% of the existing sound will be reflected.<br />

• Type the new value as a percentage loss in the low freq<br />

Diffusion box.<br />

• Type the new value as a percentage loss in the high freq<br />

Diffusion box.<br />

Once all the values for the room have been set it is possible to<br />

generate the room impulse signals.<br />

HURON TECHNICAL MANUAL PAGE 156


↓ To generate the impulse signals<br />

for the room<br />

Saving a Make Room Setup<br />

↓ To save a Make Room setup<br />

Restoring a Make Room Setup<br />

↓ To restore a previously saved<br />

Make Room file<br />

Summary<br />

OTHER SIMULATION TOOLS<br />

• Click Generate.<br />

A status update will appear on the Generate button and once<br />

complete, the impulse responses (*.SIM) and associated<br />

geometry file (*.GEO) will be saved in the File Root directory.<br />

Make room setups may be saved so that they may be used to<br />

generate the same room response at a later date.<br />

1. Click Save As.<br />

A Save As dialogue box will appear.<br />

2. Type the name of the file to save.<br />

—or —<br />

Select an existing file name to save over.<br />

3. Click OK to save the *.WSP.<br />

1. Click Restore.<br />

2. Select the file you wish to restore from the dialogue.<br />

3. Click OK.<br />

• Make Room provides a facility for statistically generating<br />

room responses from a series of parameters.<br />

• Make Room simulates three types of microphone pickups in<br />

simulated rooms, generating appropriate *.SIM *.GEO files<br />

for each type.<br />

• Make Room generates signals for both AniScape and Static<br />

sound simulations. The AniScape signals may be used in<br />

MultiScape and Space Array.<br />

HURON TECHNICAL MANUAL PAGE 157


Integration under 32 bit Windows<br />

Integration under Unix<br />

API<br />

Spatial Network Audio Protocol<br />

(<strong>SNAP</strong>)<br />

The Spatial Network Audio Protocol (<strong>SNAP</strong>) allows audio<br />

software developers to communicate with a <strong>Huron</strong> workstation<br />

via a TCP/IP network. It simplifies the task of creating and<br />

sending LakeNet messages to the <strong>Huron</strong> by encompassing the<br />

valid LakeNet messages in a distributable module. This module<br />

has a common applications programmer interface (API) for both<br />

Win32 and Unix platforms.<br />

<strong>SNAP</strong> is distributed as source code and a static library to allow<br />

easy integration with new applications under 32 bit Windows<br />

systems or the various Unix platforms.<br />

<strong>SNAP</strong> consists of the files <strong>SNAP</strong>.h and <strong>SNAP</strong>.c. For the<br />

Windows implementation, a library file (<strong>SNAP</strong>.lib) is also<br />

included. When linking a project that uses <strong>SNAP</strong>, link to<br />

<strong>SNAP</strong>.lib and the Windows Sockets library ws2_32.lib.<br />

ws2_32.dll must also be available on the system path.<br />

<strong>SNAP</strong> consists of the files <strong>SNAP</strong>.h and <strong>SNAP</strong>.c. Compile and<br />

link <strong>SNAP</strong>.c with your application. You must defining the<br />

symbol unix. Example:<br />

cc <strong>SNAP</strong>Test.c <strong>SNAP</strong>.c -Dunix<br />

The API is specified fully in the header file <strong>SNAP</strong>.h. An<br />

explanation of the parameters for each function is given below.<br />

The convention for input and output parameters is that inputs<br />

are basic types and outputs are pointers. The exception is<br />

strings, where inputs are declared const and outputs have no<br />

such definition.<br />

HURON TECHNICAL MANUAL PAGE 159


Initialisation<br />

<strong>SNAP</strong> Commands<br />

General VRack Commands<br />

Parameter Description<br />

OTHER SIMULATION TOOLS<br />

To begin communication, issue the <strong>SNAP</strong>Connect() command.<br />

This will open a socket to the <strong>Huron</strong>. Note that the Socket for<br />

Windows 2000 application must be running on the <strong>Huron</strong> or<br />

this command will fail. Use <strong>SNAP</strong>Disconnect() to close the<br />

socket. If your application exits without calling<br />

<strong>SNAP</strong>Disconnect() then Socket for Windows 2000 may crash.<br />

<strong>SNAP</strong>Connect<br />

Creates a TCP/IP connection with the <strong>Huron</strong>. The Socket<br />

application must be running on the <strong>Huron</strong> for a connection to be<br />

established.<br />

in const char* szIPAddress The IP address of the <strong>Huron</strong><br />

<strong>SNAP</strong>Disconnect<br />

Disconnects the TCP/IP connection with the <strong>Huron</strong>.<br />

<strong>SNAP</strong>Exec<br />

<strong>Huron</strong> runs a command on the Microsoft Windows operating<br />

system. To send a command to be executed by Windows call<br />

this function with the full path of the command in the path field.<br />

in char* szPath Full path of Windows command<br />

<strong>SNAP</strong>SetWorkspace<br />

This command allows the loading of a new workspace into the<br />

VRack of <strong>Huron</strong>. This command requires the path field to be<br />

set to the full path of the workspace file. VRack must also be<br />

running on the Server (<strong>Huron</strong>).<br />

in const char* szPath Full path of workspace file<br />

out long* plStatus<br />

out char* szPath<br />

<strong>SNAP</strong>GetStatus<br />

This command returns the current operating status of the <strong>Huron</strong>.<br />

<strong>SNAP</strong>GetWorkspace<br />

To find the currently loaded workspace in VRack send this<br />

command. The VRack application will send a<br />

<strong>Huron</strong>GetWorkspace command back to the remote computer<br />

with the path field set to the full path of the current workspace<br />

file. VRack must be running.<br />

HURON TECHNICAL MANUAL PAGE 160


Positional Commands<br />

Note: The number of positional<br />

commands sent per second should<br />

be limited by the controlling<br />

application. Sending too many<br />

messages per second can cause<br />

buffer overflow, resulting in<br />

delayed response and loss of<br />

command data.<br />

Parameter Description<br />

OTHER SIMULATION TOOLS<br />

These positional commands can be used with Binscape, Space<br />

Array, Multiscape, Aniscape, and Headscape. The sound<br />

objects and listener object in each simulation application<br />

receive their location and orientation information on Location<br />

and Angle channels. Every independently moveable source<br />

should have a unique Location and Angle channel assigned to<br />

it. Object location and angle settings will be updated on receipt<br />

of the command.<br />

<strong>SNAP</strong>Location<br />

This command sets the X, Y, and Z coordinates of an object.<br />

The distances are measured in meters.<br />

in long lChannel Location channel that will receive the coordinates (1-255)<br />

in float fX X coordinate of the object in meters<br />

in float fY Y coordinate of the object in meters<br />

in float fZ Z coordinate of the object in meters<br />

<strong>SNAP</strong>Angle<br />

This command sets the orientation of an object. The angles<br />

passed are in degrees.<br />

in long lChannel Angle channel that will receive the data (1-255)<br />

in float fAz Azimuth of the object in degrees<br />

in float fEl Elevation of the object in degrees<br />

in float fRl Roll of the object in degrees<br />

HURON TECHNICAL MANUAL PAGE 161


AniScape Commands<br />

Parameter Description<br />

c:\<strong>Huron</strong>32\AniScape\rooms\room.geo<br />

c:\<strong>Huron</strong>32\AniScape\rooms\roomx.sim<br />

c:\<strong>Huron</strong>32\AniScape\rooms\roomy.sim<br />

c:\<strong>Huron</strong>32\AniScape\rooms\roomz.sim<br />

OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>LoadRoom<br />

The Sound Field Filter can be loaded with a up to fifteen<br />

different room acoustic definitions. Each room is stored in a<br />

separate buffer. The data for the room acoustic definitions are<br />

stored in a number of binary data files on <strong>Huron</strong>, the set of data<br />

files for a room’s acoustics all have the same file name root but<br />

different extensions. The path passed in this command should<br />

be the full path of the data files without the file extension.<br />

For example, if the set of data files for a room resides in the<br />

following directory:<br />

The string passed would be<br />

c:\<strong>Huron</strong>32\AniScape\rooms\room in the path field of<br />

this command.<br />

This command returns a <strong>Huron</strong>Ack packet to the remote<br />

computer. The cmd field of the <strong>Huron</strong>Ack packet will contain<br />

<strong>Huron</strong>AniLoadRoom and the data field will contain the buffer<br />

number that the room acoustic files were loaded into. If the<br />

Sound Field Filter was unable to load the data files it will return<br />

-1 in the data field of the <strong>Huron</strong>Ack packet.<br />

This buffer may also be used to switch between and clear rooms<br />

using the <strong>Huron</strong>AniSetRoom and <strong>Huron</strong>AniClearRoom<br />

commands.<br />

in const char* szPath The directory path of the data files<br />

<strong>SNAP</strong>SetRoom<br />

The Sound Field Filter can be loaded with a number of different<br />

room acoustic definitions. Each room is assigned a buffer<br />

number. This command can be used to switch the Sound Field<br />

Filter’s room acoustic definition buffer number.<br />

in long lBuffer The buffer number of the new room<br />

<strong>SNAP</strong>ClearRoom<br />

The Sound Field Filter can be loaded with a number of different<br />

room acoustic definitions. Each room is assigned a buffer<br />

number. This command can be sent to remove the acoustics<br />

loaded in the defined buffer number.<br />

in long lBuffer The buffer number of the room to remove<br />

HURON TECHNICAL MANUAL PAGE 162


OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>GetRooms<br />

The Sound Field Filter application must be running in the<br />

VRack to receive a return from this command.<br />

out long *pnRooms Number of rooms loaded<br />

<strong>SNAP</strong>GetRoom<br />

It is important to send the command with the index field set the<br />

room you are interested in and the returned packet will contain<br />

the buffer and the path of the room. In order for this command<br />

to return the Sound Field Filter application must be running in<br />

the VRack.<br />

in long lIndex 0 based index of the room you want information on<br />

out char* szPath The directory path of the room’s data files<br />

<strong>SNAP</strong>SetMinDistance<br />

The Sound Field Filter has a setting called Minimum Source<br />

Distance which is measured in meters. This specifies a sphere<br />

around the listeners position with a radius of the minimum<br />

source distance value. If a sound object comes within this<br />

circle, its volume will remain fixed at the level on the edge of<br />

circle and its directionality will gradually turn to omnidirectional<br />

as it approaches the listeners position. The<br />

minimum source distance can be set using this command.<br />

in float fMSD The minimum source distance in meters<br />

<strong>SNAP</strong>GetMinDistance<br />

In order to receive a return from this command, the Sound Field<br />

Filter application must be running in the VRack.<br />

out float* pfMSD The minimum distance in meters<br />

<strong>SNAP</strong>SetDirFactor<br />

Each sound object in the Sound Field Filter can be assigned a<br />

direction factor, which is a floating point number between 0 and<br />

1 which describes the radiation pattern for a sound object.<br />

Directivity Factor Description<br />

0 Omni directional<br />

0.5 Cardioid<br />

1.0 Figure eight<br />

The source parameter identifies the Sound object and is<br />

equivalent to the primary location channel. Problems may arise<br />

if two sources sharing the same location channel have different<br />

directivity factors. Lake Technology recommends that sound<br />

objects with different directivity factors should always be<br />

assigned unique location channels.<br />

in long fSource The source. 0 is the receiver and the sound objects are<br />

numbered 1,2,3…etc in the order they appear in the Sound<br />

Field Filter<br />

in float fDirFactor The direction factor<br />

HURON TECHNICAL MANUAL PAGE 163


OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>GetSources<br />

To receive a reply from this command the Sound Field Filter<br />

application must be running in the VRack.<br />

out long *plSources Number of sound objects currently active in Sound Field Filter<br />

in long lIndex 0 based index of the source you want information on. (0 is<br />

always the receiver).<br />

out long* plLoc1 The primary location channel used by this source<br />

out long* plLoc2 The secondary location channel used by this source<br />

out long* plAng1 The primary angle channel used by this source<br />

out long* plAng2 The secondary angle channel used by this source<br />

out float* pfDirFactor The direction factor of this source (not applicable to the<br />

listener).<br />

<strong>SNAP</strong>WaveDoppler<br />

Enables or disables doppler shifting of waves in the<br />

WavePlayer via the Sound Field Filter. If enabled AniScape is<br />

deals with the doppler shifting of waves. If disabled then the<br />

driving application is responsible for providing doppler shifting.<br />

in long lOn Doppler shifting Enabled or Disabled<br />

<strong>SNAP</strong>SetAttenuation<br />

Enables or disables the attenuation of sound objects due to<br />

distance by the Sound Field Filter. If disabled the driving<br />

application should provide range attenuation.<br />

in long lOn Distance attenuation enabled or disabled<br />

HURON TECHNICAL MANUAL PAGE 164


MultiScape Commands<br />

Parameter Description<br />

OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>SetAcousticSpace<br />

The <strong>SNAP</strong>SetAcousticSpace command assigns a number and<br />

loads the filters for an acoustic space into MultiScape.<br />

in long lSpace set acoustic space<br />

in const char* szPath directory path of the room’s data files<br />

<strong>SNAP</strong>MultiSetRoom<br />

The <strong>SNAP</strong>MultiSetRoom command associates a room number<br />

with an acoustic space.<br />

in long lSpace The identifier of the acoustic space<br />

in long lRoom The room number to associate with the acoustic space<br />

<strong>SNAP</strong>MultiSetRoomSegment<br />

The <strong>SNAP</strong>MultiSetRoomSegment sets the geometry for a room.<br />

The first parameter is the room number followed by the X,Y,Z<br />

of the bottom left corner and the X,Y,Z of the top right corner<br />

of the room segment. A room can be made up of many room<br />

segments.<br />

in long lRoom The room number<br />

in float fmin_xu Float representing the minimum X coordinate of the a room<br />

segment (bottom left).<br />

in float fmin_yu Float representing the minimum Y coordinate of the a room<br />

segment (bottom left).<br />

in float fmin_zu Float representing the minimum Z coordinate of the a room<br />

segment (bottom left).<br />

in float fmax_xu Float representing the maximum X coordinate of the a room<br />

segment (top right).<br />

in float fmax_yu Float representing the maximum X coordinate of the a room<br />

segment (top right).<br />

in float fmax_zu Float representing the maximum X coordinate of the a room<br />

segment (top right).<br />

HURON TECHNICAL MANUAL PAGE 165


OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>MultiSetDoor<br />

<strong>SNAP</strong>MultiSetDoor sets the coordinates of the door, and the<br />

rooms it connects. A door must have has a width of 0.<br />

in long lDoor The door identification number<br />

in long lRoom1 The first room identification number to which the door<br />

connects<br />

in long lRoom2 The second room identification number to which the door<br />

connects.<br />

in float fmin_xu Float representing the minimum X coordinate of the door<br />

(bottom left).<br />

in float fmin_yu Float representing the minimum Y coordinate of the door<br />

(bottom left).<br />

in float fmin_zu Float representing the minimum Z coordinate of the door<br />

(bottom left).<br />

in float fmax_xu Float representing the maximum X coordinate of the door (top<br />

right).<br />

in float fmax_yu Float representing the maximum X coordinate of the door (top<br />

right).<br />

in float fmax_zu Float representing the maximum X coordinate of the door(top<br />

right).<br />

<strong>SNAP</strong>MultiOpenDoor<br />

Doors can be opened or closed. A fully open door has a value<br />

of 1.00, a closed door has a value of 0.00.<br />

in long lDoor door identification number<br />

in float fOpen Float representing the state of the door.<br />

<strong>SNAP</strong>MultiResetMap<br />

Before Sending information about a new simulation to<br />

MultiScape (e.g new acoustic spaces or room segments) the<br />

driving application should send a ResetMap to clear out any old<br />

information since last time MultiScape was run.<br />

HURON TECHNICAL MANUAL PAGE 166


Space Array Commands<br />

Parameter Description<br />

OTHER SIMULATION TOOLS<br />

Space Array accepts Location and Angle commands in the same<br />

way as AniScape and MultiScape. It also recognises the<br />

AniScape room switching commands.<br />

<strong>SNAP</strong>Location<br />

This command sets the X, Y, and Z coordinates of an object.<br />

The distances are measured in meters.<br />

in long lChannel Location channel that will receive the coordinates (1-255)<br />

in float fX X coordinate of the object in meters<br />

in float fY Y coordinate of the object in meters<br />

in float fZ Z coordinate of the object in meters<br />

<strong>SNAP</strong>Angle<br />

This command sets the orientation of an object. The angles<br />

passed are in degrees.<br />

in long lChannel Angle channel that will receive the data (1-255)<br />

in float fAz Azimuth of the object in degrees<br />

in float fEl Elevation of the object in degrees<br />

in float fRl Roll of the object in degrees<br />

c:\<strong>Huron</strong>32\SpaceArray\rooms\room.geo<br />

c:\<strong>Huron</strong>32\SpaceArray\rooms\roomx.sim<br />

c:\<strong>Huron</strong>32\SpaceArray\rooms\roomy.sim<br />

c:\<strong>Huron</strong>32\SpaceArray\rooms\roomz.sim<br />

<strong>SNAP</strong>LoadRoom<br />

The Space Array can be loaded with up to two different room<br />

acoustic definitions. Each room is stored in a separate buffer.<br />

The data for the room acoustic definitions are stored in a<br />

number of binary data files on <strong>Huron</strong>, the set of data files for a<br />

room’s acoustics all have the same file name root but different<br />

extensions. The path passed in this command should be the full<br />

path of the data files without the file extension.<br />

For example, if the set of data files for a room resides in the<br />

following directory:<br />

The string passed would be<br />

c:\<strong>Huron</strong>32\SpaceArray\rooms\room in the path field<br />

of this command.<br />

<strong>SNAP</strong>LoadRoom will load the room into the current buffer,<br />

which defaults to buffer 0 when Space Array is loaded. To load<br />

a room into the second buffer, first issue the <strong>SNAP</strong>SetRoom<br />

command with the parameter 1 to switch to the second buffer<br />

and then load the desired room.<br />

HURON TECHNICAL MANUAL PAGE 167


OTHER SIMULATION TOOLS<br />

This command returns a <strong>Huron</strong>Ack packet to the remote<br />

computer. The cmd field of the <strong>Huron</strong>Ack packet will contain<br />

<strong>SNAP</strong>LoadRoom and the data field will contain the<br />

buffernumber that the room acoustic files were loaded into. If<br />

the Space Array was unable to load the data files it will return -<br />

1 in the data field of the <strong>Huron</strong>Ack packet.<br />

This buffer may also be used to switch between and clear rooms<br />

using the <strong>SNAP</strong>SetRoom and <strong>SNAP</strong>ClearRoom commands.<br />

in const char* szPath The directory path of the data files<br />

<strong>SNAP</strong>SetRoom<br />

The Space Array can be loaded with a number of different room<br />

acoustic definitions. Each room is assigned a buffer number.<br />

This command can be used to switch the Space Array’s room<br />

acoustic definition buffer number.<br />

<strong>SNAP</strong>SetRoom must be issued before loading a room into any<br />

buffer but the default one (buffer 0).<br />

in long lBuffer The buffer number of the new room<br />

<strong>SNAP</strong>ClearRoom<br />

The Space Array can be loaded with a number of different room<br />

acoustic definitions. Each room is assigned a buffer number.<br />

This command can be sent to remove the acoustics loaded in the<br />

defined buffer number.<br />

in long lBuffer The buffer number of the room to remove<br />

<strong>SNAP</strong>SetMinDistance<br />

The Space Array has a setting called Minimum Source Distance<br />

that is measured in meters. This specifies a sphere around the<br />

listener’s position with a radius of the minimum source distance<br />

value. If a sound object comes within this circle, its volume<br />

will remain fixed at the level on the edge of circle and its<br />

directionality will gradually turn to omni-directional as it<br />

approaches the listener’s position. The minimum source<br />

distance can be set using this command.<br />

in float fMSD The minimum source distance in meters<br />

HURON TECHNICAL MANUAL PAGE 168


VMixer Commands<br />

Parameter Description<br />

OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>VMxLoad<br />

Instructs VMixer to load a .vmx configuration file from disk.<br />

in const char szPath[128] Path of the .vmx file to load<br />

<strong>SNAP</strong>VMxSave<br />

Instructs VMixer to save its current settings to a .vmx<br />

configuration file.<br />

in const char szPath[128] Path of a .vmx file to save the current configuration to<br />

<strong>SNAP</strong>VMxSetSize<br />

Sets the number of inputs and outputs of the VMixer.<br />

in long lInputs New number of inputs<br />

in long lOutputs New number of outputs<br />

<strong>SNAP</strong>VMxGetSize<br />

When a VMixer receives this command, it fills the fields with<br />

the current number of inputs and outputs.<br />

out long* plInputs Current number of inputs<br />

out long* plOutputs Current number of outputs<br />

<strong>SNAP</strong>VMxSetNodeGain<br />

Sets the gain of a matrix node to the given gain value.<br />

in long lInputChannel Input channel of the node<br />

in long lOutputChannel Output channel of the node<br />

in float fGain The new gain value between 0.0 and 4.0<br />

<strong>SNAP</strong>VMxSetInputGain<br />

Sets the preamplification gain of a mixer input. This gain is<br />

applied before the matrix gain and the output gain.<br />

in long lInputChannel The number of the input channel (0-based)<br />

in float fGain The new gain value between 0.0 and 4.0<br />

<strong>SNAP</strong>VMxSetOutputGain<br />

Sets the postamplification gain of a mixer output. This gain is<br />

applied after the input gain and the matrix gain.<br />

in long lOutputChannel The number of the output channel (0-based)<br />

in float fGain The new gain value between 0.0 and 4.0<br />

<strong>SNAP</strong>VMxGetNodeGain<br />

When the VMixer receives this command, it fills the gain field<br />

with the current gain of the requested node.<br />

in long lInputChannel The input channel identifying the node<br />

in long lOutputChannel The output channel identifying the node<br />

out float* pfGain The current gain at this node<br />

HURON TECHNICAL MANUAL PAGE 169


OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>VMxGetInputGain<br />

When the VMixer receives this command, it fills the gain field<br />

with the preamplification of the requested input channel.<br />

in long lInputChannel The requested input channel<br />

out float* pfGain The current preamplification on this channel<br />

<strong>SNAP</strong>VMxGetOutputGain<br />

When the VMixer receives this command, it fills the gain field<br />

with the preamplification of the requested input channel.<br />

in long lOutputChannel The requested output channel<br />

out float* pfGain The current postamplification on this channel<br />

HURON TECHNICAL MANUAL PAGE 170


WavePlayer-2 Commands<br />

OTHER SIMULATION TOOLS<br />

The WavePlayer-2 is a <strong>Huron</strong> application that can play .WAV<br />

format audio files. WavePlayer-2 does not use any <strong>Huron</strong> DSP<br />

resources, and it is not constrained to the 2Mb memory limit of<br />

the original WavePlayer application.<br />

The <strong>SNAP</strong>WP2LoadWave function blocks and returns only<br />

after the load has succeeded or failed. The return code reflects<br />

whether WavePlayer-2 was able to successfully load the wave<br />

file. All other WavePlayer-2 functions are non-blocking.<br />

Their return codes indicate whether each command was<br />

successfully sent to the <strong>Huron</strong>.<br />

Valid wave IDs are 1 to 256 inclusive. Valid voice IDs are 1 to<br />

128 inclusive.<br />

The sample code shown below provides an example of how to<br />

control WavePlayer-2 using the <strong>SNAP</strong> API.<br />

if (<strong>SNAP</strong>Connect("127.0.0.1"))<br />

{<br />

/* Load sample.wav as wave 1 */<br />

if (!<strong>SNAP</strong>WP2LoadWave(1, "C:\\wavs\\sample.wav"))<br />

printf("Could not load wave file.\n");<br />

else<br />

{<br />

/* Bind voice 5 to wave 1, outputting on channels 3 and 4 */<br />

long lChans[2] = {3, 4};<br />

<strong>SNAP</strong>WP2BindVoice(1, 5, 2, lChans);<br />

}<br />

/* Start voice 5 playing */<br />

<strong>SNAP</strong>WP2PlayVoice(5);<br />

/* Wait for voice to finish playing */<br />

...<br />

/* Release the voice */<br />

<strong>SNAP</strong>WP2ReleaseVoice(5);<br />

/* Remove the wave */<br />

<strong>SNAP</strong>WP2RemoveWave(1);<br />

}<br />

<strong>SNAP</strong>Disconnect();<br />

HURON TECHNICAL MANUAL PAGE 171


Parameter Description<br />

OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>WP2LoadWave<br />

Loads a wave file into the WavePlayer-2 and assigns it an ID.<br />

Standard .wav file formats are supported including mono and<br />

multi-channel. At least one voice must be bound to the wave<br />

before playback can occur. For optimum performance, it is<br />

recommended that wave files be selected that are at the same<br />

sample rate as the <strong>Huron</strong>.<br />

FALSE is returned if the load fails and the reason for failure is<br />

displayed in the WavePlayer-2 window.<br />

in long lWaveID A wave ID<br />

in const char* szPath Full path to the wave file<br />

<strong>SNAP</strong>WP2BindVoice<br />

Binds a voice to a wave ID. A voice is an instance of a loaded<br />

wave file for playback, allowing polyphony without having to<br />

load the same wave file multiple times. When a voice is bound<br />

it is stopped, unpaused, not looped and has a gain of 1 and a<br />

pitchbend factor of 1.<br />

in long lWaveID A wave ID<br />

in long lVoiceID A voice ID<br />

in long lNumChans The number of channels to be bound to this voice. This must<br />

be less than or equal to the number of channels in the wave<br />

file.<br />

in long* plChans An array of length lNumChans containing 1-based output<br />

channel numbers mapping each wave file channel to an output<br />

channel on the sound card. Multiple voices can mix into the<br />

same output channel.<br />

<strong>SNAP</strong>WP2UpdateVoice<br />

Updates a voice’s level and pitch. This can be done either<br />

before or during playback.<br />

In long lVoiceID A voice ID<br />

in float fSPL Gain of this sound<br />

in float fPBend Pitchbend factor for this sound. 0.5 is half pitch, 1.0 is normal<br />

pitch and 2.0 is double pitch<br />

<strong>SNAP</strong>WP2PlayVoice<br />

Starts a voice playing from the beginning of the wave file. If it<br />

is already playing, restarts it from the beginning.<br />

in long lVoiceID A voice ID<br />

<strong>SNAP</strong>WP2LoopVoice<br />

Sets a voice’s loop state.<br />

in long lVoiceID A voice ID<br />

in long lStartSamp The sample number at which the looped section begins<br />

in long lEndSamp The sample number up to which the section is looped. If<br />

lEndSamp is set to 0, the wave file is looped to the end.<br />

HURON TECHNICAL MANUAL PAGE 172


OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>WP2PauseVoice<br />

Pauses a voice. Voices can be paused before they are played, in<br />

which case they must be unpaused before playback occurs.<br />

<strong>SNAP</strong>WP2PlayVoice does not unpause a paused voice.<br />

in long lVoiceID A voice ID<br />

<strong>SNAP</strong>WP2UnpauseVoice<br />

Unpauses a previously paused voice.<br />

in long lVoiceID A voice ID<br />

<strong>SNAP</strong>WP2StopVoice<br />

Stops a playing voice.<br />

in long lVoiceID A voice ID<br />

<strong>SNAP</strong>WP2ReleaseVoice<br />

Performs the inverse of <strong>SNAP</strong>WP2BindVoice. Once a voice is<br />

released, all other commands for that voice ID are ignored<br />

(except <strong>SNAP</strong>WP2BindVoice).<br />

in long lVoiceID A voice ID<br />

<strong>SNAP</strong>WP2RemoveWave<br />

Removes a wave file from WavePlayer-2, automatically<br />

stopping and releasing any bound voices.<br />

in long lWaveID A wave ID<br />

<strong>SNAP</strong>WP2RemoveAllWaves<br />

Removes all wave files from WavePlayer-2, automatically<br />

stopping and releasing any bound voices.<br />

HURON TECHNICAL MANUAL PAGE 173


WavePlayer Commands<br />

Parameter Description<br />

OTHER SIMULATION TOOLS<br />

The WavePlayer is a <strong>Huron</strong> application that can play 24 bit<br />

audio data in .Sim file format only. Data is played out of <strong>Huron</strong><br />

DSP memory. Multiple voices can be played at varying pitches<br />

and amplitudes. It can load a large number of different audio<br />

waves and play any wave on any voice. Up to 2 Mb of audio<br />

data can be loaded into the WavePlayer.<br />

When wave data is downloaded to the <strong>Huron</strong> from the remote<br />

computer a wave name and checksum must be passed in the<br />

<strong>SNAP</strong>SetWaveHeader command, followed by the data in the<br />

<strong>SNAP</strong>SetWaveSamples command. When<br />

<strong>SNAP</strong>SaveTransferWave is issued the data is saved onto the<br />

Server (<strong>Huron</strong>’s) hard disk drive and downloaded into the<br />

WavePlayer.<br />

The <strong>SNAP</strong>LoadWave command requires that a wave name and<br />

a checksum is sent. The <strong>Huron</strong> checks these parameters against<br />

the waves stored on its hard disk drive, and will load the wave<br />

directly from its own disk, if it can.<br />

The WavePlayer plays voices. To attach a wave to a voice use<br />

the <strong>SNAP</strong>UpdateVoice command, and then use<br />

<strong>SNAP</strong>TriggerVoice and <strong>SNAP</strong>ReleaseVoice to play and stop<br />

the voice playing. While the voice is playing it is possible to<br />

send further <strong>SNAP</strong>UpdateVoice commands to change the pitch<br />

and the level of the voice.<br />

<strong>SNAP</strong>GetWaveProp<br />

This command is received by the WavePlayer application which<br />

sends a <strong>SNAP</strong>GetWaveProp packet back to the remote<br />

computer with the variables of the <strong>SNAP</strong>GetWaveProp<br />

structure filled in as follows. The WavePlayer application must<br />

be running in the VRack for this command to return.<br />

out long* plVersion Version of WavePlayer TCP/IP Interface<br />

out long* plFlag Currently unused<br />

out long* plVoices Number of voices currently selected in the WavePlayer<br />

out long* plWaves Maximum number of waves that can be loaded<br />

out long* plTotalSamples Maximum number of 16 bit samples that <strong>Huron</strong> can store<br />

out long* plFreeSamples Number of free samples not used for storage<br />

HURON TECHNICAL MANUAL PAGE 174


OTHER SIMULATION TOOLS<br />

<strong>SNAP</strong>SetWaveHeader<br />

When downloading fresh wave data to the <strong>Huron</strong> from the<br />

remote computer this command must be sent prior to the<br />

sending the data for the wave.<br />

in long lWaveID The waveID that you want to assign to this wave. If the<br />

waveID is already taken by another wave, that wave has the ID<br />

removed from it. A single wave can be assigned multiple<br />

waveIDs. It is removed from the WavePlayer’s memory when<br />

its last ID is removed.<br />

in long lFrames Number of frames in the waveform. A frame contains a<br />

sample for each channel.<br />

in long lSRate Sample rate of the wave.<br />

in long lLoopType Currently ignored. If loopStart is less than loopEnd then the<br />

wave will loop forward, otherwise the wave will only play<br />

once when triggered<br />

in long lLoopStart Start sample of loop<br />

in long lLoopEnd End sample of loop<br />

in const char* szWaveName Name of the wave<br />

in long lChecksum Checksum<br />

<strong>SNAP</strong>SetWaveSamples<br />

Once the header has been sent the data can be sent using the<br />

<strong>SNAP</strong>SetWaveSamples command.<br />

in long lWaveID The waveID that you sent in the <strong>SNAP</strong>SetWaveHeader<br />

command<br />

in long lChannel Channel number. As only mono waves are supported this field<br />

is ignored.<br />

in long lOffset Offset in samples from the start of the waveform that this data<br />

is for.<br />

in long lLength Number of samples that is being set.<br />

in short* psSamples The data. Only HURONTCP_MAX_SAMPLES (defined in<br />

<strong>Huron</strong>TCP.h) may be transferred with one command. If your<br />

wave is bigger then you must split the wave into chunks and<br />

send it piece by piece.<br />

<strong>SNAP</strong>SaveTransferWave<br />

Once all the data has been sent to <strong>Huron</strong> the<br />

<strong>SNAP</strong>SaveTransferWave command must be sent. This<br />

command will cause the data to be saved to <strong>Huron</strong>’s disk and<br />

transferred to the WavePlayer’s memory.<br />

in long lWaveID The waveID that you sent in the <strong>SNAP</strong>SetWaveHeader<br />

command<br />

<strong>SNAP</strong>LoadWave<br />

If the wave required is already stored locally on the <strong>Huron</strong>, this<br />

command may be sent. The <strong>Huron</strong> will attempt to find the<br />

wave at the specified path. The <strong>Huron</strong> stores wave data in SIM<br />

files. See the SIM Tools section in this manual for an<br />

explanation of the SIM file format.<br />

If the load message is not received, a -1 is returned in the data<br />

field.<br />

HURON TECHNICAL MANUAL PAGE 175


OTHER SIMULATION TOOLS<br />

in long lWaveID The waveID that you want to assign to this wave. If the<br />

waveID is already taken by another wave, that wave has the ID<br />

removed from it. A single wave can be assigned multiple<br />

waveIDs. It is removed from the WavePlayer’s memory when<br />

its last ID is removed.<br />

in const char* szPath Full path of a SIM file<br />

<strong>SNAP</strong>UpdateVoice<br />

After the waves have been loaded it is necessary to assign them<br />

to a voice in order to play the wave. To do this send the<br />

<strong>SNAP</strong>UpdateVoice command. Once the wave is playing it is<br />

possible to send more <strong>SNAP</strong>UpdateVoice commands to change<br />

the pitch and level of the voice.<br />

in long lVoice Voice number<br />

in long lWaveID WaveID to assign to this voice<br />

in float fSPL Sound pressure level of this voice between 0 and 1<br />

in float fPBend Pitchbend value of this voice. 0 turns the voice off, 0.5 is half<br />

pitch, 1.0 is normal pitch and 2.0 is double pitch<br />

<strong>SNAP</strong>TriggerVoice<br />

Starts a voice playing.<br />

in long lVoice Voice number<br />

<strong>SNAP</strong>ReleaseVoice<br />

Stops a voice playing.<br />

in long lVoice Voice number<br />

<strong>SNAP</strong>RemoveWave<br />

Allows the driving application to remove a wave from the<br />

WavePlayer.<br />

in long lWaveID The identification number of the wave file to remove<br />

<strong>SNAP</strong>GetWaveInfo<br />

After sending a <strong>SNAP</strong>GetWaveProp the driving application is<br />

returned the number of loaded “waves” parameter of the<br />

returning structure. After this return is made, the<br />

<strong>SNAP</strong>GetWaveInfo will return information on all these waves<br />

by passing the “index” which is a number from 0 to “waves”<br />

(derived from <strong>SNAP</strong>GetWaveProp).<br />

If the wave was loaded by the driving application the structure<br />

returned provides the lWaveID and its complete path in “file” or<br />

its “szWaveName” and “plChecksum”.<br />

out long* lWaveID Identification number of the wave file<br />

in long lIndex The WavePlayer voice number<br />

out char* szPath Full path of a SIM file<br />

out char* szWaveName Name of the wave<br />

out long* plChecksum Checksum<br />

HURON TECHNICAL MANUAL PAGE 176


Command Reference<br />

This section describes commands that can be used for<br />

controlling the <strong>Huron</strong>.<br />

Remote control of the <strong>Huron</strong> is normally performed using<br />

<strong>SNAP</strong> and the Socket application. <strong>SNAP</strong> supersedes the <strong>Huron</strong><br />

LakeNet interface for sending <strong>Huron</strong> control messages via<br />

TCP/IP. Please refer to the <strong>SNAP</strong> section for further<br />

information on <strong>SNAP</strong> commands. LakeNet documentation can<br />

be found in PDF format on the <strong>Huron</strong> VRack CDROM.<br />

For control of <strong>Huron</strong> applications using Windows Messaging,<br />

please refer to the LakeBus documentation that can be found in<br />

PDF format on the <strong>Huron</strong> VRack CDROM.<br />

This section provides information about scripting commands<br />

that can be used by Locator and Sonic Animator. These<br />

programs parse a script and translate ASCII commands into<br />

commands that can be interpreted by the <strong>Huron</strong>. Both<br />

applications can be run locally on the <strong>Huron</strong>, or on a remote<br />

machine when used in combination with the Socket application.<br />

HURON TECHNICAL MANUAL PAGE 177


Locator Commands<br />

General Commands<br />

Source and Listener Object Control<br />

OTHER SIMULATION TOOLS<br />

This subsection lists the commands recognised by Locator when<br />

parsing Locator scripts.<br />

Time T<br />

All following commands up to the next Time command will be<br />

executed T (Integer +ve) tenths of a second after the Play button<br />

is clicked.<br />

SetWorkspace workspace<br />

Set VRack workspace to “workspace” (String as a path to a file<br />

and filename with a *.WSP extension).<br />

Exec command<br />

Execute command (String) in Windows shell. If the exec<br />

command is launching the VRack, the exec command requires<br />

that the full path to the *.WSP file is given eg.<br />

c:\huron30\rack32.exe c:\huron30\bin\huron.wsp<br />

Repeat<br />

Set time index to 0 - Restarts the script.<br />

#<br />

Comment line. All chars to the end of the line are ignored.<br />

Loc N X Y Z<br />

Move the object specified by location channel N (Integer +ve)<br />

from its current position, to the location X,Y,Z (Float)<br />

coordinates (in metres from origin). Location channel numbers<br />

must be in the range 1 to 255.<br />

Ang N A E R<br />

Send Angle message with Azimuth A (0-360 degrees),<br />

Elevation E (0-360 degrees) and Roll R (0-360 degrees) degrees<br />

on Angle channel N (Integer +ve).<br />

Jump N X Y Z vX vY vZ<br />

Set object at location channel N (Integer +ve) to new location<br />

X,Y,Z ( in meters from origin) and set velocity in the X plane to<br />

vX, the velocity in the Y plane to vY and the velocity in the Z<br />

plane to vZ.<br />

SetDirFactor nSource DirFactor<br />

(Sound Field Filter)<br />

This command sets the Directivity Factor, DirFactor (Float) of a<br />

sound nSource object (Integer, as an index to the objects in the<br />

sound object list) in Sound Field Filter.<br />

HURON TECHNICAL MANUAL PAGE 178


WavePlayer Commands<br />

OTHER SIMULATION TOOLS<br />

SetDirFactor nSource DirFactor<br />

(MultiScape)<br />

This command sets the Directivity Factor DirFactor (Float) of a<br />

sound object nSource (Integer +ve, Location channel of<br />

object) in MultiScape.<br />

LoadWave N simfile.sim<br />

Loads Wave File name “simfile.sim” (String, Path to wave file<br />

in *.SIM Format) and assigns a Wave ID of N (Integer +ve).<br />

UpdateVoice V N G S 0<br />

This assigns voice V (Integer, 0 to number of voices - 1) of the<br />

WavePlayer to Wave ID N (Integer +ve), giving it a gain of G<br />

(Float from 0 to 1), and playing it at speed S (Float 0 to 2, with<br />

1 being normal). The 0 (Zero) at the end is required but is not<br />

currently used.<br />

TriggerVoice N<br />

Start voice V (Integer, 0 to number of voices - 1) of the<br />

WavePlayer playing.<br />

ReleaseVoice N<br />

Stop voice V (Integer, 0 to number of voices - 1) of the<br />

WavePlayer.<br />

RemoveWave N<br />

Remove wave with Wave ID N (Integer +ve) from the<br />

WavePlayer.<br />

Sound Field Filter (AniScape) Commands<br />

MultiScape Commands<br />

AniLoadRoom Path<br />

Load a room specified by the full Path (String, the path<br />

containing the *.GEO file and associated impulses) into the<br />

Room dialogue box of the Sound Field Filter.<br />

AniSetRoom N<br />

Set Sound Field Filter Room to Buffer N (Integer, 0 to number<br />

of buffers - 1).<br />

AniClearRoom N<br />

Remove a Room specified by Buffer N (Integer, 0 to number of<br />

buffers - 1) from the Sound Field Filter Dialogue box. When a<br />

room with a lower index than buffers-1 is removed, the higher<br />

numbered rooms are shuffled downwards in the list.<br />

SetAcousticSpace S Path<br />

Assign an acoustic space specified by the full Path (String, the<br />

path containing the *.GEO file and associated impulses) to the<br />

Acoustic Space Identifier S (Integer +ve).<br />

HURON TECHNICAL MANUAL PAGE 179


Note: All doors should have at least<br />

one plane along which their width<br />

equals zero (0.00).<br />

Midi Commands<br />

Convolver Commands<br />

OTHER SIMULATION TOOLS<br />

SetRoom R S<br />

Assign an Acoustic Space S (Integer +ve) to a Room R (Integer<br />

+ve).<br />

SetRoomSegment R Xmin Ymin Zmin Xmax Ymax Zmax<br />

Sets the Dimensions for a room segment (Float, XYZmin<br />

specifies the lower left corner, XYZmax specifies the Upper<br />

right corner) and associates the segment with Room R (Integer<br />

+ve).<br />

SetDoor D R1 R2 Xmin Ymin Zmin Xmax Ymax Zmax<br />

Creates a Door D (Integer +ve) between Room 1 R1(Integer<br />

+ve) and Room 2 R2 (Integer +ve), with the dimensions<br />

specified by XYZ min (Floats, specifies the lower left corner<br />

coordinates of the door) and XYZ max (Floats, specifies the<br />

Upper right corner coordinates of the door).<br />

OpenDoor D O<br />

Open or Close Door D (Integer +ve) to the Value of Door<br />

Closure O (Float between 0.00-1.00) where 0.00 is closed and<br />

1.00 is open.<br />

ResetMap<br />

Clears the contents of the MultiScape Simulation Map. This<br />

command must be issued prior to changing the size of room<br />

segments in the map.<br />

NoteOn M N V<br />

MIDI NoteOn message on MIDI Channel M (Integer 1-16),<br />

Note number N (Integer 1-128), Velocity V (Integer, 0-127).<br />

(To turn off a MIDI note send a message on the same note<br />

number with velocity 0).<br />

ProgChange M P<br />

MIDI Program change to program number P (Integer, 1-128) on<br />

MIDI channel M (Integer, 1-16).<br />

CtrlChange M C V<br />

MIDI Controller change on MIDI channel M (Integer, 1-16), to<br />

Controller C (Integer, 1-128), with the controller Value V<br />

(Integer, 0-127).<br />

ClvSetProgram N<br />

Switch Convolver program number to N (Integer, 0 to number<br />

of programs -1).<br />

HURON TECHNICAL MANUAL PAGE 180


TCP/IP Commands<br />

OTHER SIMULATION TOOLS<br />

Connect IPAddress<br />

Establishes IP socket connection to machine with IP address<br />

“IPAddress” (String). This must be in dot notation form.<br />

Disconnect<br />

Disconnects IP socket connection previously established by the<br />

Connect command.<br />

HURON TECHNICAL MANUAL PAGE 181


Introduction to the Engineering<br />

Tools<br />

The Engineering Tools are a suite of Lake Technology software<br />

tools which enable the measurement, manipulation and realtime<br />

implementation of acoustic models by using the impulse<br />

responses of real or simulated systems.<br />

The Engineering Tools are comprised of two core applications:<br />

• The Convolver Tool, which utilises Lake Technology’s<br />

proprietary, low-latency convolution algorithms to enable<br />

the convolution of signals and impulse responses in realtime,<br />

using filters of up to 278,244 taps.<br />

— and —<br />

• The Measurement Tool, which is a general purpose<br />

impulse response measurement tool. This tool provides the<br />

means for, capturing and creating impulse responses from<br />

real acoustic spaces. The Measurement tool may also be<br />

used for characterising the response of audio components<br />

such as speakers or microphones.<br />

In addition to these core tools, Lake Technology provides a set<br />

of utilities called the SIM Tools which allow the manipulation<br />

of impulse responses in the *.SIM file format.<br />

HURON TECHNICAL MANUAL PAGE 183


Introduction<br />

Features<br />

Overview of the Convolver Setup<br />

The Convolver Tool<br />

The Convolver tool provides a flexible and powerful interface<br />

to long, low latency convolution technology.<br />

Each instance of the Lake Convolver requires the creation of a<br />

setup file, which defines a list of Filter programs. A Filter<br />

program is itself a definition of both the structure of a<br />

mathematical filter and its coefficients that are loaded from an<br />

impulse response file.<br />

The Convolver tool is organised so that users can quickly<br />

switch between the coefficients in the list of Filter programs<br />

using MIDI, keyboard or mouse inputs. This ‘fast switching’ is<br />

made possible by loading the Filter program coefficients into<br />

the DSP card’s onboard Dynamic Random Access Memory<br />

(DRAM).<br />

• The Convolver utilises low latency convolution algorithms<br />

to provide real-time convolution.<br />

• Provides up to 278,244 tap filters.<br />

• Fully integrated with Lake Technology’s VRack<br />

environment.<br />

• Allows fast switching between Filter programs to allow the<br />

A/B comparison of impulse responses.<br />

A Convolver Setup can be thought of as a series of nested<br />

elements. These nested elements are described in the diagram<br />

below.<br />

HURON TECHNICAL MANUAL PAGE 185


Figure 52 — Overview of the Convolver setup<br />

In general it can be stated that:<br />

THE ENGINEERING TOOLS<br />

• Each Convolver Setup, specified by the *.CLV file has a<br />

single filter type.<br />

• Each Convolver Setup may have from 1 to 512 Filter<br />

programs.<br />

• Each Filter program may have up 64 Filter Files (impulse<br />

responses, *.SIM).<br />

HURON TECHNICAL MANUAL PAGE 186


Operation<br />

Starting and Saving<br />

↓ To access the Convolver<br />

Figure 53 — The Convolver interface<br />

THE ENGINEERING TOOLS<br />

The Convolver tool must be loaded into the VRack from the<br />

New/Engineering tools submenu under New in the VRack (for<br />

loading instructions refer to the System Tools section of this<br />

manual).<br />

• Click the Convolver in the rack panel.<br />

A setup file dialogue box will appear.<br />

Button Function<br />

New Creates an untitled Convolver setup file (*.CLV).<br />

Open … Opens a previously saved Convolver setup file<br />

(*.CLV).<br />

Save Saves the current Convolver setup file (*.CLV), If the<br />

document is untitled the software will prompt with a<br />

Save As dialogue box.<br />

Save As … Save the Convolver setup file (*.CLV) under a new<br />

name, the software will prompt with a Save As …<br />

dialogue box.<br />

Selecting the Filter<br />

Once a new Setup file has been invoked, the Convolver window<br />

expands to offer a choice of filters.<br />

HURON TECHNICAL MANUAL PAGE 187


↓ To select the type of filter to be<br />

used by the Convolver<br />

Filter<br />

Type<br />

Number<br />

Filter<br />

Lengths in<br />

Taps<br />

Latency in<br />

Milliseconds<br />

THE ENGINEERING TOOLS<br />

Each filter type provides a method of accessing and utilising the<br />

DSP resources of the <strong>Huron</strong> system. Filters play off latency,<br />

length and the number of buffers available within the Convolver<br />

tool with the DSP resources in the system.<br />

1. Click the located to the right of the Filter Type Box.<br />

2. Select the appropriate filter from the drop down menu.<br />

Latency in<br />

Samples<br />

Number of DSP<br />

resources used<br />

per channel<br />

Number of<br />

Buffers available<br />

0 2058 0.02ms 1 1 3<br />

1 34728 0.06ms 3 2 3<br />

2 139010 0.10ms 5 3 3<br />

3 278244 0.10ms 5 3 1<br />

4 4319 1.00ms 46 1 3<br />

5 69422 1.00ms 48 2 3<br />

6 8638 2.00ms 92 1 2<br />

7 138924 2.00ms 94 2 2<br />

8 277988 4.00ms 187 2 1<br />

9 16384 20.00ms 968 1 15<br />

10 32768 41.00ms 1967 1 15<br />

11 65536 82.00ms 3937 1 7<br />

12 131072 166.00ms 7948 1 3<br />

13 262144 336.00ms 16110 1 1<br />

Tip: A single Convolver can only use<br />

one type of filter. To have a system<br />

using different types of filters, simply<br />

invoke more instances of the<br />

Convolver from the VRack.<br />

Creating Programs<br />

↓ To create a program<br />

Table 1 — Filters available to the Convolver<br />

The list contains the number assigned by Lake to the filter type,<br />

the length of the filter in samples, its latency in samples (ie.<br />

how many samples delay there is between data arriving at the<br />

filter and leaving the filter), its latency expressed in<br />

milliseconds (assuming a 48kHz sample rate), the number of<br />

DSP processors this filter uses when running and the number of<br />

buffers, or concurrent programs which can be held in memory<br />

to allow fast switching.<br />

The Convolver calls a collection of filter structures a Program.<br />

Up to 512 of these Programs can exist within the Convolver,<br />

however only one will be active at a time.<br />

1. Click on Add in the Program List.<br />

HURON TECHNICAL MANUAL PAGE 188


↓ To add a FIR filter to the Filter<br />

program<br />

Note: The Convolver will only accept<br />

SIM files which are stored as 24 bit<br />

binary data.<br />

THE ENGINEERING TOOLS<br />

A dialogue box appears (see Figure 54) in which the name of<br />

the program can be entered.<br />

Figure 54 — The program name dialogue box<br />

2. Type the name of the new program.<br />

3. Click OK.<br />

The program name will be displayed in the Program List box.<br />

Once a program has been created the Convolver will expand to<br />

show the Filter program list. The Filter program list<br />

represents the Finite Impulse Response (FIR) filters associated<br />

with each Program. Additionally, the Filter program list allows<br />

the outputs of a program to be mixed independently of any<br />

other program.<br />

1. Click Add in the Filter program.<br />

The FIR filter selection window will appear. Each FIR is stored<br />

in the Simulation (*.SIM) file format.<br />

2. Select or type the name of a FIR filter / SIM file.<br />

Information about the selected file is presented beneath the<br />

selection list box (see Figure 55).<br />

If a Plot has been specified in the header of the Sim file, it can<br />

be accessed by Clicking on Plot.<br />

3. Click OK.<br />

Figure 55 — FIR / SIM filter selection window<br />

HURON TECHNICAL MANUAL PAGE 189


↓ To remove a FIR filter from the<br />

filter Program.<br />

↓ To replace a loaded FIR filter<br />

Note: Each FIR filter in a Filter<br />

program utilises the number of DSP<br />

processors shown in the Filter Type<br />

box. The number of FIR filters which<br />

may be added to a program is limited<br />

by the number of DSP processors<br />

installed in the system. If the number<br />

of DSP processors required by the FIR<br />

filters exceeds those available, the<br />

system will return an error message<br />

and the excess filters will not be<br />

loaded.<br />

Inputs, Outputs, Mixing and Patching<br />

↓ To mix the FIR filter outputs of<br />

a Filter program<br />

THE ENGINEERING TOOLS<br />

The filter selection window will disappear and the selected<br />

impulse response will appear as part of the Filter program (see<br />

Figure 56 below).<br />

Figure 56 — Filter program window with FIR filter added<br />

1. Select the FIR filter.<br />

2. On the Filter program window Click Delete.<br />

1. Select the FIR filter to replace.<br />

2. On the Filter program window Click Edit.<br />

3. From the dialogue Select the replacement filter.<br />

4. Click OK.<br />

Each FIR filter within a Filter program has one input channel<br />

and one output channel. It is possible to mix any number of<br />

outputs from these filters within the Convolver. Each time a<br />

FIR filter is added to a Filter program, the appropriate input and<br />

output patch points appear on the Convolver panel in the Patch<br />

Bay. When the outputs of the FIR filters are mixed they are<br />

combined to a single output point in the Patch Bay.<br />

1. Select the FIR filter to be mixed from the Filter program<br />

window.<br />

2. Click Channel.<br />

The following window will be displayed<br />

HURON TECHNICAL MANUAL PAGE 190


Currently selected<br />

patch point icon<br />

Note: It is only possible to mix<br />

downwards (in number) in the output<br />

list, thus it is possible to mix output 2<br />

to output 1 but not output 1 to output<br />

2<br />

Input and Output Level Metering<br />

↓ To display the input and output<br />

levels of a Filter program<br />

Figure 57 — Mixing Channels<br />

Fast Switching with Pre-loaded Filter Coefficients<br />

↓ To fast switch between Filter<br />

programs<br />

THE ENGINEERING TOOLS<br />

3. Change the current output channel by Clicking the patch<br />

point icon you wish to direct the output to.<br />

Patch points which are no longer used will disappear from the<br />

Patch Bay.<br />

1. Select a Filter program from the Filter program window.<br />

2. Click Meters.<br />

A level meter window will appear, each meter reflects the input<br />

and output levels of a single filter.<br />

The Convolver pre-loads Filter programs and their associated<br />

FIR filters into on board DRAM, as they are selected. When<br />

two or more Filter programs and their associated FIR filters fit<br />

into the available DRAM they can be “fast switched”. Fast<br />

switching allows two different Filter programs to be compared<br />

in close to real time.<br />

It is only possible to switch between Filter programs loaded into<br />

DRAM, the number of filters which can be loaded into DRAM<br />

simultaneously is denoted by the number of buffers available<br />

(in Table 1 — Filters available to the Convolver). A Filter<br />

program which has been pre-loaded is indicated by an asterisk<br />

(*) next to the Program Name in the Filter program list.<br />

1. Click the first pre-loaded Filter program name.<br />

2. Click the second pre-loaded Filter program name.<br />

HURON TECHNICAL MANUAL PAGE 191


Summary<br />

THE ENGINEERING TOOLS<br />

When a Filter program is not pre-loaded it can still be switched<br />

to. The switching will however will take longer, as the FIR<br />

filters must be loaded from the disk drive.<br />

• The Convolver provides functionality to load and utilise FIR<br />

filters (SIM files) by creating Filter programs.<br />

• It is possible to mix outputs from FIR filters within the<br />

Convolver.<br />

• The Convolver can be used to fast switch between Filter<br />

programs providing a method for comparing outputs.<br />

HURON TECHNICAL MANUAL PAGE 192


Introduction<br />

96kHz Convolver Hardware Requirements<br />

The 96kHz Convolver Tool<br />

The 96kHz Convolver software is designed for high sample<br />

rate, long, low-latency convolution of 96kHz digital signals.<br />

The software interface to the 96kHz Convolver operates in the<br />

same manner as the standard Lake Convolver application, with<br />

the following differences:<br />

• To run the 96kHz Convolver, specific hardware internal and<br />

external to the <strong>Huron</strong> is required.<br />

• The 96kHz Convolver utilises filters specific to 96kHz<br />

convolution.<br />

• By virtue of the way 96kHz signals are handled in the<br />

Engineering tools, the appearance and manner of patching<br />

the 96kHz Convolver in the Patch Bay is different to that of<br />

the normal Engineering Tools.<br />

Rather than recast the standard Convolver documentation in<br />

terms of the 96kHz version, this sub-section focuses only on the<br />

differences between the two, allowing the user to substitute the<br />

information contained here for the relevant sections in standard<br />

Convolver documentation.<br />

The 96 kHz Convolver tool provides a flexible and powerful<br />

interface to high sample rate, long, low latency convolution<br />

technology. This high sample rate Convolver mirrors the<br />

functionality of the standard Lake (48kHz) Convolver, however<br />

it works with a 96kHz digital input signal.<br />

In order to run the 96kHz Convolver the following Hardware is<br />

required:<br />

• 1 <strong>Huron</strong> with at least 4 DSPs available.<br />

• 1 Two channel AES/EBU Digital Input Module without<br />

sample rate conversion (synchronous).<br />

• 1 Two channel AES/EBU Digital Output Module.<br />

• 1 96kHz Input device, which must support data formatted as<br />

odd and even samples in the left and right channels of a<br />

standard AES/EBU stream. This device may be a 96kHz<br />

Analogue to Digital converter.<br />

HURON TECHNICAL MANUAL PAGE 193


96kHz Filters<br />

Filter<br />

Type<br />

Number<br />

Filter<br />

Length<br />

Latency in<br />

Milliseconds<br />

THE ENGINEERING TOOLS<br />

• 1 96kHz Output device, which must support data formatted<br />

as odd and even samples in the left and right channels of a<br />

standard AES/EBU stream. This device may be a 96kHz<br />

Digital to Analogue converter.<br />

The 96kHz Convolver provides a selection of Finite Impulse<br />

Response (FIR) filters into which measured or simulated<br />

impulse responses may be loaded. Incoming signals are<br />

processed by an external 96kHz analogue to digital converter<br />

and are input to the <strong>Huron</strong> system via a synchronous Lake<br />

Digital Input Module as a set of odd and even 48kHz data<br />

streams. These signals are then convolved with the impulse<br />

responses before being output as a pair of odd and even digital<br />

output signals through a Lake Digital Output Module. These<br />

interleaved signals may then be mixed by an external 96kHz<br />

digital to analogue converter to produce a single convolved<br />

96kHz signal.<br />

Figure 58 — A schematic of connections to the 96kHz<br />

Convolver<br />

Rather than the standard Convolver filters the 96kHz Convolver<br />

uses specifically designed 96kHz filters. These filters are<br />

presented in the table below, and when using the 96kHz<br />

Convolver replace the standard Convolver filters found in Table<br />

1.<br />

Latency<br />

in<br />

Samples<br />

Number of DSP<br />

resources used per<br />

channel<br />

Number of<br />

Buffers<br />

available<br />

0 4116 0.02ms 2 4 3<br />

1 69456 0.06ms 6 8 3<br />

2 278020 0.10ms 10 12 3<br />

3 8638 1.00ms 92 4 3<br />

4 138844 1.00ms 96 8 3<br />

5 17276 2.00ms 184 4 2<br />

6 277848 2.00ms 188 8 2<br />

7 32768 20.00ms 1936 4 15<br />

8 65536 41.00ms 3934 4 15<br />

9 131072 92.00ms 7874 4 7<br />

10 262144 166.00ms 15896 4 3<br />

Table 2 — Filters available to the 96kHz Convolver<br />

HURON TECHNICAL MANUAL PAGE 194


Patching the 96kHz Convolver<br />

Loading the 96kHz Convolver<br />

THE ENGINEERING TOOLS<br />

For each channel of 96kHz convolution, the 96kHz Convolver<br />

requires an input signal which has been divided into two 48kHz<br />

streams of data. Each stream carries either the odd samples or<br />

the even samples of the 96kHz data. These odd and even data<br />

streams are input to the Convolver via a synchronous AES/EBU<br />

Digital Input Module. The 96kHz Convolver processes the<br />

signals in parallel, with the resultant signals being passed out of<br />

the <strong>Huron</strong> as a pair of odd and even 48kHz signals. The final<br />

96kHz output signal is derived by combining these interleaved<br />

samples via a Digital to Analogue converter external to the<br />

<strong>Huron</strong>.<br />

Figure 59 — Patching a channel of the 96kHz convolver correctly<br />

When loading the 96kHz Convolver the following guidelines<br />

should be used to prevent errors occurring in the output signal:<br />

• The 96kHz Convolver should be the first DSP using<br />

application loaded into the VRack.<br />

• The 96kHz Convolver should load all of the DSP resources<br />

it requires before any other applications which utilise DSPs<br />

are used.<br />

• If it is impossible for the 96kHz Convolver to be the first<br />

application using DSPs loaded into the VRack, it is<br />

important that the Convolver is started when the DSP usage<br />

count is a multiple of four, i.e. when the DSP usage count is<br />

0,4,8,12,16 etc.<br />

HURON TECHNICAL MANUAL PAGE 195


Introduction<br />

Features<br />

Operation<br />

The Measurement Tool<br />

The Measurement tool provides a method for obtaining and<br />

storing the impulse response (IR) of audio systems, including<br />

acoustic spaces (concert halls, theatres, etc) or audio processing<br />

equipment (reverbs, equalisers, microphones, etc).<br />

The measurement of an audio system requires a test signal to be<br />

sent to the system to be measured. Inputs to the measurement<br />

tool synchronously capture the signal fed back from the system.<br />

This signal is used to calculate the response of the system which<br />

is subsequently stored in a simulation (*.SIM) file.<br />

The response can then be analysed with SIM Tools and can be<br />

used as part of a Filter program within the Convolver to recreate<br />

the audio system measured.<br />

• Obtains the Impulse Response (IR) for a range of audio<br />

systems.<br />

• Generates SIM files for use in the Convolver.<br />

• Synchronously captures responses to test signals.<br />

Figure 60 — The Measurement interface<br />

HURON TECHNICAL MANUAL PAGE 197


Starting<br />

Note: If using measure to obtain<br />

impulse responses from objects<br />

internal to the <strong>Huron</strong>, the results may<br />

be offset by 2 samples from the correct<br />

response. This will only occur when a<br />

multiple channel (3 channels or more)<br />

measurement is performed on the<br />

object in question. Measurements of<br />

systems external to the <strong>Huron</strong> are not<br />

affected.<br />

↓ To access the Measurement tool<br />

Selecting the Test Signal<br />

↓ To select a test signal<br />

Note: All test files must be a power of<br />

two (2) in length.<br />

Generating the Output Signal<br />

↓ To transmit the output test<br />

signal<br />

THE ENGINEERING TOOLS<br />

The Measurement tool must be loaded into the VRack via the<br />

New Engineering tools submenu (for loading instructions see<br />

the System Tools section of this manual).<br />

• Click the Measurement icon in the rack panel.<br />

The measurement response window will appear (see Figure 60)<br />

Additionally, the Measurement tool will appear with its<br />

appropriate patchsets in the Patch Bay tool (Figure 61).<br />

Figure 61 — Measurement Patch Panel<br />

Before measurement can commence, a test signal needs to be<br />

selected.<br />

• Select a test signal, from the Signal File drop down combo<br />

box.<br />

— or —<br />

Scroll the Signal File drop down combo box to Other …<br />

then type or select the name of the test signal file.<br />

After selecting a test signal, the signal can be downloaded to the<br />

DSP system and transmitted out of a physical output.<br />

1. Click on Signal.<br />

HURON TECHNICAL MANUAL PAGE 198


Inputs<br />

↓ To change the number of Inputs<br />

Note: When calculating the impulse<br />

response, a separate impulse response<br />

file is generated for each input.<br />

Sum Multiplier<br />

↓ To select the Sum Multiplier<br />

DC Block<br />

↓ To enable DC Block<br />

THE ENGINEERING TOOLS<br />

The transmission of the Output Test Signal will be started, and<br />

the Signal button will dim, to alert the user the signal has been<br />

loaded.<br />

2. Use the Patch Bay (see the System Tools section of this<br />

manual) to patch the Output Test Signal to the input of the<br />

system under test.<br />

There may be a need to have more than one input to the<br />

Measurement tool. For example, when measuring the impulse<br />

response of a room, it may be desirable to take measurements at<br />

many different locations in the room simultaneously. Similarly,<br />

if a microphone other than mono (stereo, binaural, B-format,<br />

etc) is used, the Measure program will capture the impulse<br />

response on several channels synchronously.<br />

• Select the number of inputs required, from the Inputs drop<br />

down combo box.<br />

Once the number of Inputs is selected the Patch Bay will update<br />

the number of input patch points.<br />

The Measurement tool repeatedly outputs the measurement<br />

signal. Synchronously, the input samples are read at the input<br />

into a buffer. The impulse response is calculated from this<br />

buffer. The Sum Multiplier field can be used to read a number<br />

of sample blocks into the buffer and to average the data, which<br />

can give a more accurate measurement of the impulse response<br />

of a system in the presence of noise.<br />

• Select a value from the Sum Multiplier drop down combo<br />

box.<br />

DC Block can be enabled to subtract any DC offset from the<br />

final measurement of the impulse response.<br />

• Check DC Block.<br />

HURON TECHNICAL MANUAL PAGE 199


Selecting the Output File<br />

↓ To select the name of the<br />

Output File (excluding the file<br />

extension)<br />

Running the Measurement<br />

↓ To run the measurement<br />

Note: the measurement can take<br />

several minutes to complete, the<br />

bigger the Sum Multiplier and the<br />

more inputs there are to be measured,<br />

the longer the computation takes.<br />

Level Metering<br />

↓ To display level meters for all of<br />

the inputs and outputs to the<br />

Measurement tool<br />

THE ENGINEERING TOOLS<br />

The measurement of the IR of the system is written to a SIM<br />

file. Each input response is saved to a file specified by the<br />

Output File Field. The Response from the first input is written<br />

to the file with a .001 extension, the second input is saved to a<br />

file with a .002 extension, subsequent inputs follow this<br />

sequential naming order.<br />

1. Click Browse... on the Output File Field.<br />

2. From the dialogue box, type or select the name of the file to<br />

output to.<br />

3. Click OK.<br />

• Click Run.<br />

The Run button will become disabled until the output signal has<br />

been generated and an output file has been selected.<br />

As each input’s response is calculated an estimate of the noise<br />

floor is computed and displayed, this noise floor is used as a<br />

measurement of confidence.<br />

• Click Meters.<br />

A level meter window will appear, each meter reflects the input<br />

and output levels of a single signal.<br />

HURON TECHNICAL MANUAL PAGE 200


Generating Test Signals<br />

↓ To create the *.INV file<br />

Notes on Test Signals<br />

It is possible to generate test signals to be<br />

used by the Measurement Tool. Each test<br />

signal file saved in the SIM (*.SIM) format<br />

requires a corresponding inverted SIM file<br />

(*.INV).<br />

Given a test signal in a *.SIM file, the<br />

appropriate *.INV file can be generated by<br />

the Matlab function makeinv.m in the<br />

examples/huronmat subdirectory of the<br />

<strong>Huron</strong> CDROM.<br />

THE ENGINEERING TOOLS<br />

SIM File<br />

FFT<br />

Invert<br />

Elements<br />

INV File<br />

Figure 62 — Creating an *.INV file for deconvolution<br />

Several test signals are supplied with the <strong>Huron</strong> software.<br />

These are white and pink noises, and a special variety of swept<br />

sine waves. The test signals that appear automatically in the<br />

Measure program's list are located in the measure subdirectory.<br />

Any test signals (and their *.INV files) that are added to this<br />

subdirectory will also automatically appear in the drop down<br />

combo box.<br />

The type of test signal used will depend on the particular<br />

response being measured. The test signal should be at least as<br />

long as the duration of the system impulse response to avoid<br />

time domain aliasing; a good rule of thumb is to select a test<br />

signal twice as long as the estimated response duration. This<br />

should be checked after the measurement. The Measurement<br />

confidence indication given by the program will also help<br />

decide if the test signal is appropriate.<br />

White noise test signals (wht_NNNk.sim) should be used with<br />

caution when measuring electroacoustic systems containing<br />

tweeter speaker drivers. Since these signals contain a large<br />

amount of energy in the high frequencies. This energy can<br />

destroy tweeters with a low continuous power rating if caution<br />

is not exercised. If in doubt, use a low volume or switch to a<br />

pink noise signal. White noise is the recommended choice for<br />

measuring purely electrical or purely digital signal paths. While<br />

these test signals sound similar to Maximum Length Sequences<br />

(MLS) used in some other measurement tools, they will give<br />

better results because their non-binary nature is less likely to<br />

cause overshoot and distortion in D/A converters and<br />

transducers.<br />

Pink noise test signals (pnk_NNNk.sim) have a spectrum with<br />

equal energy per octave. This has a 3dB/octave amplitude<br />

HURON TECHNICAL MANUAL PAGE 201


Signal Generation via MatLab Scripts<br />

Caution<br />

THE ENGINEERING TOOLS<br />

rolloff with increasing frequency. These test signals are safer<br />

for electroacoustic systems and are easier on the ear than white<br />

noise.<br />

The third variety of test signals is a type of swept sine wave.<br />

These signals (sNN_MMMk.sim, where NN is the number of<br />

octaves of the sweep, and MMM is the length of the signal in<br />

kilosamples) contain a sinusoid who's instantaneous frequency<br />

sweeps up at a constant number of octaves per second until it<br />

reaches the Nyquist frequency (in this case, half the sampling<br />

frequency). This imparts the signals with two important<br />

properties:<br />

1. Pink spectrum. These signals will not damage tweeters in<br />

loudspeakers if used at moderate volumes.<br />

2. Harmonic distortion rejection. Because the time duration<br />

between the instantaneous excitation frequency and its<br />

harmonics is constant in the test signal, any harmonic<br />

distortion in the system under test will manifest itself as<br />

narrow peaks very late in the impulse response. This<br />

typically corresponds with a region containing no relevant<br />

information, and so it can be truncated (removed entirely)<br />

from the measurement. To take advantage of this property<br />

select a test signal of much greater duration than the<br />

response of the system under test.<br />

These properties mean that the swept sine test signals are the<br />

best choice for electroacoustic measurements, which can have<br />

large harmonic distortion components.<br />

When using these test signals, it is necessary to choose not only<br />

the appropriate length, but the number of octaves to be covered.<br />

This will depend on the frequency range of interest, and the<br />

physical capabilities of the test source. To find the lowest<br />

instantaneous frequency in a given test signal, divide the sample<br />

rate by:<br />

2 (NN+1)<br />

The Matlab function swptsine.m in the huronmat<br />

subdirectory will allow the creation of your own variations of<br />

these test signals. Type “help swptsine” in Matlab for<br />

more details.<br />

CAUTION: Using a sweep of too many octaves could cause<br />

damage to loudspeakers. These signals contain low frequencies<br />

at very high levels, and can cause excessive cone displacement<br />

in speaker drivers. If in doubt start with a signal of fewer<br />

octaves and visually inspect the cone displacement. The low<br />

frequency limit of your tests will depend on the physical<br />

capabilities of your speaker. Using lower volume levels can<br />

alleviate this problem.<br />

HURON TECHNICAL MANUAL PAGE 202


Summary<br />

THE ENGINEERING TOOLS<br />

• The Measurement Tool is a general purpose impulse<br />

response measurement system.<br />

• The Measurement Tool provides a means for generating SIM<br />

files for immediate use in the Convolver.<br />

• Various methods for creating signal files and their inverse<br />

are available, signal creation is particularly easy via the use<br />

of Lakes pre-programmed Matlab Scripts.<br />

HURON TECHNICAL MANUAL PAGE 203


Introduction<br />

96kHz Measurement Tool’s Hardware Requirements<br />

The 96kHz Measurement Tool<br />

The 96kHz Measurement tool provides a method for obtaining<br />

and storing high sample rate impulse responses (IRs) of audio<br />

systems; including acoustic spaces (concert halls, theatres, etc)<br />

or audio processing equipment (reverbs, equalisers,<br />

microphones, etc). This high sample rate Measurement tool<br />

mirrors the functionality of the standard Lake (48kHz)<br />

Measurement tool, with the following differences:<br />

• To run the Measurement 96kHz tool, specific hardware<br />

internal and external to the <strong>Huron</strong> is required.<br />

• The Patch Bay interface to the 96kHz Measurement tool is<br />

different to the standard Measurement tool. For each<br />

channel of 96kHz data to be measured Measure uses two<br />

input and output points corresponding to two streams of data<br />

representing the odd and even samples of the 96kHz signal.<br />

Rather than repeat the standard measure documentation with<br />

references to 96kHz Measure inserted, this sub-section focuses<br />

on the differences cited above.<br />

The 96kHz Measurement tool provides the same functionality,<br />

and utilises the same interface as Lake Technology’s standard<br />

Measurement tool. Its primary differentiation is that it transmits<br />

and captures signals at a 96kHz sampling rate, rather than the<br />

standard 48kHz.<br />

In order to run the 96kHz Measurement tool the following<br />

equipment is required:<br />

• 1 <strong>Huron</strong> with at least 4 DSPs available.<br />

• 1 Two channel AES/EBU Digital Input Module with no<br />

sample rate conversion (synchronous). One of these<br />

modules is required for each impulse to be measured.<br />

• 1 Two channel AES/EBU Digital Output Module.<br />

• 1 96kHz Analogue to Digital converter. This converter must<br />

support data formatted as odd and even samples of the left<br />

and right channels of a standard AES/EBU system.<br />

HURON TECHNICAL MANUAL PAGE 205


THE ENGINEERING TOOLS<br />

• 1 96kHz Digital to Analogue converter. This converter must<br />

support data formatted as odd and even samples of the left<br />

and right channels of a standard AES/EBU system.<br />

The measurement of an audio system at 96kHz requires a test<br />

signal generated by the <strong>Huron</strong> to be sent from the digital output<br />

to a Digital to analogue converter into the system to be<br />

measured. The signal is returned to the <strong>Huron</strong> via an Analogue<br />

to digital converter and the Digital Input Module. The response<br />

represents the IR of the system, and can be used to create a<br />

finite impulse response file (*.SIM, *.001) file that may be used<br />

in other Lake Applications.<br />

Figure 63 — A schematic of connections to the 96kHz Measurement tool<br />

Patching the 96kHz Measurement Tool<br />

For each instance of 96kHz Measurement, the 96kHz Measure<br />

will output a signal as two 48kHz streams of data. Each stream<br />

carries either the odd samples or the even samples of the 96kHz<br />

signal.<br />

After being transmitted the signal is captured via a microphone<br />

the signal is then piped to the Measure tool from the 96kHz<br />

Analogue to Digital (A/D) converter and the synchronous<br />

AES/EBU digital input module (I/O module). Every separate<br />

microphone (each of which will generate an impulse response)<br />

requires an A/D converter and a synchronous digital I/O<br />

module.<br />

Figure 64 — Patching a channel of the 96kHz Measurement tool correctly<br />

HURON TECHNICAL MANUAL PAGE 206


Loading the 96kHz Measurement Tool<br />

THE ENGINEERING TOOLS<br />

When loading the 96kHz Measurement tool the following<br />

guidelines should be used to prevent errors occurring in the<br />

output signal:<br />

• The 96kHz Measurement tool should be the first DSP using<br />

application loaded into the VRack.<br />

• The 96kHz Measurement tool should load all of the DSP<br />

resources it requires before any other applications which<br />

utilise DSPs are used.<br />

If it is impossible for the 96kHz Measurement tool to be the<br />

first application using DSPs loaded into the VRack, it is<br />

important that the Measurement tool is started when the DSP<br />

usage count is 0,4,8,12,16 etc.<br />

HURON TECHNICAL MANUAL PAGE 207


Introduction to the SIM Tools<br />

The SIM Tools are a suite of programs which allow the<br />

manipulation of SIM data files. The SIM data file is the<br />

common file format used by all Lake Technology hardware and<br />

software. The SIM tools are used to convert to and from the<br />

SIM file format and plot, list, generate and manipulate SIM data<br />

files.<br />

The SIM tools are comprised of the applications Simwin,<br />

Plotwsim, Simscale, Wavtosim, and Simtowav. These<br />

Programs can be found in the C:\<strong>Huron</strong>32\bin\ directory<br />

of your installation.<br />

Simwin is an application which provides tools for generating<br />

and manipulating SIM data files. Simwin includes functions<br />

for:<br />

• Generating data, such as random noise functions.<br />

• Tools for the manipulation of data and vector arithmetic.<br />

• Generating window functions.<br />

Plotwsim is a SIM file plotting utility, and provides capability<br />

to plot files to the screen or to a printer. Plots can be made<br />

against time, frequency or sample numbers with logarithmic or<br />

linear axes.<br />

Simscale is a Windows based SIM scaling utility. Its primary<br />

function is to comparatively scale *.SIM files. This<br />

comparative scaling provides benefits such as:<br />

• The prevention of clipping of filters by scaling down large<br />

amplitude filters.<br />

• Higher signal to noise ratios by scaling up small amplitude<br />

filters.<br />

• Reduction in the amount of apparent volume difference<br />

when switching between filters.<br />

Wavtosim and Simtowav allow conversions between the SIM<br />

file format and the Windows WAV format for audio data<br />

streams. These two applications are provided on an ‘as is’ basis<br />

and may not work with all WAV formats.<br />

HURON TECHNICAL MANUAL PAGE 209


; comments<br />

(<br />

(dtype [bit16 | bit20 | bit24 | fixed | double] )<br />

(mode [binary | text] )<br />

(vsize integer)<br />

(dmode [periodic | stream])<br />

(struct [real | imaginary | complex])<br />

[(samplerate longinteger)]<br />

[(plotmax string)]<br />

[(plotmin string)]<br />

)<br />

text or binary data ...<br />

The SIM File Format<br />

The format of the *.SIM file appears below. In general terms<br />

the format of a *.SIM file is characterised by a header of control<br />

information describing the type of data and its format, followed<br />

by the actual data in a vector format. If the data contained in<br />

the vectors is complex, the real and complex parts are<br />

interleaved, sample by sample.<br />

The control information in the header is made up of the<br />

following components.<br />

Component Description<br />

Data type dtype set to bit16, bit20, bit24, fixed point or double<br />

precision.<br />

File mode mode is set to text or binary.<br />

Vector size vsize set to length of vector.<br />

Data mode dmode set to periodic or stream data.<br />

Structure struct set to complex, real or imaginary.<br />

Samplerate samplerate in Hertz [optional].<br />

Plotmax/min string, generated internally by some Lake tools [optional].<br />

Comments ; followed by comment to end of line.<br />

Data Formats<br />

The following points should be kept in mind when creating or<br />

modifying a *.SIM file for use with Lake Technology software.<br />

• Fixed point data is written as a 2's complement whole<br />

integer. For example, a bit16 fixed point word would be<br />

in the range from -32768 to 32767. Double precision<br />

floating point can only be uniquely represented in binary,<br />

and may give truncation errors when in text mode.<br />

HURON TECHNICAL MANUAL PAGE 211


THE ENGINEERING TOOLS<br />

• Most Lake Technology tools accept only 24 bit binary<br />

mode *.SIM files.<br />

• The plotmin and plotmax parameters contain a short<br />

hand form of a graphical plot of the *.SIM file. These<br />

parameters are interpreted by some Lake utilities to display a<br />

mini plot of the *.SIM file during file selection dialogues.<br />

Both of these parameters are optional and do not affect the<br />

data component of the *.SIM file. The data values for the<br />

parameters are generated by Lake utilities.<br />

HURON TECHNICAL MANUAL PAGE 212


Introduction<br />

Operation<br />

Starting<br />

↓ To start the Simwin tool<br />

The Simwin Tool<br />

Simwin provides facilities for:<br />

• Converting text or binary data into the *.SIM format.<br />

• Listing the data vectors within the *.SIM file.<br />

• Editing data vectors within the *.SIM file.<br />

• Generating various vectors (eg. random noise, sine waves,<br />

etc).<br />

• Performing vector arithmetic on data.<br />

• Creating window functions.<br />

Figure 65 — The Simwin main interface<br />

The Simwin application can be started from the Windows<br />

Explorer.<br />

1. From the C:\huron32\bin directory<br />

2. Double click on the simwin.exe icon.<br />

At the top of the Simwin display is the Simwin menu.<br />

The menu is used to open files, and launch functions.<br />

HURON TECHNICAL MANUAL PAGE 213


THE ENGINEERING TOOLS<br />

Menu Item Contains<br />

File Options for saving text from the main window after a<br />

function is executed.<br />

Edit Copies text from the main window into the windows<br />

clipboard.<br />

Function Loads and launches Simwin functions<br />

Selecting and Executing a Function<br />

↓ To execute a function<br />

Functions are used to generate, edit, or delete *.SIM files.<br />

Either:<br />

• Select a function from the Function Menu.<br />

—or—<br />

Click the appropriate Toolbar icon.<br />

If the function requires input, a dialogue box will appear. Each<br />

function utilises different dialogue boxes for data input. These<br />

dialogue boxes are described in the following sections of the<br />

manual.<br />

Each function command in Simwin executes the requested<br />

function and displays the results in the main Simwin display<br />

window. The text in this window may be saved to a file (using<br />

the Save item on the File menu) or copied to the Windows<br />

clipboard (using the Copy item on the Edit menu).<br />

HURON TECHNICAL MANUAL PAGE 214


Dfilter Windows Interface<br />

↓ To start Dfilter<br />

Simwin — Dfilter Tool<br />

The Dfilter function provides a mechanism for converting one<br />

data file format to another. This conversion includes<br />

transferring text or binary data into the SIM format, and<br />

converting one SIM format to another.<br />

Dfilter reads and writes both data of fixed point precision (up to<br />

32 bits in wordlength), and double precision floating point data.<br />

When writing fixed point data Dfilter will truncate the least<br />

significant bits of the data word. The input and output of all<br />

fixed point data used by Dfilter is written as 2's complement<br />

integers.<br />

When reading floating point data Dfilter returns a warning<br />

message if an attempt is made to write +1.0 as a 2’s<br />

complement number. If Dfilter is forced to read data outside<br />

the range of 2’s complement numbers, it will saturate the data,<br />

clipping the data outside of the valid range.<br />

• Select Dfilter on the Simwin function menu.<br />

—or—<br />

Click .<br />

This will display a dialogue box (see Figure 66).<br />

Figure 66 — The Dfilter interface<br />

HURON TECHNICAL MANUAL PAGE 215


↓ To convert or create a SIM file<br />

Note: It is possible to select a different<br />

sample rate for the input and output<br />

files in Dfilter, however sample rate<br />

conversion has not been supplied with<br />

this release of the software. Selecting<br />

different sample rates changes the<br />

information in the .SIM file header<br />

but does not affect the actual data<br />

vectors.<br />

THE ENGINEERING TOOLS<br />

1. If the input file is a SIM file then type or select the name of<br />

the input file. Check , the input fields will be filled<br />

automatically.<br />

— otherwise —<br />

Fill in the appropriate information in the input fields (data<br />

type, file type, sample rate) using the drop down combo boxes.<br />

2. Type the Vector length.<br />

3. If the input data is periodic Check Periodic.<br />

4. Specify the number of vectors to process by typing the<br />

number in the Vectors text box.<br />

5. Select if data normalisation between the input and output<br />

should occur, by selecting the required data type<br />

normalisation option (on or off).<br />

6. Type or select the name of the output file.<br />

Follow steps 1 through 4 above to fill in the appropriate<br />

information concerning the output file.<br />

HURON TECHNICAL MANUAL PAGE 216


Lvec Windows Interface<br />

↓ To start Lvec<br />

↓ To navigate the *.SIM file<br />

Simwin — Lvec Tool<br />

The Lvec function reads the contents of a *.SIM file and lists its<br />

contents in the Simwin display window. The data is presented<br />

in columns of real and imaginary samples, with each row<br />

representing a sample number.<br />

1. Select Lvec on the Simwin function menu.<br />

—or—<br />

Click .<br />

2. Select a *.SIM file to list.<br />

After a SIM file is selected the following dialogue box will be<br />

displayed (Figure 67).<br />

Figure 67 — The Lvec interface<br />

The first page of the textual display shows the header of the<br />

*.SIM file. The subsequent pages display the data contained<br />

within the *.SIM file.<br />

1. Click the and<br />

the data one page at a time.<br />

2. Click the<br />

buttons to step through<br />

button to go to a particular vector.<br />

HURON TECHNICAL MANUAL PAGE 217


↓ To display the magnitude of a<br />

complex vector<br />

↓ To display the data in<br />

hexadecimal<br />

↓ To display a new file<br />

↓ To close the Lvec function<br />

window<br />

THE ENGINEERING TOOLS<br />

• Check . The magnitude will be displayed in<br />

the real part of the vector.<br />

• Check .<br />

1. Click .<br />

2. Select the new file to view.<br />

• Click .<br />

This will close the Lvec function window.<br />

HURON TECHNICAL MANUAL PAGE 218


Padvec Windows Interface<br />

↓ To start Padvec<br />

↓ To pad a SIM file:<br />

↓ To pad inside a sample<br />

Simwin — Padvec Tool<br />

The Padvec function will read a *.SIM file and insert any<br />

number of zeros at any point within the file.<br />

• Select Padvec on the Simwin function menu.<br />

— or —<br />

Click .<br />

This will display the Padvec dialogue box (see Figure 68).<br />

Figure 68 — The Padvec interface<br />

1. Type the file to pad into the Input box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

2. Type a filename to output to into the Output text box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

3. Type the sample number at which to start padding in the<br />

Start box.<br />

4. Type the number of Zeros to add after the sample in the<br />

Length box.<br />

5. Click OK to pad the Sample.<br />

1. Follow the steps above, and<br />

2. Select .<br />

Zeros will be inserted into the centre of the sample at the<br />

position specified in the start dialogue box.<br />

HURON TECHNICAL MANUAL PAGE 219


Cutvec Windows Interface<br />

↓ To start Cutvec<br />

↓ To truncate a SIM file<br />

Simwin — Cutvec Tool<br />

The Cutvec function will read a *.SIM file and truncate it to a<br />

specified length.<br />

• Select Cutvec on the Simwin function menu.<br />

— or —<br />

Click .<br />

This will display the Cutvec dialogue box (see Figure 69):<br />

Figure 69 —The Cutvec interface<br />

1. Type the file name of the *.SIM file to truncate into the<br />

Input box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

2. Type a filename to output the truncated file to, in the<br />

Output box.<br />

— or —<br />

Click Browse… and select a file name to output to from the<br />

filename dialogue box.<br />

3. Type the new length of the *.SIM file (in samples)in the<br />

Length box.<br />

4. Click OK.<br />

HURON TECHNICAL MANUAL PAGE 221


Permute Windows Interface<br />

↓ To start Permute<br />

↓ To permute a *.SIM file<br />

Simwin — Permute Tool<br />

The permute utility allows bit reversal and transposition of data<br />

in *.SIM files. This can be useful for the analysis of Fast<br />

Fourier Transform (FFT) data.<br />

• Select Permute on the Simwin function menu.<br />

— or —<br />

Click .<br />

The following dialogue box will appear (see Figure 70).<br />

Figure 70 — The Permute interface<br />

1. Type a file name to perform the permutation on, into the<br />

Input box.<br />

— or —<br />

Click Browse… and select an input file name from the<br />

filename dialogue box.<br />

2. Type a filename to output the permuted file to, into the<br />

Output box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

The following options for the permutation of the SIM files can<br />

be specified.<br />

HURON TECHNICAL MANUAL PAGE 223


↓ To produce overlap<br />

↓ To transpose the rows and<br />

columns<br />

↓ To reverse the direction of the<br />

bit data<br />

↓ To reverse the sequence in a<br />

linear mode<br />

↓ To Shift the sequence through a<br />

circular half sequence<br />

↓ To scale the signal through<br />

multiplication<br />

↓ To use virtual memory when<br />

permuting vectors greater than<br />

4k<br />

THE ENGINEERING TOOLS<br />

• Type a percentage in the Input Overlap and Output<br />

Overlap boxes.<br />

• Check .<br />

• Select a direction for bit reversal from the bit reverse drop<br />

down combo box.<br />

• Check .<br />

• Check .<br />

• Type a floating point value into the Scale box.<br />

1. Check .<br />

2. Specify the length of the columns in the Column Length<br />

box.<br />

3. Specify the length of the rows in the Row box.<br />

4. Specify the number of vectors in the Vectors box.<br />

5. Click OK to apply the permutations to the SIM file.<br />

HURON TECHNICAL MANUAL PAGE 224


Wingen Windows Interface<br />

↓ To start Wingen<br />

Simwin — Wingen Tool<br />

The window function generator, supports a number of different<br />

window functions with various mainlobe and sidelobe trade<br />

offs. It can create these window functions in any of the formats<br />

supported by the SIM file format. It will also support two<br />

dimensional window functions.<br />

The windows supported are:<br />

• Uniform (rectangle).<br />

• Bartlett (triangle).<br />

• Von Hann.<br />

• Hamming.<br />

• Blackman.<br />

• Harris.<br />

• Blackman-Harris.<br />

Wingen generates windows functions in which the peaks of the<br />

function are situated at the beginning and end of the sequence.<br />

This means the function decays to zero in the centre of the<br />

vector. If it is necessary to place the peak in the centre of the<br />

function, use the Shift option in Wingen.<br />

The window functions that Wingen can produce are detailed in<br />

the Frequency Responses for Window Functions — SimTools<br />

Appendix 1 sub-section of the SIM Tools.<br />

• Select Windows Generator on the Simwin function menu.<br />

—or—<br />

Click .<br />

This will display the Wingen dialogue box (see Figure 71):<br />

Figure 71 — The Wingen windows generator interface<br />

HURON TECHNICAL MANUAL PAGE 225


↓ To generate a window function<br />

↓ To generate the window<br />

function with a centred peak<br />

THE ENGINEERING TOOLS<br />

1. Select a window type from the drop down menu.<br />

2. Select the data type of the output file from the drop down<br />

menu.<br />

3. Select the file type of the output file from the drop down<br />

menu.<br />

4. Type the number of rows required in the Rows box.<br />

5. Type the number of columns required in the Columns box.<br />

6. Select the sample rate of the output file from the drop down<br />

menu.<br />

7. Type a filename to output the window file to, into the<br />

Output box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

8. Click OK.<br />

1. Follow the process for window generation above then:<br />

2. Select .<br />

3. Click OK.<br />

HURON TECHNICAL MANUAL PAGE 226


SigGen Windows Interface<br />

↓ To start SigGen<br />

↓ To generate a sine wave signal<br />

Simwin — SigGen Tool<br />

The SigGen function provides an interface for the generation of:<br />

• Sine Wave signals.<br />

• Noise signals.<br />

• Impulse signals.<br />

• Piecewise linear signals.<br />

• Select Signal Generator on the Simwin function menu.<br />

—or—<br />

Click .<br />

This will display the SigGen dialogue box. As different signal<br />

functions are selected the dialogue box will change, allowing<br />

the entry of function variables specific to that signal type. The<br />

dialogue box shown below (Figure 72) is for the generation of<br />

sine waves.<br />

Figure 72 — The SigGen interface (sine wave generation)<br />

1. Select the sine wave function type from the drop down<br />

menu.<br />

2. Select the file type of the output file from the drop down<br />

menu.<br />

3. Select the data type of the output file from the drop down<br />

menu.<br />

4. Type the amplitude required in the Amplitude box.<br />

5. Type the decibel amplitude required in the dB Amp box.<br />

6. Type the length of the signal in the Length box.<br />

7. Type the frequency of the signal into the Frequency box.<br />

HURON TECHNICAL MANUAL PAGE 227


↓ To generate a noise signal<br />

↓ To generate an impulse signal<br />

THE ENGINEERING TOOLS<br />

8. Type the phase of the signal into the Phase box.<br />

9. Type the number of vectors required into the Vectors box.<br />

10. Select the sample rate of the output file from the drop down<br />

menu.<br />

11. Type a filename to output the signal to, into the Output box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

12. Click OK.<br />

1. Select the Noise function type from the drop down menu.<br />

This will display the following dialogue box.<br />

Figure 73 — The SigGen interface (noise generation)<br />

2. Select the file type of the output file from the drop down<br />

menu.<br />

3. Select the data type of the output file from the drop down<br />

menu.<br />

4. Type the amplitude required in the Amplitude box.<br />

5. Type the decibel amplitude required in the dB Amp box.<br />

6. Type the length of the signal in the Length box.<br />

7. Type the random number seed into the Seed box.<br />

8. Select the distribution Model of Noise from the Noise drop<br />

down menu.<br />

9. Type the number of vectors required into the Vectors box.<br />

10. Select the sample rate of the output file from the drop down<br />

menu.<br />

11. Type a filename to output to, into the Output box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

12. Click OK.<br />

1. Select the impulse signal function type from the drop down<br />

menu. This will display the following dialogue box.<br />

HURON TECHNICAL MANUAL PAGE 228


↓ To generate a piecewise linear<br />

signal<br />

Figure 74 — The SigGen interface (impulse signal generation)<br />

THE ENGINEERING TOOLS<br />

2. Select the file type of the output file from the drop down<br />

menu.<br />

3. Select the data type of the output file from the drop down<br />

menu.<br />

4. Type the amplitude required in the Amplitude box.<br />

5. Type the decibel amplitude required in the dB Amp box.<br />

6. Type the length of the signal in the Length box.<br />

7. Type a series of data points into the data points box. The<br />

data points should be input as a series of X,Y pairs (For<br />

example 128:1.0,150:0.8,...).<br />

8. Type the number of vectors required into the Vectors box.<br />

9. Select the sample rate of the output file from the drop down<br />

menu.<br />

10. Type a filename to output to, into the Output box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

11. Click OK.<br />

1. Select piece wise linear generation signal function type<br />

from the drop down menu. This will display the following<br />

dialogue box.<br />

Figure 75 — The SigGen interface (Piece wise linear generation)<br />

2. Select the file type of the output file from the drop down<br />

menu.<br />

3. Select the data type of the output file from the drop down<br />

menu.<br />

4. Type the amplitude required in the Amplitude box.<br />

5. Type the decibel amplitude required in the dB Amp box.<br />

HURON TECHNICAL MANUAL PAGE 229


THE ENGINEERING TOOLS<br />

6. Type the length of the signal in the Length box.<br />

7. Type a series of data points into the data points box. The<br />

data points should be input as a series of X,Y pairs (For<br />

example 128:1.0,150:0.8,...).<br />

8. Type the number of vectors required into the Vectors box.<br />

9. Select the sample rate of the output file from the drop down<br />

menu.<br />

10. Type a filename to output to, into the Output box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

11. Click OK.<br />

HURON TECHNICAL MANUAL PAGE 230


Vector Arithmetic Windows Interface<br />

↓ To perform Vector Arithmetic<br />

Simwin — Vector Arithmetic Tool<br />

The vector arithmetic function of Simwin provides a means of:<br />

• Adding;<br />

• Subtracting;<br />

• Dividing;<br />

• and Multiplying vectors.<br />

If the datafiles contain complex data, all arithmetic performed is<br />

complex.<br />

For scaling operations, real scalar values may be specified<br />

instead of a second vector.<br />

1. Select the Vector Arithmetic on the Simwin function menu.<br />

—or—<br />

Click .<br />

This will display the Vector Arithmetic dialogue box (shown in<br />

Figure 76).<br />

Figure 76 — The Addvec interface<br />

2. Select the operation to perform from the function drop<br />

down menu.<br />

3. Type a scalar value (for scaling operations) in the Scalar<br />

box — this value can be used instead of a second input file.<br />

4. Type the number of vectors to perform the operation on in<br />

the Vectors box.<br />

5. Type the filename of the first input file, into the Input 1<br />

box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

HURON TECHNICAL MANUAL PAGE 231


THE ENGINEERING TOOLS<br />

6. Type the filename of the second input file, into the Input 2<br />

box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

— or —<br />

Leave blank if a scalar value has been entered.<br />

7. Type a filename to output the added files to, into the Output<br />

box.<br />

— or —<br />

Click Browse… and select a file name from the filename<br />

dialogue box.<br />

8. Click OK.<br />

HURON TECHNICAL MANUAL PAGE 232


Introduction<br />

Features<br />

Operation<br />

↓ To start Plotwsim<br />

The Plotwsim Tool<br />

Plotwsim is a Windows based SIM file plotting utility. It<br />

allows the data contained in *.SIM files to be plotted in the time<br />

and frequency domains.<br />

• Plotwsim allows various display options, including<br />

magnitude display, and dB display.<br />

• Plotwsim provides the capability to zoom into and out from<br />

an area of interest.<br />

• Plotwsim allows the plot of *.SIM file to be printed.<br />

The Plotwsim application can be started from the Windows<br />

Explorer.<br />

1. Double click on the simwin.exe icon.<br />

2. From the C:\huron32\bin directory.<br />

3. Double Click on the Plotwsim icon.<br />

This will display the Plotwsim window below<br />

(Figure 77).<br />

HURON TECHNICAL MANUAL PAGE 233


Figure 77 — The Plotwsim main interface<br />

THE ENGINEERING TOOLS<br />

At the top of the Plotwsim main display is the Menu. This<br />

menu is used to open files, copy to the clipboard from the<br />

screen and configure the display of the SIM file.<br />

Menu Item Contains<br />

File Options for quitting Plotwsim and saving, loading<br />

and printing SIM files.<br />

Edit Copy the plot of the *.SIM file to the windows<br />

clipboard.<br />

View Options for configuring the plotting of a SIM file.<br />

Reading SIM files<br />

↓ To display a new SIM file<br />

↓ To overlay a second SIM file on<br />

top of the first<br />

Note: A Maximum of 12 SIM files can<br />

be overlayed on a single plot.<br />

1. Select New from the File menu.<br />

— or —<br />

Click .<br />

2. Select a *.SIM file from the Open File dialogue box.<br />

The SIM file will then be plotted in the Plotwsim window.<br />

1. Select Add from the File menu.<br />

— or —<br />

Click<br />

2. Select a *.SIM file from the Open File dialogue box.<br />

The second SIM file will be overlayed on top of the first.<br />

HURON TECHNICAL MANUAL PAGE 234


Printing<br />

↓ To print the SIM file plot<br />

↓ To select printer options<br />

↓ To print a border around the<br />

graph<br />

↓ To maintain relative width and<br />

height of the graph when<br />

printing<br />

↓ To print the graph maximising<br />

its height and width on the page<br />

↓ To maintain the original size of<br />

the graph<br />

↓ To switch the display to<br />

Monochrome mode<br />

• Select Print on the File menu.<br />

— or —<br />

Click .<br />

THE ENGINEERING TOOLS<br />

• Select Print Options on the File menu.<br />

A Print parameters dialogue box will be displayed (see Figure<br />

78).<br />

Figure 78 — The Plotwsim print setup dialogue<br />

• Check .<br />

• Check .<br />

If this option is not selected the aspect ratio may be changed to<br />

maximise the size of the printed image.<br />

• Select .<br />

— or —<br />

Select .<br />

1. Select .<br />

2. Specify the positioning of the upper left corner of the graph<br />

on the paper. This location is derived from two values<br />

which are a percentage of the width and height of the paper.<br />

• Select Monochrome on the View Menu.<br />

HURON TECHNICAL MANUAL PAGE 235


↓ To set up a printer<br />

Note: The functions<br />

and<br />

are not<br />

supported in this version of the<br />

software.<br />

Copying the graph to the clipboard<br />

↓ To copy the graph to the<br />

clipboard<br />

Viewing the Data<br />

↓ To view the real part of the<br />

complex data.<br />

↓ To view the imaginary part of<br />

the complex data<br />

↓ To view the magnitude of the<br />

complex data<br />

↓ To view the phase of the<br />

complex data<br />

THE ENGINEERING TOOLS<br />

This setting may enhance the differentiation between separate<br />

graphs when *.SIM files have been overlayed.<br />

• Select Print Setup on the File menu.<br />

• Select Copy on the Edit menu.<br />

The graph may then be pasted into a document or drawing<br />

program.<br />

• Select Real on the View Menu.<br />

— or—<br />

Click .<br />

• Select Imaginary on the View menu.<br />

— or —<br />

Click .<br />

• Select Magnitude on the View Menu.<br />

— or —<br />

Click .<br />

• Select Phase on the View menu.<br />

— or —<br />

Click .<br />

HURON TECHNICAL MANUAL PAGE 236


Altering the Axes<br />

↓ To display samples along the x<br />

axis<br />

↓ To display time along the x axis<br />

↓ To alter the frequency axes<br />

↓ To display the X axis<br />

logarithmically<br />

↓ To display the Y axis on a<br />

decibel scale<br />

• Select Sample on the View menu.<br />

— or —<br />

Click .<br />

• Select Time on the View menu.<br />

— or —<br />

THE ENGINEERING TOOLS<br />

Click .<br />

The time axis is calculated using the sample rate value in the<br />

*.SIM file header, if this is missing a sample rate of 48kHz is<br />

assumed.<br />

Frequency can be displayed along the X axis in two ways.<br />

The first:<br />

If the data contains frequency information from DC to half of<br />

the sample rate<br />

• Select Half Frequency on the View menu.<br />

— or —<br />

Click .<br />

The second:<br />

If the data contains frequency information from DC to the full<br />

sample rate<br />

• Select Full frequency on the View menu.<br />

— or —<br />

Click .<br />

The frequency axis is calculated using the sample rate value in<br />

the SIM file header, if this is missing a sample rate of 48kHz is<br />

assumed.<br />

• Select Log f on the View menu.<br />

— or —<br />

Click .<br />

This option is only available when displaying frequency along<br />

the X axis.<br />

• Select dB Y on the View menu.<br />

— or —<br />

Click .<br />

HURON TECHNICAL MANUAL PAGE 237


↓ To change the range of the X<br />

axis<br />

1. Select X Axis on the View menu.<br />

— or —<br />

THE ENGINEERING TOOLS<br />

Click .<br />

The X Axis alteration dialogue box will appear.<br />

2. Type new range numbers into the Start and End boxes.<br />

The value of the number is dependent on the mode in which you<br />

are running.<br />

Mode Start and End values represent<br />

Sample Mode The Sample Number<br />

Time Mode The Time in Milliseconds<br />

Frequency Mode The Frequency in Hertz<br />

↓ To change the range of the Y<br />

axis<br />

3. If a logarithmic axis is required, Select (only<br />

available in frequency mode).<br />

4. Type a number in the Step box to set the distance between<br />

major tick marks.<br />

5. Type a number in the Ticks box to set the number of minor<br />

ticks between two major ticks.<br />

6. Click OK.<br />

The graph with the resized axis will be displayed.<br />

1. Select Y Axis on the View menu.<br />

The Y Axis alteration dialogue box will appear.<br />

2. Type new range numbers into the Start and End boxes.<br />

The value of the number is dependent on the mode in which you<br />

are running.<br />

Mode Start and End values represent<br />

Sample Mode The Sample Number<br />

Time Mode The Time in Milliseconds<br />

Frequency Mode The Frequency in Hertz<br />

3. If a logarithmic axis is required, Check (only<br />

available in frequency mode).<br />

4. Type a number in the Step box to set the distance between<br />

major tick marks.<br />

5. Type a number in the Ticks box to set the number of minor<br />

ticks between two major ticks.<br />

6. Click OK.<br />

The graph with the resized axis will be displayed.<br />

HURON TECHNICAL MANUAL PAGE 238


Summary<br />

THE ENGINEERING TOOLS<br />

• Plots *.SIM file data, with a wide range of customised<br />

viewing options.<br />

• Allows direct overlay comparison of *.SIM files.<br />

• Provides printing control of *.SIM file plots.<br />

HURON TECHNICAL MANUAL PAGE 239


Introduction<br />

Features<br />

Operation<br />

↓ To start SimScale<br />

The SimScale Tool<br />

SimScale is a Windows based *.SIM file scaler. Its primary<br />

function is to prepare *.SIM files for use as filters in the Lake<br />

Convolver tool.<br />

SimScale is used to:<br />

• Prevent clipping of filters by scaling down large amplitude<br />

filters.<br />

• Provide higher signal to noise ratios by scaling up small<br />

amplitude filters.<br />

• Reduce the amount of apparent volume difference when<br />

switching filters by relatively scaling filters.<br />

• Comparative scaling using multiple input and output files.<br />

• Individual scaling of *.SIM files.<br />

The Plotwsim application can be started from the Windows<br />

Explorer.<br />

1. From the C:\huron32\bin directory.<br />

2. Double Click on the SimScale Icon.<br />

This will display a file selection dialogue.<br />

3. Select the directory in which the *.SIM files to be scaled are<br />

kept.<br />

Once specified a dialogue box will appear asking if all the<br />

*.SIM files in the selected directory are to be scaled relative to<br />

one another.<br />

4. Click Yes if you wish all the *.SIM files in the directory to<br />

be scaled against one another.<br />

5. Click No if you wish to select the<br />

individual *.SIM files to<br />

be scaled.<br />

6. — then —<br />

7. A second dialogue box will appear. From this dialogue<br />

select the files to be scaled.<br />

HURON TECHNICAL MANUAL PAGE 241


Note: In this version of SimScale it is<br />

not possible to specify the directory<br />

containing the *.SIM files to be scaled<br />

as the save directory. This is to<br />

prevent the corruption of the original<br />

*.SIM files.<br />

Summary<br />

THE ENGINEERING TOOLS<br />

8. Click OK.<br />

A dialogue box appears which indicates the amount of scaling<br />

to be performed on the selected files.<br />

9. Click OK to scale the SIM files.<br />

This will display a File Save… dialogue box.<br />

10. Specify a directory in which to save the scaled SIM files.<br />

11. Click OK.<br />

The *.SIM files will be saved and ready for use.<br />

• Provides a windows based interface to scale individual<br />

*.SIM files.<br />

• Provides a windows based interface to comparatively scale a<br />

series of *.SIM files.<br />

HURON TECHNICAL MANUAL PAGE 242


Usage<br />

Wavtosim<br />

Wavtosim is a command line application that converts<br />

Windows WAV files to the Lake SIM format. Invoke it by<br />

issuing the command wavtosim32.exe.<br />

wavtosim32 [-s] [-l] [-A] [-S<br />

start_sample] [-E end_sample] <br />

-s instructs Wavtosim to interpret as a SIM file<br />

rather than a WAV file. This is useful when combined with the<br />

–S or –E options.<br />

-l loops between the start and end samples.<br />

-A turns on automatic scaling for the Convolver, which scales<br />

the resulting SIM file down by a factor of 4.<br />

-S specifies the first sample to convert.<br />

-E specifies the last sample to convert.<br />

HURON TECHNICAL MANUAL PAGE 243


Usage<br />

Simtowav<br />

Simtowav is a command line application that converts Lake<br />

SIM files to the Windows WAV format. Invoke it by issuing<br />

the command simtowav32.exe.<br />

simtowav32 [-X] [-B{16,8}] [-S{48,44}]<br />

<br />

-X specifies a scale factor for the conversion where is a<br />

floating point number.<br />

-B selects either 16 or 8 bit sample resolution (16 is the default).<br />

-S selects either 48kHz or 44kHz sampling rate (48kHz is the<br />

default).<br />

HURON TECHNICAL MANUAL PAGE 245


Introduction<br />

Uniform Window<br />

Bartlett Window<br />

Von Hann Window<br />

Frequency Responses for Window<br />

Functions — SimTools Appendix 1<br />

The frequency responses of the window functions supported by<br />

Wingen are described in this section.<br />

The uniform (rectangular) window function is that which you<br />

see when you do not use a window function. It's characteristic<br />

feature is its narrow mainlobe width and its relatively high<br />

sidelobes. The first sidelobe is attenuated about 13dB below<br />

the peak of the mainlobe. The uniform window function is<br />

defined by equation 1.<br />

hn ( ) = 10 .<br />

N N<br />

n = −<br />

,..., −101<br />

, , ,..., (1)<br />

2<br />

2<br />

The Bartlett (triangular) window is the convolution of two<br />

uniform windows of length equal to half the interval. This<br />

implies that it has a frequency response equal to the<br />

multiplication of the frequency response of two rectangular<br />

window functions. The mainlobe has been doubled in width to<br />

the uniform window, and the main sidelobe is attenuated at -<br />

26dB. The sidelobes also decay away more rapidly. The<br />

Bartlett window function is defined by equation 2.<br />

HURON TECHNICAL MANUAL PAGE 247<br />

( )<br />

hn<br />

= 10 . −<br />

n<br />

N<br />

2<br />

N N<br />

n = −<br />

,..., −101<br />

, , ,...,<br />

2<br />

2<br />

The Von Hann is the first in a family of cos(x) windows. This<br />

family of windows are expressed in terms of a cosine series.<br />

(2)


Hamming Window<br />

Blackman Window<br />

Harris Window<br />

THE ENGINEERING TOOLS<br />

The Von Hann function can be expressed simply with only two<br />

terms in the cosine series. The Von Hann window function is<br />

defined by equation 3.<br />

HURON TECHNICAL MANUAL PAGE 248<br />

( )<br />

hn<br />

N n<br />

⎛ ⎞<br />

= 05 . + 05 . cos⎜⎟ ⎝ ⎠<br />

π<br />

N N<br />

n = −<br />

,..., −101<br />

, , ,..., (3)<br />

2<br />

2<br />

The mainlobe is twice the width of the rectangular windows and<br />

its highest sidelobe is attenuated relative to the mainlobe by<br />

32dB.<br />

The Hamming window is also a member of the cos(x) series<br />

window family. It is an extension of the Von Hann window and<br />

is sometimes called the generalised Von Hann window. It is a<br />

raised cosine of the form in equation 4.<br />

( )<br />

hn<br />

N kn<br />

⎛ ⎞<br />

= 054 . + 046 . cos⎜⎟ ⎝ ⎠<br />

π<br />

N N<br />

n = (4)<br />

−<br />

,..., −101<br />

, , ,...,<br />

2<br />

2<br />

The mainlobe of the Hamming window matches the mainlobe<br />

width of the Von Hann, and its main sidelobes attenuate at<br />

43dB relative to the mainlobe. However, the sidelobes do not<br />

decay as rapidly as the Von Hann window.<br />

A cosine series with three terms, rather than the two for Von<br />

Hann and Hamming windows was researched by Blackman.<br />

One can view the generalised cosine series over K terms as that<br />

in equation 5.<br />

hn ( ) ak<br />

N kn<br />

K ⎛ π ⎞<br />

= ∑ ( )cos⎜⎟<br />

⎝ ⎠<br />

k=<br />

0<br />

N N<br />

n = −<br />

,..., −101<br />

, , ,..., (5)<br />

2<br />

2<br />

For the Blackman window used by Wingen the coefficients<br />

a(0), a(1) and a(2) are shown in 6 (Next page).<br />

a(<br />

0) = 0. 42659071<br />

a(<br />

1) = 0. 49659062<br />

a(<br />

2) = 0. 07684867<br />

The Harris window introduces a fourth term in the cosine series<br />

of 5. Coefficients for the Harris window in Wingen are:<br />

(6)


Blackman-Harris Window<br />

a(<br />

0) = 0. 3066923<br />

a(<br />

1) = 0. 4748398<br />

a(<br />

2) = 01924696 .<br />

a(<br />

3) = 0. 0259983<br />

THE ENGINEERING TOOLS<br />

This window has the lowest sidelobe levels supported by<br />

Wingen. It is characterised as the minimum four term cosine<br />

series Blackman-Harris window. The coefficients used are:<br />

a(<br />

0) = 0. 3635819<br />

a(<br />

1) = 0. 4891775<br />

a(<br />

2) = 01365995 .<br />

a(<br />

3) = 0. 0106411<br />

HURON TECHNICAL MANUAL PAGE 249<br />

(7)


Introduction to the Programming<br />

Tools<br />

The Programming Tools package consists of a set of function<br />

libraries that enable the development of both DSP programs and<br />

associated applications, using the <strong>Huron</strong> hardware<br />

environments.<br />

The Programming Tools documentation can be found in PDF<br />

format on the <strong>Huron</strong> VRack CDROM, and is comprised of<br />

several sub-sections:<br />

• The Lake Technology DSP Coding Tools explain how to<br />

develop DSP assembler programs for the <strong>Huron</strong> hardware<br />

environment.<br />

• The Lake Technology Debug Tools explain how to use<br />

LakeMon, a text based debugger which can be used for<br />

downloading, running, and debugging DSP assembler<br />

programs.<br />

• The Lake Technology Host Interface Library lists the C++<br />

Class library structure’s used in development of host<br />

applications. These host applications control DSP assembler<br />

programs.<br />

• The Lake Technology Complex Library provides functions<br />

which enable the creation and manipulation of complex<br />

arrays.<br />

• The Lake Technology Engineering Tools Library provides<br />

access to Lake Technology’s FIRfilter and Transmit Capture<br />

classes. These classes allow application programs to<br />

perform convolution and measurement using the <strong>Huron</strong><br />

hardware.<br />

• The Lake Technology Meters Class which provides<br />

functionality for creating and displaying a set of meters from<br />

within application programs.<br />

• The Lake Technology Debug Library provides classes for<br />

developing application specific LakeMon debug windows or<br />

including a debug window in your application.<br />

• The Lake Technology Error and Exception Class provides<br />

facilities for application programmers to handle error and<br />

exception conditions.<br />

• The Lake Technology MatLab® Interface, which provides<br />

the ability to control the functionality of the <strong>Huron</strong><br />

Engineering Tools using MatLab Scripts. Full MatLab<br />

version 5.2 and 5.3 functionality is provided for the creation<br />

of audio engineering solutions.<br />

HURON TECHNICAL MANUAL PAGE 251


Features<br />

Applications<br />

Introduction to Equalisation Tools<br />

Lake EQ is a graphical equaliser which utilises “drag and drop”<br />

parametric filter widgets, combined with massive digital<br />

convolution in order to provide precision equalisation of sound<br />

signals, with adjustments down to 0.2Hz bandwidth.<br />

• Lake Technology’s “optimum phase”, giving the user a<br />

control for programming group delay.<br />

• The plotting of frequency responses provides visual<br />

feedback on the equalisation curve and its accuracy being<br />

implemented by the system.<br />

• >98dB signal to noise performance.<br />

Because of its accuracy Lake EQ can be used in a variety of<br />

situations some of these include:<br />

• Audio production.<br />

• Environment correction.<br />

• Forensic audio.<br />

• Acoustic research and development.<br />

HURON TECHNICAL MANUAL PAGE 253


Operation<br />

Starting Lake EQ<br />

↓ To access the EQ graphical<br />

interface.<br />

Description of the EQ Interface<br />

Menu bar<br />

Figure 79 — The Lake EQ interface<br />

THE EQUALISATION TOOLS<br />

Lake EQ must be loaded into the VRack from the<br />

New/Engineering Tools submenu (for loading refer to the<br />

System Tools section of this manual). Once loaded the EQ<br />

panel will appear in the VRack and an EQ patchset will appear<br />

in the Patch Bay.<br />

• Click the EQ Panel in the VRack.<br />

The EQ Interface will appear (see Figure 79).<br />

At the top of the EQ interface is the Menu Bar. The menu bar<br />

is used to access all the features of Lake EQ.<br />

HURON TECHNICAL MANUAL PAGE 254


THE EQUALISATION TOOLS<br />

Menu Item Contains<br />

File Options for saving and loading EQ canvasses, saving<br />

VRack workspaces, printing and exporting EQ canvasses.<br />

Edit Allows cutting copying and pasting of elements from the<br />

EQ canvass.<br />

View Adjusts the view settings, and allows the configuration of<br />

the display.<br />

Filters Adjusts the slider properties of an EQ canvass, and alters<br />

the filter response calculations.<br />

Graph Adjusts the display of EQ canvasses, including options for<br />

grid lines and logarithmic graphing.<br />

Setup Adjusts colours, fonts, and the limits of EQ canvasses.<br />

Window Standard windows organisation functions.<br />

Help Context sensitive help, and options.<br />

Dialogue Bar<br />

EQ Canvass<br />

Equalisation Curve<br />

Figure 80 — The EQ dialogue bar<br />

The Dialogue Bar contains information about the currently<br />

selected slider widget, group delay of the filter and the number<br />

of channels controlled by the canvass. If no widget is selected,<br />

the data boxes are blank.<br />

An EQ canvass is the two dimensional area upon which EQ<br />

slider widgets are placed. Slider widgets are graphical<br />

representations of the sliders used in traditional graphic<br />

equalisers. The bottom of the canvass is graduated in Hz<br />

(cycles per second) and represents the frequency range. The<br />

left side of the canvass is graduated in dB (decibels) and<br />

represents the cut/boost range. The EQ canvass may be split to<br />

show a view of the phase and group delay of an EQ curve.<br />

Such curves are used when an optimum phase EQ filter is being<br />

used.<br />

The Equalisation Curve is a graphic representation of the<br />

desired frequency response of the equaliser. This line is<br />

HURON TECHNICAL MANUAL PAGE 255


Slider Widget<br />

Toolbar<br />

Creating an EQ Canvass<br />

↓ To create a new EQ canvass<br />

Note: If a special EQ licence has been<br />

purchased and installed, it is possible<br />

to create up to sixteen (16) EQ<br />

canvasses.<br />

THE EQUALISATION TOOLS<br />

coloured in black. In cases where the hardware cannot match<br />

the desired equalisation response, a blue line is drawn to mark<br />

out the physically achieved frequency response.<br />

Each canvass must have one or more slider widgets in order for<br />

it to do any signal processing. A slider widget consists of a<br />

black square glued onto a vertical line and is used to modify the<br />

equalisation curve.<br />

Figure 81 — Lake EQ toolbar<br />

The Toolbar is used as an alternative to using the menu bar. It<br />

consists of a series of clickable buttons which can be used as<br />

shortcuts for making menu selections.<br />

• Select File New Canvass …<br />

— or —<br />

Click New Canvass on the tool bar (Figure 81)<br />

Up to four (4) EQ canvasses may be created inside the EQ<br />

application at one time. Each canvass may contain a different<br />

filter, and a different EQ response, and will consume DSP<br />

resources accordingly.<br />

HURON TECHNICAL MANUAL PAGE 256


Loading EQ Canvasses<br />

↓ To load a previously saved EQ<br />

canvass<br />

Clicking and Dropping Slider Widgets<br />

Band Pass<br />

Low Shelf<br />

THE EQUALISATION TOOLS<br />

• Select File and Open.<br />

Supplied with the software are two example canvasses,<br />

‘10band.eq’ and ‘30band.eq’. These two presets allow you to<br />

immediately use the Lake EQ. They are installed in the<br />

<strong>Huron</strong>32\EQ directory.<br />

Equalisation is performed by placing one or more slider widgets<br />

on the canvass in such a way that the desired equalisation effect<br />

is achieved. The vertical and horizontal placement of each<br />

widget on the canvass is important as their positions indicate the<br />

dB (vertical displacement) and frequency in Hertz (Horizontal<br />

displacement).<br />

There are three different types of slider widgets:<br />

A bandpass slider has a gain of 0db for all frequencies outside<br />

the bandwidth of the slider. Within the bandwidth of the slider<br />

the frequency response is a raised cosine. In short the band pass<br />

slider can be used as a traditional parametric equalizer.<br />

Figure 82 – Band Pass Equalisation<br />

This band pass slider is cutting the frequency response from<br />

about 600Hz to 1700 Hz, with a maximum cut of -15dB at<br />

about 1000Hz.<br />

A low shelf slider has a maximum gain for all frequencies less<br />

than the lower sideband frequency of the slider. Within the<br />

bandwidth of the slider the frequency response is a raised sine.<br />

The gain is 0db for all frequencies above the upper sideband<br />

frequency.<br />

HURON TECHNICAL MANUAL PAGE 257


High Shelf<br />

Tip: All the sliders can also be used to<br />

boost the signal over the frequency in<br />

which they operate.<br />

↓ To add a Slider to the canvass<br />

Figure 83 – Low Shelf Equalisation<br />

THE EQUALISATION TOOLS<br />

This low shelf slider starts cutting the frequency response at<br />

about 250Hz, hitting a low shelf point of about -14 dB at about<br />

120Hz. From this point the maximum cut is applied all the way<br />

to the lowest frequency.<br />

A high shelf slider has a maximum gain for all frequencies<br />

greater than the upper sideband frequency of the slider. Within<br />

the bandwidth of the slider the frequency response is a raised<br />

sine. The gain is 0db for all frequencies less than the lower<br />

sideband frequency.<br />

Figure 84 – High Shelf Equalisation<br />

This high shelf slider is performing the reverse of the low pass<br />

slider. The frequency response starts being cut from about<br />

1100Hz and drops to a maximum of about -11dB at about<br />

3000Hz. From this point the maximum cut is applied all the<br />

way to the highest frequency.<br />

1. Selecting the Slider widget from the toolbar.<br />

— or —<br />

Selecting a new slider from the filters menu on the menu<br />

bar.<br />

HURON TECHNICAL MANUAL PAGE 258


↓ To move a Slider<br />

↓ To adjust a Sliders bandwidth<br />

↓ To change the parametric<br />

values for a slider<br />

↓ To remove a Slider from a<br />

canvass<br />

THE EQUALISATION TOOLS<br />

2. Clicking on the position in the canvass at which the slider<br />

will be applied. A slider highlighted in red will appear at the<br />

point clicked.<br />

• Click and drag the Slider to its new location.<br />

This moves the centre frequency at which the slider operates<br />

and the cut/boost value to apply.<br />

1. Double click on a Slider.<br />

A red rectangle will appear around the selected Slider.<br />

2. Click and Drag on the rectangle handles to Increase or<br />

decrease the bandwidth over which the Slider will operate.<br />

Figure 85 — An illustration of EQ bandwidth adjustment<br />

The absolute value of frequency, cut/boost and bandwidth for<br />

the active slider are displayed in the dialogue bar:<br />

Figure 86 – Dialogue Bar parameters<br />

1. Click on the Slider to be changed.<br />

2. Type the values required into the dialogue bar.<br />

The slider will move to its new position.<br />

1. Click on the Slider to be deleted.<br />

2. Then Either:<br />

3. Select Delete from the Edit menu in the menu bar.<br />

— or —<br />

Press the delete key.<br />

HURON TECHNICAL MANUAL PAGE 259


Calculating the Equalisation Curve<br />

↓ To toggle the automatic<br />

calculation of responses<br />

↓ To manually calculate and<br />

download the equalisation curve<br />

Bypass the Equalisation Curve<br />

↓ To bypass the equalisation<br />

curve<br />

Setting the EQ Filter Length<br />

THE EQUALISATION TOOLS<br />

After an adjustment has been made to sliders on the EQ canvass<br />

the response is automatically calculated. If calculations take a<br />

long time, this auto-calculate feature may be turned off. With<br />

this feature turned off the effects of any adjustments are not<br />

calculated and downloaded into the hardware until the calculate<br />

command is given.<br />

Select Auto Calculate from the Filter menu.<br />

• Click .<br />

— or —<br />

Select Calculate Now from the Filter menu.<br />

— or —<br />

Press F9.<br />

The curve will be calculated and downloaded.<br />

In order to compare untreated signals with equalised signals it is<br />

possible to switch sound so that it bypasses the equalisation<br />

curve.<br />

• Click .<br />

This will load a flat filter in to the system, and therefore bypass<br />

any slider configuration for that canvass.<br />

Lake EQ operates using convolution. This involves the<br />

construction of what is known as a filter from the positions of<br />

all the sliders and downloading this filter to DSP boards. The<br />

filter represents the equalisation curve. The size of the filter<br />

passed to the DSP boards determines how accurately the<br />

equalisation curve can be modelled by the hardware. The larger<br />

the filter (ie. the more samples there are), the more accurate the<br />

resolution of the filtering that the system performs, or the finer<br />

that EQ adjustments can be made.<br />

By selecting the largest filter size, Lake EQ will always be as<br />

accurate as possible. Unfortunately there is a trade off: Time.<br />

The larger the filter, the longer it takes to construct and the<br />

longer it takes to download the filter to the DSP cards.<br />

HURON TECHNICAL MANUAL PAGE 260


↓ To select a filter length<br />

1. Select Setup filters from the Filters menu.<br />

The following dialogue box will appear:<br />

Figure 87 — Lake EQ filter setup dialogue<br />

Low Latency Single DSP<br />

Filter<br />

Length<br />

Latency<br />

samples<br />

Latency<br />

msec.<br />

THE EQUALISATION TOOLS<br />

2. Select either a Low Latency filter or a Minimum DSP<br />

filter. Once selected the filter properties will be displayed.<br />

3. Select the filter length from the drop down Filter Length<br />

menu.<br />

4. Click OK to accept the filter settings.<br />

The following filters are available for use in EQ:<br />

DSP used Filter<br />

Length<br />

Latency<br />

samples<br />

Latency<br />

msec.<br />

2058 1 0.02 1 2058 1 0.02 1<br />

4319 46 1.00 1 4319 46 1.00 1<br />

8368 92 2.00 1 8638 92 2.00 1<br />

34728 3 0.06 2 16384 968 20.00 1<br />

69422 48 1.00 2 32768 1967 41.00 1<br />

138924 94 2.00 2 65536 3937 82.00 1<br />

139010 5 0.10 3 131072 7948 166.00 1<br />

278244 5 0.10 3 262144 16110 336.00 1<br />

Note: EQ will automatically convert<br />

the filters to the correct sample rate.<br />

The system clock can be derived<br />

internally, or from an external Digital<br />

Input Source. EQ will detect the<br />

system frequency and display it in the<br />

Sample Rate Parameter of the Setup<br />

- Limits menu item.<br />

Locking Sliders<br />

DSP used<br />

It is possible to prevent sliders from being adjusted in a<br />

particular way. An example of this is where a traditional<br />

graphic equaliser is constructed using Lake EQ. In this case the<br />

centre frequency or bandwidth is unable to be moved.<br />

HURON TECHNICAL MANUAL PAGE 261


↓ To lock a Slider<br />

↓ To unlock a Slider<br />

Modifying Overall Cut/Boost<br />

↓ To alter the overall cut/boost of<br />

a filter<br />

Zooming In and Out<br />

THE EQUALISATION TOOLS<br />

1. Select the Slider to be locked.<br />

2. Click the Lock check box in the dialogue bar, next to the<br />

option to be locked.<br />

— or —<br />

Select the appropriate option to lock from the Filter menu.<br />

In the example illustrated below the frequency and the<br />

bandwidth are locked.<br />

Figure 88 – Locked frequency and bandwidth<br />

1. Select the Slider to be unlocked.<br />

2. Click the Checked Lock check box in the Dialogue bar,<br />

next to the option to be unlocked.<br />

— or —<br />

Select the appropriate option to unlock from the Filter<br />

menu.<br />

A special slider has been included on each EQ canvass which<br />

allows the adjustment of the cut/boost over all frequencies.<br />

• Drag the special slider found at the right hand side of the<br />

canvass.<br />

Figure 89 – Cutting or boosting a filter<br />

Cut/Boost<br />

slider<br />

A zoom feature for canvasses has been provided to allow for<br />

more accurate adjustments of sliders on the canvass.<br />

HURON TECHNICAL MANUAL PAGE 262


↓ To zoom into a section of<br />

canvass<br />

↓ To zoom out of the canvass<br />

Saving<br />

Note: When saving canvasses and the<br />

EQ interface some of the values of the<br />

parametric sliders may be rounded.<br />

↓ To save an individual canvass<br />

↓ To load an individual canvass<br />

↓ To Save the setup of the EQ<br />

interface<br />

1. Click on the toolbar.<br />

— or —<br />

Select Zoom In from the Graph menu.<br />

THE EQUALISATION TOOLS<br />

The mouse pointer will change to when moved over the<br />

canvass.<br />

2. Select the area to enlarge by clicking and dragging the view<br />

rectangle across the area of the canvass to enlarge.<br />

3. Release the mouse button to zoom.<br />

• Click on the toolbar.<br />

— or —<br />

Select Zoom Out from the Graph menu.<br />

— or —<br />

Select Zoom All to return to the complete canvass view.<br />

Clicking this button will zoom the view out to the previous<br />

zoom position.<br />

There are two methods of saving EQ setups. The first, using<br />

*.EQ files saves individual canvasses, while the second using<br />

*.WSQ files saves all the canvasses and the setup of the EQ<br />

interface.<br />

1. Select the canvass to be saved.<br />

2. Select Save As from the File menu on the Menu Bar.<br />

— or —<br />

Click the save icon on the toolbar (see Figure 81).<br />

1. Select Open from the main menu.<br />

2. Select the file to load.<br />

3. Click OK.<br />

The canvass will be loaded into the EQ interface.<br />

Alternatively it is possible to save the entire EQ workspace,<br />

including preferences, window size, toolbar positions and all<br />

currently loaded canvasses.<br />

1. Select Save Workspace from the File menu on the menu<br />

bar.<br />

2. Enter a name to save the workspace file as.<br />

HURON TECHNICAL MANUAL PAGE 263


Limits<br />

↓ To alter the graph limits<br />

↓ To apply the changes to chart<br />

limits to all of the canvasses in<br />

the EQ<br />

↓ To reset the chart limits to the<br />

default values<br />

Phase Considerations<br />

THE EQUALISATION TOOLS<br />

3. Click OK.<br />

The workspace file will be saved with all settings intact. If any<br />

canvasses are unsaved the EQ program will prompt to save each<br />

one.<br />

It is possible to configure Lake EQ’s graph limits from the<br />

menu bar.<br />

1. Select Limits … from Setup on the menu bar.<br />

The following dialogue box will appear:<br />

Figure 90 — Lake EQ limits dialogue<br />

2. Change the limits by typing the required values into the<br />

dialogue boxes.<br />

• Check Apply to all.<br />

1. Click Default.<br />

2. Click OK to accept the changes.<br />

Lake EQ can run convolution without propagation delay. In<br />

order to achieve this the EQ imposes group delay in phase<br />

linear filtering. In order to reduce or remove this group delay<br />

Lake has introduced the “optimum phase”. Using the optimum<br />

phase, filters can be programmed to have zero or minimum<br />

phase delay, the trade-off however is an increase in phase<br />

distortion. Phase distortion can be reduced dramatically by<br />

selecting a phase delay value slightly larger than zero, for<br />

HURON TECHNICAL MANUAL PAGE 264


↓ To set Lake EQ to use Optimum<br />

Phase<br />

Exporting and Importing Equalisation Data<br />

↓ To export an EQ or impulse<br />

response file<br />

↓ To import an EQ or impulse<br />

response file<br />

Stopping EQ<br />

↓ To exit Lake EQ<br />

Summary<br />

THE EQUALISATION TOOLS<br />

example a delay of 2msec will improve most of the phase<br />

distortion.<br />

1. Select Optimum Phase from Design Criteria on the filter<br />

menu.<br />

2. Set the delay required in the Delay (secs) box in the<br />

Dialogue bar.<br />

It is possible to export impulse responses and EQ data as text.<br />

1. Select Export from the File menu<br />

2. Select the Impulse response or EQ data to save as text.<br />

3. Save the file with the extension .EQX.<br />

4. Click OK.<br />

1. Select Import from the File menu<br />

2. Select the Impulse response or EQ data to import.<br />

3. Click OK.<br />

• Click Close.<br />

— or —<br />

Select Exit from the File menu.<br />

• Lake EQ provides features for a wide range of equalisation<br />

tasks. It is highly user configurable and provides a range of<br />

accuracy in equalisation curves which meets the<br />

requirements of even the most stringent equalisation<br />

applications.<br />

HURON TECHNICAL MANUAL PAGE 265


Introduction<br />

96kHz EQ Hardware Requirements<br />

The 96kHz EQ<br />

Lake 96kHz EQ is a graphical equaliser which utilises “drag<br />

and drop” parametric filter widgets, combined with massive<br />

digital convolution in order to provide precision equalisation of<br />

sound signals, with adjustments down to 0.72Hz bandwidth.<br />

The software interface to the 96kHz EQ operates in the same<br />

manner as the standard Lake Technology EQ application, with<br />

the following differences:<br />

• To run the 96kHz EQ, specific hardware internal and<br />

external to the <strong>Huron</strong> is required.<br />

• The 96kHz EQ utilises convolution filters specific to 96kHz<br />

equalisation.<br />

• By virtue of the way 96kHz signals are handled by the<br />

<strong>Huron</strong>, the appearance and manner of patching the 96kHz<br />

EQ in the Patch Bay is different to that of the normal EQ<br />

tool.<br />

This sub-section illustrates the differences between the standard<br />

Lake EQ and the 96kHz version. It is left up to the user to<br />

substitute the information contained here for the relevant parts<br />

of the standard EQ documentation.<br />

Lake EQ 96kHz is a graphical equaliser which utilises “drag<br />

and drop” parametric filter widgets, combined with massive<br />

digital convolution in order to provide precision equalisation of<br />

sound signals, with adjustments down to 0.72Hz bandwidth.<br />

In order to run the 96kHz EQ the following Hardware is<br />

required:<br />

• 1 <strong>Huron</strong> with at least 4 DSP’s available.<br />

• 1 Two channel AES/EBU Digital Input Module with no<br />

sample rate conversion (synchronous).<br />

• 1 Two channel AES/EBU Digital Output Module.<br />

• 1 96kHz Analogue to Digital converter. This converter must<br />

support data formatted as odd and even samples of the left<br />

and right channels of a standard AES/EBU system.<br />

HURON TECHNICAL MANUAL PAGE 267


96kHz Filters<br />

THE EQUALISATION TOOLS<br />

• 1 96kHz Digital to Analogue converter. This converter must<br />

support data formatted as odd and even samples of the left<br />

and right channels of a standard AES/EBU system.<br />

The 96kHz EQ utilises customised 96kHz convolution filters to<br />

undertake its signal processing.<br />

Incoming signals are processed by an external 96kHz analogue<br />

to digital converter and are input to the <strong>Huron</strong> system via a<br />

synchronous Lake Digital Input Module as a set of odd and<br />

even 48kHz data streams. These signals are then convolved by<br />

EQ 96kHz with the responses in the EQ canvasses before being<br />

output as a pair of odd and even digital output signals through a<br />

Lake Digital Output Module. These interleaved signals may<br />

then be mixed by an external 96kHz digital to analogue<br />

converter to produce a single Equalised signal.<br />

Figure 91 — A schematic of connections to the 96kHz EQ<br />

Low Latency Minimum DSP<br />

Length Latency<br />

Smpl.<br />

Latency<br />

Secs.<br />

The 96kHz EQ utilises specific 96kHz filters during<br />

convolution. These filters have the following properties, and<br />

should be used in place of the standard EQ filters when running<br />

the EQ 96kHz.<br />

The following filters are available to the 96kHz EQ:<br />

DSP Length Latency<br />

Smpl.<br />

Latency<br />

Secs.<br />

4116 2 0.02 4 4116 2 0.02 4<br />

8638 92 1.00 4 8638 92 1.00 4<br />

69456 6 0.06 8 17276 184 2.00 4<br />

138844 96 1.00 8 32768 1936 20.00 4<br />

278020 10 0.10 12 65536 3934 41.00 4<br />

131072 7874 82.00 4<br />

262144 15896 166.00 4<br />

Patching EQ 96kHz<br />

DSP<br />

For each I/O of 96kHz EQ, the EQ 96kHz requires an input<br />

signal that has been divided into two 48kHz streams of data.<br />

HURON TECHNICAL MANUAL PAGE 268


Loading EQ 96kHz<br />

THE EQUALISATION TOOLS<br />

Each stream carries either the odd samples or the even samples<br />

of the 96kHz data. These odd and even data streams are input<br />

to the EQ via a synchronous AES/EBU digital input module.<br />

The EQ 96kHz processes the signals in parallel, with the<br />

resultant signals being passed out of the <strong>Huron</strong> as a pair of odd<br />

and even 48kHz signals. The final output signal is derived by<br />

combining these interleaved samples via a digital to analogue<br />

converter external to the <strong>Huron</strong>.<br />

Figure 92 — Patching the EQ 96kHz tool correctly<br />

When loading EQ 96kHz the following guidelines should be<br />

used to prevent errors occurring in the output signal:<br />

The 96kHz EQ should be the first DSP using application loaded<br />

into the VRack.<br />

The 96kHz EQ should load all of the DSP resources it requires<br />

before any other applications that utilise DSP’s are used.<br />

If it is impossible for the 96kHz EQ to be the first application<br />

using DSP’s loaded into the VRack, it is important that EQ<br />

96kHz is started when the DSP usage count is 4,8,12,16 etc.<br />

HURON TECHNICAL MANUAL PAGE 269


Other Tools<br />

This section introduces a series of utility applications that Lake<br />

Technology provides to its customers.<br />

VMixer, This application is a versatile mixing and audio<br />

routing application that can be controlled remotely via <strong>SNAP</strong><br />

commands.<br />

ABSwitcher, This application provides basic functionality for<br />

switching between multiple inputs / applications enabling users<br />

to hear AB comparisons without requiring the repatching of<br />

applications.<br />

BFormat Mixer, This application mixes two BFormat inputs,<br />

and provides a single BFormat encoded output stream.<br />

I/O Test and I/O Test 96k, These applications allow a user to<br />

test the Inputs and Outputs of the <strong>Huron</strong> system.<br />

HURON TECHNICAL MANUAL PAGE 271


Features<br />

Operation<br />

The VMixer<br />

The VMixer application is a versatile mixing and audio routing<br />

application that can be controlled remotely by <strong>SNAP</strong> (Spatial<br />

Network Audio Protocol) commands.<br />

• Resizable number of inputs and outputs with up to 24 I/O<br />

channels.<br />

• Each input can be routed to any number of individual<br />

outputs.<br />

• Signal level can be controlled individually on each input and<br />

output.<br />

• Grouping of level controls.<br />

• Signal level metering on every input and output.<br />

• Labelling of individual inputs and outputs.<br />

• Remote control with the Socket application (via <strong>SNAP</strong>).<br />

Figure 93 — The VMixer interface<br />

HURON TECHNICAL MANUAL PAGE 273


Starting<br />

↓ To access the VMixer<br />

↓ To start the default VMixer<br />

configuration<br />

Opening and Saving Settings<br />

↓ To save the current VMixer<br />

settings<br />

↓ To load VMixer settings<br />

Resizing<br />

↓ To set the number of input<br />

channels<br />

↓ To set the number of output<br />

channels<br />

OTHER TOOLS<br />

The VMixer must be loaded into the VRack through the<br />

New/Others Tools submenu (for loading instructions see the<br />

System Tools section of this manual). Once loaded, the VMixer<br />

will appear in the VRack, and its associated patchset will appear<br />

in the Patch Bay.<br />

• Click on the VMixer panel in the VRack.<br />

• Click on the Default button on the VMixer window.<br />

1. Click on the Save button.<br />

2. Browse for the directory you wish to save your settings in.<br />

3. Type in a file name.<br />

4. Click Save.<br />

A new file with the .VMX file extension will be created in the<br />

selected directory.<br />

1. Click Open.<br />

2. Browse for the settings file (with file extension .VMX) that<br />

you wish to open.<br />

3. Click Open.<br />

VMixer can be resized to include up to 24 input and output<br />

audio channels.<br />

1. Change the no. inputs setting to the desired number of input<br />

channels required. The no. inputs must be an integer value<br />

between 1 and 24.<br />

2. Click Apply.<br />

1. Change the no. outputs setting to the desired number of<br />

output channels required. The no. outputs must be an<br />

integer value between 1 and 24.<br />

2. Click Apply.<br />

HURON TECHNICAL MANUAL PAGE 274


Note: When increasing the size of<br />

VMixer, the extra channels added<br />

during the resize operation are<br />

initialised to the default channel<br />

level and audio routing settings.<br />

Labelling Channels<br />

↓ To label an input channel<br />

↓ To label an output channel<br />

↓ To make labels appear in the<br />

patchbay<br />

Routing Audio<br />

↓ To route audio from an input to<br />

an output<br />

↓ To remove an audio routing<br />

node<br />

OTHER TOOLS<br />

Each of VMixer’s input and output channels can be labelled for<br />

easy reference.<br />

If input level meters are currently displayed, click on the input<br />

label / meter toggle button to display input labels.<br />

1. Double click on the input label you wish to name.<br />

2. Type the name into the dialog box.<br />

3. Click OK to return to VMixer.<br />

If output level meters are currently displayed, click on the<br />

output label / meter toggle button to display output labels.<br />

1. Double click on the output label you wish to name.<br />

2. Type the name into the dialog box.<br />

3. Click OK to return to the main VMixer interface.<br />

• Click Apply.<br />

VMixer includes a flexible routing matrix allowing any input to<br />

be connected to any number of individual outputs. Each output<br />

is connected to an input by an audio routing node, and each<br />

audio routing node can also be assigned a gain.<br />

1. Place the mouse over the audio routing matrix.<br />

2. Vertically align the mouse with the input channel that you<br />

wish to route audio from.<br />

3. Horizontally align the mouse with the output channel that<br />

you wish to route audio to.<br />

4. Click to place an audio routing node.<br />

The default gain for an audio routing node is unity (0 dB).<br />

• Double click on the audio routing node.<br />

OR<br />

1. Right click on the audio routing node.<br />

2. Click disconnect.<br />

HURON TECHNICAL MANUAL PAGE 275


↓ To adjust the gain of an audio<br />

routing node<br />

↓ To set the gain of an audio<br />

routing node back to unity<br />

Adjusting Level<br />

↓ To adjust the level of an input<br />

channel<br />

↓ To adjust the level of an output<br />

channel<br />

Grouping Level Controls<br />

↓ To group input channel levels<br />

together<br />

↓ To group output channel levels<br />

together<br />

Note: Input and output levels<br />

cannot be part of the same group.<br />

↓ To remove grouping<br />

OTHER TOOLS<br />

1. Right click on the audio routing node.<br />

2. Move the slider in the Gain Control dialog box to the new<br />

level. Moving the slider to the left will result in increased<br />

gain, moving the slider to the right will result in a reduction<br />

in gain.<br />

3. Click OK to return to the main VMixer interface.<br />

1. Double click on the audio routing node to remove it.<br />

2. Single click to create a new audio routing node with unity<br />

gain.<br />

• Click on an input level slider and drag it to the desired level.<br />

Maximum signal level is obtained when the slider is moved<br />

to the top of its travel.<br />

• Click on the output level slider and drag it to the desired<br />

level. Maximum signal level is obtained when the slider is<br />

moved to the far left.<br />

1. Click the input channel select button for all of the channels<br />

to be grouped. As each input channel select button is<br />

pressed it will glow.<br />

2. Click the Group button.<br />

1. Click the output channel select button for all of the<br />

channels to be grouped. As each output channel select<br />

button is pressed it will glow.<br />

2. Click the Group button.<br />

When channel levels are grouped together, a change to the level<br />

of one channel will affect all channels in the group.<br />

1. Click the input channel select or output channel select<br />

buttons for all of the channels to be removed from a group.<br />

HURON TECHNICAL MANUAL PAGE 276


Muting<br />

↓ To mute all output channels<br />

↓ To unmute all output channels<br />

Displaying Level Meters<br />

↓ To display input level meters<br />

↓ To display output level meters<br />

Exiting VMixer<br />

↓ To quit the VMixer<br />

DSP Usage<br />

2. Click the Ungroup button.<br />

OTHER TOOLS<br />

• Click on Mute. The mute button will be surrounded in red to<br />

indicate that mute has been enabled.<br />

• Click on Mute again.<br />

VMixer includes level meters on each audio input and output<br />

channel. Meter range is from –40dB to 0dB. By default,<br />

channel labels are shown in place of channel meters.<br />

• Click the input meter / label toggle button.<br />

Input level meters will be displayed on the screen in place of the<br />

input channel labels. Input level meters display the signal level<br />

before the gain of the output level control is applied.<br />

If the level meters are already displayed, clicking on the input<br />

meter / label toggle button again will cause the input labels to<br />

be displayed.<br />

• Click the output meter / label toggle button.<br />

Output level meters will be displayed on the screen in place of<br />

the output channel labels. Output level meters display the<br />

signal level after the gain of the input level control is applied.<br />

If the level meters are already displayed, clicking on the output<br />

meter / label toggle button again will cause the output labels<br />

to be displayed.<br />

Click the close control button on the menu bar of the VMixer<br />

window.<br />

The VMixer’s DSP resource usage is dependent on the number<br />

of input and output channels that are available, as shown in the<br />

table below:<br />

HURON TECHNICAL MANUAL PAGE 277


Controlling VMixer Remotely<br />

Summary<br />

Resources No. Input<br />

Channels<br />

1 DSP 1-12 1-12<br />

2 DSP 13-24 1-12<br />

No. Output<br />

Channels<br />

2 DSP 1-12 13-24<br />

4 DSP 13-24 13-24<br />

OTHER TOOLS<br />

VMixer can be controlled remotely with <strong>SNAP</strong> (Spatial<br />

Network Audio Protocol) and the Socket application,<br />

facilitating complex audio patching and level control to be<br />

initiated by an external device connected to the same TCP/IP<br />

network. Refer to the <strong>SNAP</strong> section for more information.<br />

• VMixer is an audio routing and mixing application.<br />

• Each input and output level can be controlled individually.<br />

• The gain of each audio routing node can be controlled<br />

individually.<br />

• VMixer can be resized to include up to 24 audio input and<br />

output channels.<br />

• VMixer can be controlled remotely using the Socket<br />

application (via <strong>SNAP</strong>).<br />

HURON TECHNICAL MANUAL PAGE 278


Operation<br />

Starting<br />

↓ To access the AB Switcher<br />

Selecting an Output Pair<br />

ABSwitcher<br />

The AB Switcher provides a fast switching mechanism for<br />

undertaking AB comparisons of headphone related applications.<br />

The AB Switcher uses one DSP worth of resources.<br />

Figure 94 — The AB Switcher interface<br />

The AB Switcher must be loaded into the VRack through the<br />

New/Others Tools submenu (for loading instructions see the<br />

System Tools section of this manual). Once loaded, the AB<br />

Switcher will appear in the VRack, and its associated patchset<br />

will appear in the Patch Bay.<br />

• Click on the AB Switcher panel in the VRack.<br />

The AB Switcher window will appear (see Figure 94).<br />

The AB Switcher takes a series of inputs and presents them to a<br />

set of outputs. In order to do A to B comparisons it is possible<br />

to switch the output between input pairs.<br />

HURON TECHNICAL MANUAL PAGE 279


↓ To select which pair of inputs<br />

will be output<br />

Displaying Meters<br />

↓ To display metering of inputs<br />

into and out of the AB switcher<br />

Exiting AB Switcher<br />

↓ To quit the AB Switcher<br />

Summary<br />

OTHER TOOLS<br />

• Click the Input pair corresponding to the input pair<br />

required.<br />

The sound from these inputs will be played through the L R<br />

outputs of the AB Switcher.<br />

• Click meters.<br />

A window representing metering on the inputs and outputs of<br />

the AB switcher will appear.<br />

• Click the Close control button on the menu bar of the AB<br />

Switcher window.<br />

• The AB Switcher allows quick comparisons between<br />

headphone related inputs and outputs.<br />

• The AB Switcher allows metering of multiple inputs and<br />

outputs.<br />

• The AB Switcher allows multiple listeners to hear the same<br />

outputs through identical multiple outputs.<br />

HURON TECHNICAL MANUAL PAGE 280


Operation<br />

Starting<br />

↓ To access the BFormat Mixer<br />

Altering Gain Levels<br />

↓ To alter the gain levels of the<br />

inputs<br />

BFormat Mixer<br />

The BFormat Mixer mixes two BFormat Signals separated into<br />

the X,Y,Z,ω format and mixes them to a single set of BFormat<br />

X,Y,Z,ω outputs.<br />

Figure 95 — The BFormat mixer interface<br />

The BFormat Mixer must be loaded into the VRack through the<br />

New/Others Tools submenu (for loading instructions see the<br />

System Tools section of this manual). Once loaded, the<br />

BFormat Mixer will appear in the VRack, and its associated<br />

patchset will appear in the Patch Bay.<br />

• Click on the BFormat Mixer panel in the VRack.<br />

The BFormat Mixer window will appear (see Figure 95).<br />

1. Select either the input 1 or input 2 gain level box.<br />

2. Type the new gain value in dB (this number must be<br />

negative).<br />

3. Click Apply.<br />

HURON TECHNICAL MANUAL PAGE 281


Altering the XYZ Balance<br />

↓ To alter the XYZ Balance levels<br />

of the inputs<br />

Altering the Azimuth<br />

Azimuth can be defined as the facing<br />

to an object on a horizontal plane.<br />

Values start at 0.00 for forward and<br />

increase as the object is further to the<br />

left, up to 360.00<br />

↓ To alter the Azimuth of the<br />

inputs<br />

Altering the Elevation<br />

↓ To alter the Elevation of the<br />

inputs<br />

Viewing BFormat Mixer Metering<br />

↓ To view the BFormat Mixers<br />

metering<br />

OTHER TOOLS<br />

The XYZ balance in the BFormat mixer represents the gain for<br />

the XYZ portions of the BFormat signals.<br />

1. Select either the input 1 or input 2 XYZ Balance box.<br />

2. Type the new XYZ balance value in dB (this number must<br />

be negative).<br />

3. Click Apply.<br />

The Azimuth of a BFormat signal represents the direction a<br />

sound appears to be coming from on a horizontal plane.<br />

1. Select either the input 1 or input 2 Azimuth level box.<br />

2. Type the new azimuth value.<br />

3. Click Apply.<br />

The elevation of a BFormat signal represents the apparent<br />

vertical angle from which the sound comes.<br />

1. Select either the input 1 or input 2 Elevation box.<br />

2. Type the new elevation value.<br />

3. Click Apply.<br />

The BFormat Mixer provides metering for the inputs and<br />

outputs of the BFormat Mixer.<br />

• Click Meters.<br />

The BFormat meters window will appear.<br />

HURON TECHNICAL MANUAL PAGE 282


Summary<br />

OTHER TOOLS<br />

• The BFormat Mixer mixes two BFormat X,Y,Z,ω inputs into<br />

a single X,Y,Z,ω output.<br />

• The Azimuth, Elevation and Gain of the inputs may be<br />

altered through the mixer to produce the final output data.<br />

HURON TECHNICAL MANUAL PAGE 283


Operation<br />

Starting<br />

↓ To access I/O Test<br />

I/O Test and I/O 96k Test<br />

I/O Test and I/O Test 96k are designed for testing the Input and<br />

Output modules of the <strong>Huron</strong> system. I/O test produces Sine<br />

waves and White noise and provides output to the screen and to<br />

a logfile for later analysis.<br />

Figure 96 — The IO test interface<br />

I/O Test and I/O Test 96k must be loaded into the VRack<br />

through the New/Others Tools submenu (for loading<br />

instructions the System Tools section of this manual). Once<br />

loaded, I/O Test will appear in the VRack, and its associated<br />

patchset will appear in the Patcher tool. To utilise I/O Test and<br />

I/O Test 96k properly you will require a Male/Female XLR<br />

cable to connect the I/O modules to be tested together.<br />

• Click on the I/O Test panel in the VRack.<br />

The I/O Test window will appear (see Figure 96).<br />

HURON TECHNICAL MANUAL PAGE 285


I/O Test Patching<br />

Selecting the Format of Results<br />

↓ To output to a log file<br />

↓ To output a summary only to a<br />

log file<br />

↓ To output only to the I/O test<br />

window<br />

OTHER TOOLS<br />

The I/O Test requires software patching via the Patch Bay as<br />

well as physical patching on the <strong>Huron</strong> Patch Panel for it to<br />

function properly. The Software and Hardware patching must<br />

coincide with the modules to be tested.<br />

The patching example given below shows how to test the Input<br />

15 and Output 3 modules.<br />

Figure 97 — The correct patching for IO Test<br />

Once patched the I/O Tests may be run.<br />

Each of the tests described below have a range of output<br />

formats available. These outputs may be set through the output<br />

selection boxes found below the signal section of the I/O test<br />

window.<br />

1. Select Log.<br />

2. Click File.<br />

3. From the Selection window enter a new file name or choose<br />

a file to save the log information to.<br />

4. Run the Test (see below).<br />

1. Select Summary only.<br />

2. Click File.<br />

3. From the Selection window enter a new file name or choose<br />

a file to save the Summary log information to.<br />

4. Run the Test (see below).<br />

1. Deselect Log.<br />

2. Run the Test (see below).<br />

The Test results will only appear in the display window.<br />

HURON TECHNICAL MANUAL PAGE 286


Testing Signal to Noise Ratios<br />

↓ To test the signal to noise ratio<br />

of Inputs and Outputs<br />

1. Select Sine.<br />

2. Type a Frequency for the Sine wave.<br />

3. Type an Amplitude for the Sine wave.<br />

4. Enter a sum multiplier.<br />

5. Click Gen Output to generate the output signal.<br />

6. Click RunTest to start the test and output the results.<br />

The results will be displayed in the following format.<br />

OTHER TOOLS<br />

Report Result<br />

Sine Signal Level in dB should be equivalent to input<br />

Sine Frequency In Hz should be equivalent to input<br />

Signal to Noise ratio + Distortion In dB should be approximately 80dB<br />

DC offset In dB should be approximately -66.00dB (however this can<br />

vary widely).<br />

Testing I/O’s for Deviation from Normal Frequency Characteristics<br />

↓ To test deviation in the<br />

frequency characteristics of<br />

input and output modules<br />

1. Select White Noise.<br />

2. Type an amplitude.<br />

3. Select a Simfile to output the white noise to if required.<br />

4. Click Gen Output to generate the output signal.<br />

5. Click RunTest to run the test.<br />

The results will be displayed in the following format:<br />

Hz dB Deviation Hz dB Deviation<br />

23.44 35.16<br />

58.59 128.91<br />

246.09 503.91<br />

996.09 2003.91<br />

3996.09 8003.91<br />

15996.09 20003.91<br />

The value for the deviation should be less than (.5 dB.), if it is<br />

significantly higher than this then one of the modules may be<br />

faulty.<br />

HURON TECHNICAL MANUAL PAGE 287


Summary<br />

• To utilise I/O Test an external patch cable is required.<br />

OTHER TOOLS<br />

• I/O Test allows testing of both signal to noise ratios, and the<br />

testing of expected characteristics of Input and Output<br />

modules.<br />

HURON TECHNICAL MANUAL PAGE 288


<strong>Huron</strong> Technical Reference<br />

The <strong>Huron</strong> technical reference section contains information<br />

concerning the technical specifications of the <strong>Huron</strong> and<br />

information to aid users in the correct use of signals and data<br />

formats with the <strong>Huron</strong> system. The following sub-sections are<br />

covered:<br />

• Data Formats and Scaling, which discusses the format of<br />

data used in the <strong>Huron</strong> system, and the most effective way to<br />

scale signal files to obtain the best performance from the<br />

<strong>Huron</strong>.<br />

• Hardware Specifications, provides a set of tables outlining<br />

the hardware present in the <strong>Huron</strong>.<br />

• Managing Audio Signal Levels, examines the effective use<br />

of the VRack, IO Manager and equipment external to the<br />

<strong>Huron</strong>, in order to obtain the optimal audio performance<br />

from the system.<br />

• The Glossary, contains a list of common words and<br />

acronyms found throughout this manual.<br />

HURON TECHNICAL MANUAL PAGE 289


Fixed Point Digital Audio Data Representation<br />

Data Formats and Scaling<br />

Considerations<br />

Digital audio data within the <strong>Huron</strong> system is transferred over<br />

the <strong>Huron</strong> bus in 24-bit twos-complement format. This data<br />

format provides for representation of audio data with Root-<br />

Mean-Square (RMS) quantisation at a level of 146.3dB below<br />

the RMS level of a full-scale sine wave. The range of 24-bit<br />

values is as follows:<br />

Hexadecimal<br />

value<br />

Decimal value Signal Level Description<br />

0x7FFFFF 8388607 0.99999988 Positive full scale<br />

→ → → →<br />

0x000001 1 0.00000012 Smallest positive value<br />

0x000000 0 0.00000000 Zero level<br />

0xFFFFFF -1 -0.00000012 Smallest negative value<br />

→ → → →<br />

0x800000 -8388608 -1.00000000 Negative full scale<br />

Finite Impulse Response Filter (FIR) Coefficient Scaling<br />

Filter Scaling for Unity Gain<br />

To gain optimum performance from the system, the following<br />

files must be scaled appropriately:<br />

• FIR filter coefficients which are loaded into the <strong>Huron</strong><br />

system via *.SIM data files. The data in these files is stored<br />

as 24—bit fixed point data.<br />

• Time domain impulse response filters used by the <strong>Huron</strong><br />

Convolver tool.<br />

If necessary, *.SIM files can be re-scaled using the SIMWIN<br />

utility MultVec or SimScale.<br />

There are two important factors to consider during the<br />

generation or re-scaling of data files:<br />

FIR filter coefficient files should ideally be scaled so that the<br />

audio data that is used in typical listening tests will pass through<br />

the FIR filter with approximately unity gain. Coefficient files<br />

that are scaled up too high will result in a filter which boosts the<br />

output level, possibly resulting in clipping at the FIR filter<br />

output when the input signal is close to full scale. Coefficient<br />

HURON TECHNICAL MANUAL PAGE 291


HURON TECHNICAL REFERENCE<br />

files that are scaled down too low will produce output from the<br />

FIR filter that is well below full scale, resulting in poor signalto-noise<br />

performance in the D/A converter.<br />

The diagram below illustrates the way filter coefficient scaling<br />

effects the Convolver’s output level:<br />

Figure 98 — Scaling of filter output due to filter coefficients<br />

The amplitude of the filter coefficients (h(k)) determine the<br />

overall gain of the filter. More specifically, the filter scale (S) is<br />

defined as:<br />

N−1<br />

1<br />

S = ∑ h(<br />

k )<br />

2097152<br />

k=<br />

0<br />

As a reference for comparison, the <strong>Huron</strong> Convolution Tools<br />

are supplied with an example file called<br />

c:\<strong>Huron</strong>32\sim\unity.sim. This file specifies an all-pass,<br />

unity gain filter. It contains one impulse in the first sample of<br />

the vector, and all zeros following this. The magnitude of the<br />

impulse is 2097152, which results in a gain of S=1.<br />

For most real filter responses, the overall gain S of the filter is<br />

mostly useful in defining the average gain of the filter, for white<br />

noise audio input. In reality, typical audio signals have most<br />

energy in a narrower band (from about 200Hz to 8000Hz). For<br />

this reason, it can be more meaningful to compute the gain S<br />

based on a band-limited portion of h(k).<br />

In order to achieve optimum data scaling in the <strong>Huron</strong> system, it<br />

is advised that all SIM files be scaled up to achieve a gain of<br />

S=1. This can be done by the following procedure :<br />

• Determine the gain (S) of a SIM file (or a collection of SIM<br />

files that are to be used together). Determine the gain for a<br />

band-limited portion of the SIM file.<br />

• Use the MultVec utility to scale the data up or down by a<br />

factor of 1/S. This means that the newly scaled SIM file<br />

should now have an average gain of S=1.<br />

• If a collection of SIM files are to be used together, then the<br />

relative amplitude difference between their gains must be<br />

preserved, so the files should all be scaled up by the same<br />

amount. The Lake Technology SimScale tool described<br />

below uses the formula 1/max(Sn) to achieve this result.<br />

HURON TECHNICAL MANUAL PAGE 292<br />

2


↓ SimScale<br />

Avoiding Large Frequency Peaks<br />

HURON TECHNICAL REFERENCE<br />

The revision 1.0 <strong>Huron</strong> Convolver Filter is not capable of<br />

boosting any one frequency by more than 12dB This may make<br />

it impossible to scale up the overall filter to unity gain. If the<br />

frequency response of the filter (i.e. the FFT of h(k)) contains<br />

large, narrow peaks that are more than 12dB above the average<br />

frequency response level, then it will not be possible to scale the<br />

filter up to unity gain (S=1).<br />

SimScale is a windows program supplied with the <strong>Huron</strong><br />

Engineering tools. It is used to scale a filter or a group of filters<br />

to unity gain. The program will either scale the filters so that<br />

the largest filter has unity gain, or the largest peak is no more<br />

than 12dB above unity.<br />

The function and operation of SimScale is described in the<br />

SimTools section of this manual.<br />

HURON TECHNICAL MANUAL PAGE 293


<strong>Huron</strong> Technical Specifications<br />

16 Bit A/D Modules<br />

Input Impedance 10kOhm balanced<br />

Input Gain +91.5dB -95.5dB<br />

Maximum Input Level +20dBm @ 0dB gain, +0dBm @ 20dB gain<br />

Group Delay 0.375ms (18 Sample periods)<br />

Group Delay Linearity 0.0us<br />

18 Bit D/A Modules<br />

Output Impedance 300 Ohm balanced, floating type<br />

Output Gain +31.5dB ⇔ -95.5dB<br />

Maximum Output Level +20dBm<br />

Group Delay<br />

Phase Linearity<br />

Digital Input Specifications<br />

0.687ms (33 Sample periods)<br />

< 0.5degrees<br />

Input Impedance and Level 110 Ohm - Professional Levels<br />

Formats Supported<br />

AES/EBU, IEC 958, S/PDIF, EIAJ CP-340<br />

Input Clock Range 25kHz-55kHz<br />

Digital Input Specification with Sample Rate<br />

Converter<br />

Input Frequency Ratio 1:2 ⇒ 2:1<br />

Total Harmonic Distortion + Noise > 94dB<br />

Dynamic Range<br />

Digital Output Specifications<br />

> 120dB<br />

Output Impedance 110 Ohm Professional and 75 Ohm Consumer<br />

Output Format<br />

System Performance (A/D -> D/A)<br />

AES/EBU, IEC 958, EIAJ CP-340<br />

Total Harmonic Distortion < 0.0025%, 1kHz, 0dBu<br />

Dynamic Range > 90dB<br />

SNR 90dB<br />

Crosstalk < -90dB @ 1kHz < -80dB @ 20kHz<br />

Sampling Rate 48kHz<br />

Frequency Response, 20Hz-20kHz +0.1dB -0.5dB<br />

Group Delay<br />

System Specifications<br />

1.1ms + DSP Delay (53+DSP Sample Period Delay)<br />

Environment 0-50°C Operating<br />

Power Requirements 90-130 Vac 220-260 Vac<br />

Power Consumption Configuration Dependent, 200W Max<br />

Net Weight<br />

~23kg<br />

Performance Plots<br />

Below is a plot showing the harmonic distortion and the Signal<br />

to Noise Ratio (SNR) of the 16 bit A/D and 18 bit D/A <strong>Huron</strong><br />

System. The plot was derived by presenting a very pure 1kHz<br />

sine wave to the A/D and D/A, and analysing the output with a<br />

4k Fast Fourier Transform (FFT).<br />

HURON TECHNICAL MANUAL PAGE 295


Figure 99 — SNR of the 16 bit A/D and 18 Bit D/A<br />

SNR=92.08dB<br />

S/(N+D)=92.02dB<br />

HURON TECHNICAL REFERENCE<br />

Below is a plot illustrating the dynamic range of a typical 16 bit<br />

A/D and 18 bit D/A <strong>Huron</strong> system. This plot was derived by<br />

presenting a very pure low-level sine wave to the system.<br />

Figure 100 — Dynamic Range of the 16 bit A/D and 18 bit D/A<br />

Dynamic Range = 93.08dB<br />

The plot below shows the frequency response of the 16 bit A/D<br />

and 18 bit D/A <strong>Huron</strong> system.<br />

HURON TECHNICAL MANUAL PAGE 296


Figure 101 — Frequency Response of the 16 bit A/D and 18 bit D/A<br />

HURON TECHNICAL REFERENCE<br />

The plot below is a diagram showing the system latency when a<br />

“zero latency” filter is being run. The total sample period delay<br />

in this system is 54 sample periods, with a one sample delay for<br />

the FIR.<br />

Figure 102 — System Latency of a zero latency filter<br />

The latency of the 278,244 tap filter is illustrated below. The<br />

latency of the actual DSP filter function is 5 samples, yielding<br />

an overall system delay of 58 samples.<br />

HURON TECHNICAL MANUAL PAGE 297


Mechanical Specifications<br />

1<br />

3<br />

Figure 103 — Latency of the 278,244 tap filter<br />

2<br />

HURON TECHNICAL REFERENCE<br />

The patch panel XLR connector specifications are illustrated<br />

below.<br />

Figure 104 — XLR connectors<br />

2 1<br />

Audio Out connector (male) Audio in connector (female)<br />

1. Shield.<br />

1. Shield.<br />

2. Signal positive. 2. Signal positive.<br />

3. Signal return. 3. Signal return.<br />

HURON TECHNICAL MANUAL PAGE 298<br />

3


D-62 Connector Specifications<br />

HURON TECHNICAL REFERENCE<br />

The diagram below illustrates the I/O board D-62 connector<br />

specifications.<br />

Figure 105 — I/O Board D-62 connector specifications<br />

HURON TECHNICAL MANUAL PAGE 299


Audio Input Levels<br />

Managing Audio Signal Levels for<br />

Optimum Noise Performance<br />

Optimal noise performance can be achieved when using a<br />

<strong>Huron</strong> System by ensuring that both analogue and digital<br />

signals are kept as close as possible to full scale throughout<br />

each stage of processing.<br />

Analogue audio input to the system is converted to digital data<br />

by the A/D module. This module contains analogue circuitry<br />

that allows for a variety of different input types (balanced and<br />

unbalanced) and different signal levels (microphone, consumer<br />

line level and professional line level). A simplified schematic<br />

of the A/D input is shown below.<br />

Figure 106 — A/D input schematic<br />

The volume control settings on the A/D modules are<br />

manipulated by the lower row of sliders in the I/O Manager.<br />

The pre-amplifier settings are selected by the buttons (labelled<br />

0dB, 20dB, 40dB and 60dB) in the I/O Manager.<br />

The following recommendations apply to the use of the A/D<br />

modules:<br />

• Always supply the highest level analogue input possible to<br />

the A/D module (but not exceeding 20V p-p). This will<br />

ensure that the signal level is maintained at its maximum at<br />

all stages of the analogue input circuit, thus reducing the<br />

contribution of noise effects.<br />

HURON TECHNICAL MANUAL PAGE 301


HURON TECHNICAL REFERENCE<br />

• Always use the pre-amplifier in preference to the volume<br />

control to boost lower level analogue inputs. It is always<br />

preferable to increase the analogue signal level as much as<br />

possible at the pre-amplifier to avoid an unnecessary noise<br />

contribution at the input to the volume control.<br />

• Always aim to provide a near full scale input signal to the<br />

A/D converter, by using the appropriate gain settings in the<br />

pre-amplifier and the volume control.<br />

• The volume control should not generally be used to attenuate<br />

the analogue input signal. Any reduction in the signal level<br />

through the volume control may mean that clipping at the<br />

pre-amplifier output, due to excessive input signal level, will<br />

go undetected at the A/D input.<br />

The following analogue input control settings are<br />

recommended:<br />

Input signal type Typical signal Pre-amplifier Volume<br />

level<br />

setting<br />

Control setting<br />

Professional Line Level +20dBm 0dB 0dB<br />

Professional Line Level +14dBm 0dB 6dB<br />

Consumer Line Level +0dBm 20dB 0dB<br />

Dynamic Microphone -20dBm 40dB 0dB<br />

Audio Output Levels<br />

The digital output module in the system contains an 18-bit D/A<br />

converter and a volume control to provide the capability for<br />

driving analogue output levels less than the maximum 20dBm.<br />

The analogue outputs are electronically balanced. A schematic<br />

of the audio output circuit (on the D/A module) is shown below:<br />

Figure 107 — D/A output schematic<br />

The volume control settings on the D/A modules are<br />

manipulated by the upper row of sliders in the I/O Manager<br />

Tool.<br />

The following recommendations apply to the use of the D/A<br />

output module:<br />

• Always aim to supply a digital signal to the D/A converter<br />

that is close to full scale signal levels. If the digital output<br />

signal is scaled down significantly below full scale, it will<br />

lead to a reduction in the signal-to-noise performance of the<br />

D/A converter.<br />

HURON TECHNICAL MANUAL PAGE 302


HURON TECHNICAL REFERENCE<br />

• In general, the volume control should only be used to reduce<br />

the output level (-90 ... 0dB), and boosting the analogue<br />

output (+0.5dB … +30dB) is not recommended. This is<br />

because boosting the analogue output may cause clipping at<br />

the balanced line driver.<br />

• Ideally, the analogue output should be driven at the<br />

maximum possible level. For example, if the analogue<br />

output is intended to connect to a system that allows<br />

selectable gain on its input, it is always recommended that<br />

the lowest gain is selected at the receiving device and that<br />

the signal level generated by the output is increased.<br />

The following analogue output control settings are<br />

recommended:<br />

Output signal type Typical signal level D/A Volume Control<br />

required<br />

setting<br />

Professional Line Level +20dBm 0dB<br />

Professional Line Level +14dBm -6dB<br />

Consumer Line Level +0dBm -20dB<br />

Headphones driven directly by D/A -30 ... -10dBm (typical Adjust for comfortable level<br />

module<br />

Power amplifier driven from<br />

system[1]<br />

Note: If the power amplifier provides<br />

a volume control, refer to the next<br />

section for more information<br />

regarding the best settings for the D/A<br />

volume control and the amplifier gain.<br />

level)<br />

-30 ... -10dBm (typical<br />

level)<br />

Connecting Outputs to a Power Amplifier with Gain Control<br />

Adjust for comfortable level<br />

When an analogue output is connected to a power amplifier that<br />

also provides gain control, then the power level at the amplifier<br />

output can be increased or reduced by varying either the output<br />

volume, or the amplifier input volume. There are two common<br />

scenarios for this situation:<br />

1. In applications where the user wishes to control the volume<br />

of the amplifier output by adjusting the amplifier gain<br />

control. Optimum noise performance will be achieved by<br />

setting the analogue output level from the system to the<br />

standard line levels (0dBm for consumer equipment or<br />

+14/+20dBm for professional equipment), and then setting<br />

the amplifier gain control to set the desired listening level.<br />

2. In applications where the user wishes to control the level of<br />

the amplifier output from the Windows controls in VRack,<br />

then the power amplifier needs to be set to a suitable gain<br />

level. If the power amplifier gain is set too high, then the<br />

output level will need to be lowered to compensate, resulting<br />

in a situation where any noise at the outputs of the system or<br />

at the input to the amplifier will be accentuated.<br />

HURON TECHNICAL MANUAL PAGE 303


↓ To achieve the best results in<br />

this situation<br />

HURON TECHNICAL REFERENCE<br />

1. Reduce the amplifier gain to its minimum level.<br />

2. Boost the analogue output level to the appropriate line level<br />

(see the table above for the best setting for consumer or<br />

professional line levels).<br />

3. Increase the amplifier gain to set the loudest listening level<br />

that would be required during normal use of the system.<br />

4. Now reduce the analogue output volume to a comfortable<br />

level.<br />

The amplifier playback level can now be controlled using the<br />

D/A volume control in the I/O manager.<br />

HURON TECHNICAL MANUAL PAGE 304


Angle Channels<br />

Glossary<br />

Angle channels are utilised by Lake Technology’s simulation applications as channels for<br />

transferring the angle (azimuth, roll, and elevation) of a simulation object.<br />

Auralisation = Auralization:<br />

“Auralization is the process of rendering audible the sound field of a source in a space, in such a way<br />

as to simulate the binaural listening experience at a given position in the modelled space.” [Quoted<br />

from Kleiner, M., Dalenback, B., and Svensson, P. (1993), `Auralization-An Overview,'in Journal of<br />

the Audio Engineering Society, November 1993 , Page 869.]<br />

Auralisation and Acoustic Modelling Software<br />

Auralisation and Acoustic Modelling packages typically take a description of the geometry of the<br />

room (perhaps from a CAD package) and allow the user to specify the acoustic properties of the<br />

surfaces in the room, the properties and directionality of sources and also the properties and<br />

directionality of the listener room with the source and listener in the defined positions.<br />

Azimuth<br />

The angle from an observer to an object on a horizontal plane. Values start at 0.00 for forward and<br />

increase as the object moves towards the left, up to 360.00.<br />

B-Format Decoding<br />

Is the process of decoding B-format signals to a speaker array or headphones.<br />

B-Format Signals<br />

Are signals which are encoded in a three-dimensional audio format. The directionality of a sound<br />

field is represented by a spherical harmonic components, termed X,Y,Z and ω. The fundamental<br />

component is ω which is omnidirectional. X, Y, and Z are the first harmonic figure eight responses<br />

representing forward, left and up.<br />

HURON TECHNICAL MANUAL PAGE 305


Binaural HRTF<br />

HURON TECHNICAL REFERENCE<br />

Binaural Head Related Transfer Function, a pair of Head Related Transfer Functions, for both left<br />

and right ears.<br />

Convolution<br />

Convolution is a mathematical process that takes one signal and modifies it using another signal. It<br />

is equivalent to a multiplication of two signals in the frequency domain. This process allows one<br />

signal to be used as a filter for another.<br />

Crosstalk Cancellation<br />

During Transaural playback, sounds played back through a pair of speakers will overlap, creating<br />

crosstalk which can destroy the three-dimensional sound effect. Crosstalk cancellation provides a<br />

means of reducing this effect.<br />

DRAM<br />

Dynamic Random Access Memory.<br />

DSP<br />

DSP Stands for Digital Signal Processing and is a method for processing signals. Alternately, DSP<br />

stands for a Digital Signal Processor which is a computer chip designed to quickly process large<br />

amounts of mathematical calculations.<br />

Elevation<br />

The angle from an observer to an object on a vertical plane. Values start at 0.00 for forward and<br />

increase as the object moves upwards, up to 360.00. The elevation values may also run from -90<br />

(straight down) to +90 straight up.<br />

ERTF<br />

Environment Related Transfer Function. Similar to the HRTF however the ERTF represents the<br />

filtering of a sound source through the environment which it passes before reaching the HRTF<br />

component of an acoustic simulation system.<br />

FIR<br />

A Finite Impulse Response is an impulse response which after a period of time decays to zero.<br />

HURON TECHNICAL MANUAL PAGE 306


Order of Reflections<br />

HURON TECHNICAL REFERENCE<br />

The order of reflection is based on the number of surfaces a sound wave has reflected off before<br />

reaching the listener. Thus, first order reflections have bounced off a single surface, while third<br />

order reflections have bounced off three surfaces before reaching the listener.<br />

Frequency Domain<br />

A common way of referring to the mathematical representation of signals, where the signal is<br />

displayed in terms of its frequency components. The frequency domain representation of a signal is<br />

sometimes called a signal's spectrum.<br />

HeadTracking<br />

Is the real time process of monitoring the Angle, Elevation, Roll and Location of a listener’s head.<br />

HRTF<br />

Head Related Transfer Function, a mathematical model that characterises the filtering of a sound<br />

source before it reaches the eardrum.<br />

Impulse Response<br />

An impulse response is the way a system (such as a room) responds when presented with an impulse.<br />

An impulse response is specific to a particular system. The recorded impulse response of a system<br />

(such as those obtained using Lake Technology’s Measure tool) can be convolved with audio signals<br />

to create the impression of sound actually coming from the measured system.<br />

LakeNet<br />

Is the message protocol used by Lake applications for TCP/IP communication. External computers<br />

communicate with <strong>Huron</strong> applications using LakeNet. The LakeNet interface has been superseded<br />

by <strong>SNAP</strong>.<br />

LakeBus<br />

Provides a method for passing messages between Lake applications, along the <strong>Huron</strong> Bus.<br />

Latency<br />

Inherent delay due to signal processing. In Lake Technology applications latency is measured in<br />

samples or milliseconds.<br />

HURON TECHNICAL MANUAL PAGE 307


Linear Phase<br />

HURON TECHNICAL REFERENCE<br />

Linear phase is characterised by a constant time delay corresponding to a phase shift increasing<br />

linearly with frequency.<br />

Location Channels<br />

Are communication channels for transferring locational information of a Lake Technology AniScape<br />

or MultiScape simulation object.<br />

Low Latency<br />

Low latency is characterised by a short delay during signal processing.<br />

Optimum Phase<br />

By reducing optimum phase in Lake Technology’s EQ application, filters can be programmed to<br />

have zero or minimum phase delays. As a trade off for this low delay, phase distortion may occur.<br />

Reverberation<br />

The reflections of a sound source from the surfaces of a room or environment.<br />

RMS<br />

Root-mean-square amplitude of a sine wave.<br />

Roll<br />

The orientation of an object around a central point. Values start at 0.00 when the object is standing<br />

upright and increase as the object rotates clockwise, up to 360.00.<br />

Sample Rate<br />

Digital playback and recording is achieved by measuring the level of input signals at a specified<br />

sample rate. For instance at 48kHz 48,000 samples of data are taken every second.<br />

<strong>SNAP</strong><br />

<strong>SNAP</strong> (Spatial Network Audio Protocol) is a protocol written to facilitate communication between<br />

an external application and <strong>Huron</strong> VRack applications. <strong>SNAP</strong> communicates with the Socket<br />

application using TCP/IP.<br />

HURON TECHNICAL MANUAL PAGE 308


SNR (Signal to Noise Ratio)<br />

HURON TECHNICAL REFERENCE<br />

The signal to noise ratio is defined as: The ratio in dB of the rms voltage to the rms voltage of the<br />

noise present.<br />

T60<br />

The time taken for a sound to drop (diffuse) 60 dB.<br />

TDM Channel<br />

A Time Division Multiplex Channel.<br />

Time Domain<br />

A common way of referring to the mathematical representation of signals, where the signal is<br />

displayed in terms of its components over time.<br />

Transaural<br />

Playback of a three-dimensional soundfield through a pair of speakers. Transaural playback often<br />

requires crosstalk cancellation to provide three-dimensional sound.<br />

XYZ Coordinates<br />

The XYZ coordinate system utilised by Lake Technology simulation tools represents the three axes<br />

of a three dimensional coordinate system. X and Y represent the coordinates on a horizontal plane,<br />

while the Z axis represents the vertical component of the system.<br />

HURON TECHNICAL MANUAL PAGE 309


VRack Autostart<br />

↓ To auto-start VRack at login<br />

↓ To automatically log into<br />

Windows 2000<br />

Appendix I: Auto-starting the <strong>Huron</strong><br />

on power-up.<br />

The <strong>Huron</strong> may be configured to automatically run the VRack<br />

with a given workspace whenever the machine boots. The<br />

configuration is a two-stage process:<br />

• Configure the VRack to auto-start with a given workspace at<br />

user-login.<br />

• Configure Windows to auto-logon as that user.<br />

To auto-start the VRack at user-login requires adding a shortcut<br />

to VRack tool in Window’s taskbar Startup directory with<br />

desired workspace given as a command line parameter to the<br />

VRack tool.<br />

1. Right-click Properties on the taskbar<br />

2. Select the Start Menu Programs tab.<br />

3. Click on Advanced.<br />

4. Navigate to the Startup directory in the left hand pane, and<br />

add a new shortcut with a command line as:<br />

C:\huron32\Bin\rack32.exe myworkspace.wsp<br />

where “myworkspace.wsp” is replaced by workspace file<br />

that you wish to load on start-up.<br />

Test that it works by logging-out and logging-in again. The<br />

VRack should automatically start with your specified<br />

workspace.<br />

1. Download Microsoft’s Tweak UI tool (version 1.33) from<br />

http://www.microsoft.com/ntworkstation/downloads/powert<br />

oys/networking/nttweakui.asp.<br />

2. Install it (as administrator) by right-clicking on the<br />

tweakui.inf file that comes with the distribution.<br />

3. Run Tweak UI (as administrator) from the Control Panel.<br />

4. Select the Paranoia tab and ensure that Clear Last User at<br />

logon is disabled.<br />

5. Select the Logon tab, enable Log on automatically at<br />

system startup and enter the logon username and password<br />

you wish to use.<br />

6. Click the Apply button to make the changes take effect.<br />

HURON TECHNICAL MANUAL PAGE 311


↓ To specify an auto-logon<br />

domain<br />

THE APPENDIX<br />

If you’re login account uses the default login domain then that’s<br />

all you need do. Test that it works by logging out, you should<br />

find that Windows automatically logs you back in.<br />

However, if your login account uses a login domain other than<br />

the default then you will need to specify it manually by running<br />

regedit.exe as Tweak UI does not provide a means of doing this.<br />

1. Run regedit.exe and navigate to<br />

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wi<br />

ndows NT\CurrentVersion\Winlogon<br />

2. Modify the DefaultDomainName key by right-clicking it<br />

and entering your logon domain.<br />

3. Exit regedit and logout. You should find that Windows will<br />

now automatically log you back in again.<br />

HURON TECHNICAL MANUAL PAGE 312

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!