WO2010080608A1 - Audio system control interface - Google Patents

Audio system control interface Download PDF

Info

Publication number
WO2010080608A1
WO2010080608A1 PCT/US2009/068715 US2009068715W WO2010080608A1 WO 2010080608 A1 WO2010080608 A1 WO 2010080608A1 US 2009068715 W US2009068715 W US 2009068715W WO 2010080608 A1 WO2010080608 A1 WO 2010080608A1
Authority
WO
WIPO (PCT)
Prior art keywords
audio
panel
component
devices
audio control
Prior art date
Application number
PCT/US2009/068715
Other languages
French (fr)
Inventor
John Bayard Britton, Jr.
John Warren Dunn
Original Assignee
Qsc Audio Products, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qsc Audio Products, Llc filed Critical Qsc Audio Products, Llc
Publication of WO2010080608A1 publication Critical patent/WO2010080608A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/301Automatic calibration of stereophonic sound system, e.g. with test microphone

Definitions

  • PA systems are used to distribute and control audio throughout a large area, such as an airport or amusement park.
  • a large-scale audio system is a public address (PA) system.
  • PA systems at their simplest include a mixer, amplifier, and loudspeakers that are used to reinforce a given sound (e.g., a person making a speech, prerecorded music, or a message) and distribute the sound to occupants in a building or other area.
  • Small PA systems are often used in venues such as school auditoriums, churches, and small bars. Larger PA systems are widely used in institutional and commercial buildings to provide information, coordinate events, or inform occupants of danger.
  • Intercom systems which are often used in schools, also have microphones in each room so that the occupants can reply to a central office.
  • PA over IP refers to PA paging and intercom systems that use a network instead of a centralized analog amplifier to distribute audio to multiple desired locations.
  • Distributed network attached amplifiers and intercoms provide communication functions. The routing of audio is often controlled by a computer running custom software. Such systems may include multiple zones (e.g., terminals in an airport) to which an administrator can distribute audio or other information. For example, using a microphone connected to a sound card of the computer the administrator can page selected zones.
  • the system broadcasts audio data over the network to the network attached amplifier and intercom modules.
  • the networked attached amplifier and other audio components are small dedicated network appliances with a network address just like any other computer on the network.
  • a system installer can tie multiple remote sites together so that one location can be used as a source of audio to any or all other locations whether they be around the corner or around the world.
  • a control center can also be located at multiple locations.
  • Figure 1 is a block diagram that illustrates components of the audio control system, in one embodiment.
  • Figure 2 is a flow diagram that illustrates the process of the panel definition component to receive a design for controlling or monitoring audio devices using the audio control system, in one embodiment.
  • FIG. 3 is a flow diagram that illustrates the processing of the panel request component to control or monitor audio devices using the audio control system, in one embodiment.
  • Figure 4 is a display page produced by the panel rendering component for monitoring and controlling audio devices of the system, in one embodiment.
  • An audio control system is presented herein that allows an administrator to more easily configure, monitor, and control large-scale audio systems despite the complexity of such systems.
  • a system designer or other administrator starts by defining the components and configuration of the system using a design user interface (Ul) that displays audio components of the system as on-screen icons or other virtual objects that the designer can connect, configure, and test.
  • the design Ul receives information about audio components in the system.
  • the design Ul may receive information about audio sources (e.g., microphones, radios, and pre-recorded messages), audio processing devices (e.g., mixers, amplifiers, and equalizers), and audio output devices (e.g., speakers, recording devices, and graphical displays).
  • audio sources e.g., microphones, radios, and pre-recorded messages
  • audio processing devices e.g., mixers, amplifiers, and equalizers
  • audio output devices e.g., speakers, recording devices, and graphical displays.
  • the design Ul presents a library of available audio components that the designer can drag or perform other visual manipulations to place within the design.
  • the designer configures components by connecting components together and modifying configuration settings (e.g., a gain of an amplifier).
  • the designer can group components together in sets, called panels, according to any organizational scheme useful to the designer. For example, the designer may group each of the components in a particular airport terminal together or may group all retail restaurants in an amusement park together.
  • a user of the system can access a control terminal that displays the panels defined by the designer.
  • the control terminal may initially present a Ul through which the user can select among several available panels.
  • the user selects a panel and the control terminal requests Ul information describing the panel from a backend server.
  • the panel may include on-screen knobs, sliders, buttons, text input boxes, or other controls that the user can manipulate to modify the volume, audio source, or other characteristics of the audio associated with the panel.
  • the panel may also include informational controls, such as level meters, text displays, virtual LEDs, and so forth that the user can view to determine the current status and health of the system.
  • the audio control system provides the control terminal through a web server that the user can access using a web browser from any computer connected to the audio control system.
  • the audio control system provides a software-based way of configuring and controlling multiple audio components of a potentially complex large-scale audio system.
  • FIG. 1 is a block diagram that illustrates components of the audio control system, in one embodiment.
  • the audio control system 100 includes an item inventory component 110, a panel definition component 120, a panel request component 130, a panel rendering component 140, and a device communication component 150. Each of these components is described in further detail herein.
  • the system 100 is connected via a network 160 to one or more audio devices 170.
  • the network may be the Internet, a wired local area network (LAN), or a wireless network.
  • the audio devices 170 can include many different types of devices, such as microphones, speakers, equalizers, amplifiers, and so forth.
  • the audio devices 170 connect to the system via the network 160.
  • the audio devices 170 may include an internal networking interface (e.g., a built-in network interface card (NIC)) or may be connected to a component for converting information received from the network (e.g., TCP/IP packets) to audio information (e.g., digital or analog audio data) understood by the audio devices 170.
  • NIC network interface card
  • the item inventory component 110 tracks information about audio devices that are connected to the audio control system 100. For example, when a system installer adds a new speaker, amplifier, equalizer, or other audio device to the system, the item inventory component 110 receives information about the device. For example, the system installer may manually enter information about the new device, such as an Internet Protocol (IP) address for communicating with the device, capabilities of the device, configurable values of the device, and so forth. Alternatively or additionally, the item inventory component 110 may automatically discover new devices that are accessible to the system 100. For example, the new device may broadcast information about itself on a network to which both the system 100 and audio device are connected. The system 100 may also periodically broadcast an invitation for new devices to report their information to the system 100.
  • IP Internet Protocol
  • the panel definition component 120 provides a user interface through which a designer can create panels that include one or more audio devices that will be grouped together in each panel.
  • the panel definition component 120 may display a list of available audio devices or allow the designer to search audio devices managed by the item inventory component 110.
  • an item inventory for an airport might include each speaker, television, and microphone connected to the system 100.
  • the designer places a representation of each audio device in a displayed layout.
  • the designer may also connect audio devices together, using displayed connections (e.g., wires). For example, the designer may connect the output of a microphone to the input of an equalizer, and the output of the equalizer to the input of a speaker.
  • Each audio device may include one or more inputs and outputs that the designer can connect in groups or separately.
  • a designer may connect an 8-port equalizer to an 8-port amplifier in a single group.
  • the designer may connect four ports of the equalizer to one amplifier and the other four ports of the equalizer to a separate amplifier.
  • the connections that the designer defines represent the routing that the system will perform live when the system is in use. For example, if an equalizer is connected to an amplifier, then the system will route packets sent over the network by the equalizer to a network address of the amplifier.
  • the panel definition component 120 stores the design as one or more data files.
  • the component 120 may store the files in a database, file folder, or other suitable storage facility for later retrieval.
  • the panel request component 130 receives requests from clients to load and display control panels. For example, a user can access the system 100 from a client running a web browser, and the system 100 provides a web server interface that receives HTTP GET or POST requests.
  • the request may include a URL or other data that identifies the panel to be displayed or that requests a list of available panels managed by the system 100.
  • the panel request component 130 receives the request, identifies the panel or panels responsive to the request, retrieves the panel from storage, and replies with information about the panel to the requestor.
  • the panel request component 130 may supply the raw data defining the panel to the requestor or the component 130 may perform processing on the panel definition, such as by invoking the panel rendering component 140, to place the panel definition in a particular format.
  • the panel rendering component 140 renders panel definitions to prepare the definitions for display.
  • the panel rendering component 140 may operate on the server as a component that converts panel definitions to HTML or other suitable display layout languages or specifications.
  • the panel rendering component 140 may execute as part of a client application or downloadable component (e.g., an ActiveX control or Java applet) on the client to convert panel definitions into displayable renderings.
  • the panel rendering component 140 displays the rendered panel on a display or sends information for displaying the rendered panel (e.g., HTML, CSS, or other layout information) to a client for display.
  • the panel information may include both layout information and data values that represent a current status of audio devices in the system 100.
  • a panel definition may specify the rendering of a knob (e.g., by specifying a location, shape, and size of the knob) and the current value of the knob (e.g., 50%).
  • the panel rendering component 140 receives updates to the data values from the server based on changes made by users, changes in audio devices, and so forth. For example, if a user turns the knob in the previous example to 75%, then the panel rendering component 140 receives that information and updates the rendering of the panel to reflect the new position of the knob.
  • the device communication component 150 communicates with audio devices connected through a network to the system 100.
  • the device communication component 150 communicates with new devices that a system installer connects to the system to determine the type of device, network address for reaching the device, capabilities of the device, any friendly text name given to the device, and so on.
  • the device communication component 150 may work with the item inventory component 110 to build the inventory list of connected audio devices.
  • the device communication component 150 also forwards control instructions based on user actions to audio devices. For example, if a user dials a knob up in a panel, then the device communication component 150 determines the device or devices affected by the knob and sends control instructions to the devices that causes them to increase their volume or perform other functions (e.g., adjust a roll-off frequency) indicated by the knob.
  • the computing device or devices on which the system is implemented may include a central processing unit, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), and storage devices (e.g., disk drives).
  • the memory and storage devices are computer-readable media that may be encoded with computer-executable instructions that implement the system, which means a computer-readable medium that contains the instructions.
  • the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communication link.
  • Various communication links may be used, such as the Internet, a local area network, a wide area network, a point-to-point dial-up connection, a cell phone network, and so on.
  • Embodiments of the system may be implemented in various operating environments that include personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, digital cameras, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and so on.
  • the computer systems may be cell phones, personal digital assistants, smart phones, personal computers, programmable consumer electronics, digital cameras, and so on.
  • the system may be described in the general context of computer- executable instructions, such as program modules, executed by one or more computers or other devices.
  • program modules include routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular abstract data types.
  • functionality of the program modules may be combined or distributed as desired in various embodiments.
  • FIG. 2 is a flow diagram that illustrates the process of the panel definition component to receive a design for controlling or monitoring audio devices using the audio control system, in one embodiment.
  • the component creates a new design or selects an existing design for a designer to edit. For example, the designer may run a panel definition application to create a new design for an audio control panel to manage audio devices of a large-scale audio system.
  • the component receives a list of available audio devices from the item inventory component.
  • the panel definition component may provide a list from which the designer can select available audio devices to add to the design.
  • the component receives connections between audio devices from the designer. For example, the designer may draw connections between audio devices using displayed design tools.
  • the component optionally receives groupings of audio panels into panel sets. For example, a designer may create a first panel for monitoring a particular set of audio devices that includes level meters and other status displays and a second panel for controlling the audio devices that includes knobs, sliders, and other control interfaces.
  • the component receives initial control values for the devices in each panel. For example, the designer may set knobs to a particular preset position that is stored as an initial control value.
  • the component saves the design to a data store and makes the design available to users of the system for monitoring and controlling the audio devices. For example, the component may store the design in a database and a web server of the system may provide a URL through which users can access the design. The component may save the design as one or more panel definition files that provide a container for all of the data related to a particular set of panels in a design. After block 260, these steps conclude.
  • FIG. 3 is a flow diagram that illustrates the processing of the panel request component to control or monitor audio devices using the audio control system, in one embodiment.
  • a user accesses the system via a web browser on a client computer by navigating to a URL associated with a web server hosted by the system.
  • the panel request component receives the request to display a particular panel or panel set.
  • the URL accessed by the client computer may display a list of available panels and the user may select one by clicking on it.
  • the component loads the panel definition file including layout information and current control values from the data store.
  • the component responds to the request with the panel definition file.
  • the client computer displays the panel.
  • the panel may be provided in a format that the web browser at the client computer can display directly (e.g., HTML), or the client computer may run a client application provided by the system that interprets the panel definition file to display a rendering of the panel.
  • a user can interact with the displayed controls of the panel by turning knobs, pressing buttons, sliding sliders, and so forth.
  • the client application informs the system.
  • the component receives a control request from the client computer that indicates one or more audio devices that are the subject of the request and one or more control values to modify. For example, if the user turns a knob associated with the gain of an amplifier, then the control request identifies the amplifier (e.g., by network address or other identifier) and specifies the new value (e.g., 50%) for the amplifier gain.
  • the component forwards the request to the appropriate audio devices.
  • the component may look up the present network address of the audio devices and send a message to the audio devices containing the new control values or other instructions (e.g., turn on, turn off, and so on).
  • the server provides new control values to any other clients based on the change.
  • the server may push this information to the clients using common push technologies, or the server may wait for the clients to poll (e.g., pull) for the information. After block 360, these steps conclude.
  • FIG. 4 is a display page produced by the panel rendering component for monitoring and controlling audio devices of the system, in one embodiment.
  • the display page 400 includes a URL 410, a panel display area 415, and panel set navigation controls 420.
  • the URL 410 contains information for locating and accessing the server that clients communicate with to access the system.
  • the server may be accessible via the Internet using a standard web browser from a client computer.
  • the panel set navigation controls 420 provide user interface elements for navigating between multiple panels associated with a set.
  • the Ul elements may provide for navigation via tabs, forward back buttons, and so on.
  • the panel display area 415 displays the currently selected panel.
  • the panel contains various audio devices, monitoring elements, and control elements defined by a designer.
  • the illustrated panel includes a set of slider controls 430, a set of knobs 440, and an oscilloscope display 450. The user can monitor the system via the oscilloscope display 450 and make modifications using the other controls.
  • the audio control system receives groups of panels that define panel sets.
  • the panel set includes navigation elements (e.g., tabs, buttons, links, and so forth) that allow a user to select among the panels in a set for display.
  • the system can automatically generate the navigation elements, or they may be manually configured by the designer.
  • a designer can define multiple panel sets within a design, and provide a name for each panel set to make the panel set easier to identify and distinguish from other panel sets.
  • the user can navigate between the panels in a panel set on the client display by interacting with the navigation elements.
  • the navigation elements may include arrows, previous/next buttons, tabs, or other Ul elements for navigating between panels.
  • the audio control system makes each panel set available to remote clients through a web server.
  • the server makes each panel set available to remote clients through the Hypertext Transfer Protocol (HTTP).
  • HTTP Hypertext Transfer Protocol
  • the system may provide a uniform resource locator (URL) for accessing each panel set.
  • the system may define the URL based on the panel set name, provide a known page of links to available panel sets, advertise the URL of the panel set over the network (e.g., using technologies such as multicast), and so forth.
  • accessing a panel set URL from a client web browser causes the client web browser to download a client application and execute the downloaded application.
  • the client application can be based on Adobe Flash, Microsoft Silverlight, Sun Java, dynamic HTML (HTML combined with JavaScript), or any other client-side execution technology supported by web browsers.
  • the client application based on arguments passed into it via the URL that invoked it, or via an HTML page in which it is embedded, contacts the server and downloads a data file (or set of data files) that represents the layout of a panel set.
  • the client application may download a data file containing the list of panel sets available on the server and present the list to the user. Then the user can select a panel set from the list.
  • the client application downloads a data file (or set of data files) that represents the layout of a panel set. Then, the client application renders the set of panels containing any control, indicator, graphic, and navigation elements specified by the data file.
  • the client application connects over a network with the system server (or other devices) to continuously fetch data that is used to update the graphical control and indicator elements.
  • the client application may access the server via the Internet, and the server may respond with information about the present state of each audio element represented in the currently displayed panel set.
  • This provides the user with a similar feel to traditional live (e.g., non-PC-based) control equipment that allows for on-going monitoring and control of audio devices.
  • live e.g., non-PC-based
  • the client application sends the control's new value to the server.
  • the server determines the audio device modified by the user's action and sends appropriate control instructions to the audio device (or devices) to carry out the user's modification. For example, if the user turns down a displayed volume knob, the server may identify one or more amplifiers responsible for the volume of the system and send the identified amplifiers a control instruction that decreases the gain of the amplifiers.
  • the audio control system supports multiple simultaneously connected clients. If multiple clients are displaying panels with the same control and/or indicator elements on them, a change of a control value by one client is quickly reflected in the other client displays through continuous background polling or other common update methods. For example, a client may check periodically (e.g., every 100 or 500 milliseconds) for updates to each of the control and indicator elements that the client is currently displaying. If a user at another client, at the server, or at the audio device itself modifies the settings of the audio device, the server becomes aware of the modification as described above, and when each client requests the current state of the audio device from the server, each client will receive the updated state information.
  • a client may check periodically (e.g., every 100 or 500 milliseconds) for updates to each of the control and indicator elements that the client is currently displaying. If a user at another client, at the server, or at the audio device itself modifies the settings of the audio device, the server becomes aware of the modification as described above, and when each client requests the current state of the
  • the audio control system distinguishes design panels from control panels.
  • Design panels allow a system installer to design and build an audio system using available components in a user interface.
  • Control panels allow a system administrator to build panels that can be remotely displayed for controlling the audio system built using design panels.
  • Control panels include components for controlling and monitoring the system, such as knobs, level meters, buttons, LEDs, and so forth.
  • Design panels may include additional components, such as signal processing, control processing, wiring between components, and so forth, that are not displayable remotely through control panels.
  • the audio control system allows a system installer to place graphical elements in a control panel.
  • the system installer may include a JPG or PNG image that displays a customer logo, installer logo, or other graphical information.
  • the system may display the graphical elements in a location defined by the installer, such as a particular corner or the panel, or as a background or watermark image behind or over other components.

Abstract

An audio control system is presented herein that allows an administrator to more easily configure, monitor, and control large-scale audio systems despite the complexity of such systems. A system designer or other administrator starts by defining the components and configuration of the system using a design user interface (Ul) that displays audio components of the system as on-screen icons or other virtual objects that the designer can connect, configure, and test to create panels. Later, a user of the system can access a control terminal that displays the panels defined by the designer. The user selects a panel and the control terminal requests Ul information describing the panel from a backend server. Thus, the audio control system provides a software-based way of configuring and controlling multiple audio components of a potentially complex large-scale audio system.

Description

AUDIO SYSTEM CONTROL INTERFACE
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Patent Application No. 12/338,973, filed on December 18, 2009 and titled AUDIO SYSTEM CONTROL INTERFACE, which is incorporated herein by reference in its entirety.
BACKGROUND
[0002] Large-scale audio systems are used to distribute and control audio throughout a large area, such as an airport or amusement park. One example of a large-scale audio system is a public address (PA) system. PA systems at their simplest include a mixer, amplifier, and loudspeakers that are used to reinforce a given sound (e.g., a person making a speech, prerecorded music, or a message) and distribute the sound to occupants in a building or other area. Small PA systems are often used in venues such as school auditoriums, churches, and small bars. Larger PA systems are widely used in institutional and commercial buildings to provide information, coordinate events, or inform occupants of danger. Intercom systems, which are often used in schools, also have microphones in each room so that the occupants can reply to a central office.
[0003] Large-scale audio systems may be highly distributed. PA over IP refers to PA paging and intercom systems that use a network instead of a centralized analog amplifier to distribute audio to multiple desired locations. Distributed network attached amplifiers and intercoms provide communication functions. The routing of audio is often controlled by a computer running custom software. Such systems may include multiple zones (e.g., terminals in an airport) to which an administrator can distribute audio or other information. For example, using a microphone connected to a sound card of the computer the administrator can page selected zones. The system broadcasts audio data over the network to the network attached amplifier and intercom modules. The networked attached amplifier and other audio components are small dedicated network appliances with a network address just like any other computer on the network. Because the system is connected using a standard network and/or the Internet, a system installer can tie multiple remote sites together so that one location can be used as a source of audio to any or all other locations whether they be around the corner or around the world. A control center can also be located at multiple locations.
[0004] Although such systems provide enormous flexibility, they are also difficult for administrators to control and configure, based on the high number of options and possible combinations of audio sources, audio processing devices, and output locations. In the example of a typical airport, there are numerous audio sources including microphones at each gate for making announcements related to the gate, central microphones for making broadcast announcements, background music sources, sports or other feeds that may be played in restaurants, news feeds, and so forth. In addition, the areas in which large-scale audio systems are installed are often frequently changing. For example, airports frequently add new terminals or gates, amusement parks often add new rides, and so forth. Each of these areas may include many different sub-zones for receiving audio output, such as retail stores, gates, rides, bathrooms, employee lounges, and so forth and a different type of audio may be suitable for each area.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Figure 1 is a block diagram that illustrates components of the audio control system, in one embodiment.
[0006] Figure 2 is a flow diagram that illustrates the process of the panel definition component to receive a design for controlling or monitoring audio devices using the audio control system, in one embodiment.
[0007] Figure 3 is a flow diagram that illustrates the processing of the panel request component to control or monitor audio devices using the audio control system, in one embodiment.
[0008] Figure 4 is a display page produced by the panel rendering component for monitoring and controlling audio devices of the system, in one embodiment.
DETAILED DESCRIPTION
[0009] An audio control system is presented herein that allows an administrator to more easily configure, monitor, and control large-scale audio systems despite the complexity of such systems. A system designer or other administrator starts by defining the components and configuration of the system using a design user interface (Ul) that displays audio components of the system as on-screen icons or other virtual objects that the designer can connect, configure, and test. The design Ul receives information about audio components in the system. For example, the design Ul may receive information about audio sources (e.g., microphones, radios, and pre-recorded messages), audio processing devices (e.g., mixers, amplifiers, and equalizers), and audio output devices (e.g., speakers, recording devices, and graphical displays). The design Ul presents a library of available audio components that the designer can drag or perform other visual manipulations to place within the design. The designer configures components by connecting components together and modifying configuration settings (e.g., a gain of an amplifier). The designer can group components together in sets, called panels, according to any organizational scheme useful to the designer. For example, the designer may group each of the components in a particular airport terminal together or may group all retail restaurants in an amusement park together.
[0010] Later, a user of the system can access a control terminal that displays the panels defined by the designer. The control terminal may initially present a Ul through which the user can select among several available panels. The user selects a panel and the control terminal requests Ul information describing the panel from a backend server. The panel may include on-screen knobs, sliders, buttons, text input boxes, or other controls that the user can manipulate to modify the volume, audio source, or other characteristics of the audio associated with the panel. The panel may also include informational controls, such as level meters, text displays, virtual LEDs, and so forth that the user can view to determine the current status and health of the system. In some embodiments, the audio control system provides the control terminal through a web server that the user can access using a web browser from any computer connected to the audio control system. Thus, the audio control system provides a software-based way of configuring and controlling multiple audio components of a potentially complex large-scale audio system.
[0011] Figure 1 is a block diagram that illustrates components of the audio control system, in one embodiment. The audio control system 100 includes an item inventory component 110, a panel definition component 120, a panel request component 130, a panel rendering component 140, and a device communication component 150. Each of these components is described in further detail herein. The system 100 is connected via a network 160 to one or more audio devices 170. For example, the network may be the Internet, a wired local area network (LAN), or a wireless network. The audio devices 170 can include many different types of devices, such as microphones, speakers, equalizers, amplifiers, and so forth. The audio devices 170 connect to the system via the network 160. The audio devices 170 may include an internal networking interface (e.g., a built-in network interface card (NIC)) or may be connected to a component for converting information received from the network (e.g., TCP/IP packets) to audio information (e.g., digital or analog audio data) understood by the audio devices 170.
[0012] The item inventory component 110 tracks information about audio devices that are connected to the audio control system 100. For example, when a system installer adds a new speaker, amplifier, equalizer, or other audio device to the system, the item inventory component 110 receives information about the device. For example, the system installer may manually enter information about the new device, such as an Internet Protocol (IP) address for communicating with the device, capabilities of the device, configurable values of the device, and so forth. Alternatively or additionally, the item inventory component 110 may automatically discover new devices that are accessible to the system 100. For example, the new device may broadcast information about itself on a network to which both the system 100 and audio device are connected. The system 100 may also periodically broadcast an invitation for new devices to report their information to the system 100.
[0013] The panel definition component 120 provides a user interface through which a designer can create panels that include one or more audio devices that will be grouped together in each panel. The panel definition component 120 may display a list of available audio devices or allow the designer to search audio devices managed by the item inventory component 110. For example, an item inventory for an airport might include each speaker, television, and microphone connected to the system 100. The designer places a representation of each audio device in a displayed layout. The designer may also connect audio devices together, using displayed connections (e.g., wires). For example, the designer may connect the output of a microphone to the input of an equalizer, and the output of the equalizer to the input of a speaker.
[0014] Each audio device may include one or more inputs and outputs that the designer can connect in groups or separately. For example, a designer may connect an 8-port equalizer to an 8-port amplifier in a single group. As an alternative example, the designer may connect four ports of the equalizer to one amplifier and the other four ports of the equalizer to a separate amplifier. The connections that the designer defines represent the routing that the system will perform live when the system is in use. For example, if an equalizer is connected to an amplifier, then the system will route packets sent over the network by the equalizer to a network address of the amplifier. When the designer is finished laying out and connecting audio devices, then the designer saves the design as a series of panels using the panel definition component 120. The panel definition component 120 stores the design as one or more data files. The component 120 may store the files in a database, file folder, or other suitable storage facility for later retrieval.
[0015] The panel request component 130 receives requests from clients to load and display control panels. For example, a user can access the system 100 from a client running a web browser, and the system 100 provides a web server interface that receives HTTP GET or POST requests. The request may include a URL or other data that identifies the panel to be displayed or that requests a list of available panels managed by the system 100. The panel request component 130 receives the request, identifies the panel or panels responsive to the request, retrieves the panel from storage, and replies with information about the panel to the requestor. The panel request component 130 may supply the raw data defining the panel to the requestor or the component 130 may perform processing on the panel definition, such as by invoking the panel rendering component 140, to place the panel definition in a particular format.
[0016] The panel rendering component 140 renders panel definitions to prepare the definitions for display. The panel rendering component 140 may operate on the server as a component that converts panel definitions to HTML or other suitable display layout languages or specifications. Alternatively or additionally, the panel rendering component 140 may execute as part of a client application or downloadable component (e.g., an ActiveX control or Java applet) on the client to convert panel definitions into displayable renderings. The panel rendering component 140 displays the rendered panel on a display or sends information for displaying the rendered panel (e.g., HTML, CSS, or other layout information) to a client for display. The panel information may include both layout information and data values that represent a current status of audio devices in the system 100. For example, a panel definition may specify the rendering of a knob (e.g., by specifying a location, shape, and size of the knob) and the current value of the knob (e.g., 50%). The panel rendering component 140 receives updates to the data values from the server based on changes made by users, changes in audio devices, and so forth. For example, if a user turns the knob in the previous example to 75%, then the panel rendering component 140 receives that information and updates the rendering of the panel to reflect the new position of the knob.
[0017] The device communication component 150 communicates with audio devices connected through a network to the system 100. The device communication component 150 communicates with new devices that a system installer connects to the system to determine the type of device, network address for reaching the device, capabilities of the device, any friendly text name given to the device, and so on. The device communication component 150 may work with the item inventory component 110 to build the inventory list of connected audio devices. The device communication component 150 also forwards control instructions based on user actions to audio devices. For example, if a user dials a knob up in a panel, then the device communication component 150 determines the device or devices affected by the knob and sends control instructions to the devices that causes them to increase their volume or perform other functions (e.g., adjust a roll-off frequency) indicated by the knob.
[0018] The computing device or devices on which the system is implemented may include a central processing unit, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), and storage devices (e.g., disk drives). The memory and storage devices are computer-readable media that may be encoded with computer-executable instructions that implement the system, which means a computer-readable medium that contains the instructions. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communication link. Various communication links may be used, such as the Internet, a local area network, a wide area network, a point-to-point dial-up connection, a cell phone network, and so on.
[0019] Embodiments of the system may be implemented in various operating environments that include personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, digital cameras, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and so on. The computer systems may be cell phones, personal digital assistants, smart phones, personal computers, programmable consumer electronics, digital cameras, and so on.
[0020] The system may be described in the general context of computer- executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
[0021] Figure 2 is a flow diagram that illustrates the process of the panel definition component to receive a design for controlling or monitoring audio devices using the audio control system, in one embodiment. In block 210, the component creates a new design or selects an existing design for a designer to edit. For example, the designer may run a panel definition application to create a new design for an audio control panel to manage audio devices of a large-scale audio system. In block 220, the component receives a list of available audio devices from the item inventory component. For example, the panel definition component may provide a list from which the designer can select available audio devices to add to the design. In block 230, the component receives connections between audio devices from the designer. For example, the designer may draw connections between audio devices using displayed design tools. [0022] In block 240, the component optionally receives groupings of audio panels into panel sets. For example, a designer may create a first panel for monitoring a particular set of audio devices that includes level meters and other status displays and a second panel for controlling the audio devices that includes knobs, sliders, and other control interfaces. In block 250, the component receives initial control values for the devices in each panel. For example, the designer may set knobs to a particular preset position that is stored as an initial control value. In block 260, the component saves the design to a data store and makes the design available to users of the system for monitoring and controlling the audio devices. For example, the component may store the design in a database and a web server of the system may provide a URL through which users can access the design. The component may save the design as one or more panel definition files that provide a container for all of the data related to a particular set of panels in a design. After block 260, these steps conclude.
[0023] Figure 3 is a flow diagram that illustrates the processing of the panel request component to control or monitor audio devices using the audio control system, in one embodiment. Typically, a user accesses the system via a web browser on a client computer by navigating to a URL associated with a web server hosted by the system. In block 310, the panel request component receives the request to display a particular panel or panel set. For example, the URL accessed by the client computer may display a list of available panels and the user may select one by clicking on it. In block 320, the component loads the panel definition file including layout information and current control values from the data store. In block 330, the component responds to the request with the panel definition file. The client computer then displays the panel. For example, the panel may be provided in a format that the web browser at the client computer can display directly (e.g., HTML), or the client computer may run a client application provided by the system that interprets the panel definition file to display a rendering of the panel.
[0024] A user can interact with the displayed controls of the panel by turning knobs, pressing buttons, sliding sliders, and so forth. When the user modifies a control, the client application informs the system. In block 340, the component receives a control request from the client computer that indicates one or more audio devices that are the subject of the request and one or more control values to modify. For example, if the user turns a knob associated with the gain of an amplifier, then the control request identifies the amplifier (e.g., by network address or other identifier) and specifies the new value (e.g., 50%) for the amplifier gain. In block 350, the component forwards the request to the appropriate audio devices. For example, the component may look up the present network address of the audio devices and send a message to the audio devices containing the new control values or other instructions (e.g., turn on, turn off, and so on). In block 360, the server provides new control values to any other clients based on the change. The server may push this information to the clients using common push technologies, or the server may wait for the clients to poll (e.g., pull) for the information. After block 360, these steps conclude.
[0025] Figure 4 is a display page produced by the panel rendering component for monitoring and controlling audio devices of the system, in one embodiment. The display page 400 includes a URL 410, a panel display area 415, and panel set navigation controls 420. The URL 410 contains information for locating and accessing the server that clients communicate with to access the system. For example, the server may be accessible via the Internet using a standard web browser from a client computer. The panel set navigation controls 420 provide user interface elements for navigating between multiple panels associated with a set. For example, the Ul elements may provide for navigation via tabs, forward back buttons, and so on. The panel display area 415 displays the currently selected panel. The panel contains various audio devices, monitoring elements, and control elements defined by a designer. For example, the illustrated panel includes a set of slider controls 430, a set of knobs 440, and an oscilloscope display 450. The user can monitor the system via the oscilloscope display 450 and make modifications using the other controls.
[0026] In some embodiments, the audio control system receives groups of panels that define panel sets. The panel set includes navigation elements (e.g., tabs, buttons, links, and so forth) that allow a user to select among the panels in a set for display. The system can automatically generate the navigation elements, or they may be manually configured by the designer. A designer can define multiple panel sets within a design, and provide a name for each panel set to make the panel set easier to identify and distinguish from other panel sets. The user can navigate between the panels in a panel set on the client display by interacting with the navigation elements. For example, the navigation elements may include arrows, previous/next buttons, tabs, or other Ul elements for navigating between panels.
[0027] In some embodiments, the audio control system makes each panel set available to remote clients through a web server. When an administrator installs a design on a system server, the server makes each panel set available to remote clients through the Hypertext Transfer Protocol (HTTP). The system may provide a uniform resource locator (URL) for accessing each panel set. For example, the system may define the URL based on the panel set name, provide a known page of links to available panel sets, advertise the URL of the panel set over the network (e.g., using technologies such as multicast), and so forth.
[0028] In some embodiments, accessing a panel set URL from a client web browser causes the client web browser to download a client application and execute the downloaded application. The client application can be based on Adobe Flash, Microsoft Silverlight, Sun Java, dynamic HTML (HTML combined with JavaScript), or any other client-side execution technology supported by web browsers. The client application, based on arguments passed into it via the URL that invoked it, or via an HTML page in which it is embedded, contacts the server and downloads a data file (or set of data files) that represents the layout of a panel set. Alternatively, the client application may download a data file containing the list of panel sets available on the server and present the list to the user. Then the user can select a panel set from the list. Based on the user's selection, the client application downloads a data file (or set of data files) that represents the layout of a panel set. Then, the client application renders the set of panels containing any control, indicator, graphic, and navigation elements specified by the data file.
[0029] In some embodiments, the client application connects over a network with the system server (or other devices) to continuously fetch data that is used to update the graphical control and indicator elements. For example, the client application may access the server via the Internet, and the server may respond with information about the present state of each audio element represented in the currently displayed panel set. This provides the user with a similar feel to traditional live (e.g., non-PC-based) control equipment that allows for on-going monitoring and control of audio devices. When the user modifies a displayed control with a mouse, keyboard, touch-screen, or other input device, the client application sends the control's new value to the server. The server determines the audio device modified by the user's action and sends appropriate control instructions to the audio device (or devices) to carry out the user's modification. For example, if the user turns down a displayed volume knob, the server may identify one or more amplifiers responsible for the volume of the system and send the identified amplifiers a control instruction that decreases the gain of the amplifiers.
[0030] In some embodiments, the audio control system supports multiple simultaneously connected clients. If multiple clients are displaying panels with the same control and/or indicator elements on them, a change of a control value by one client is quickly reflected in the other client displays through continuous background polling or other common update methods. For example, a client may check periodically (e.g., every 100 or 500 milliseconds) for updates to each of the control and indicator elements that the client is currently displaying. If a user at another client, at the server, or at the audio device itself modifies the settings of the audio device, the server becomes aware of the modification as described above, and when each client requests the current state of the audio device from the server, each client will receive the updated state information.
[0031] In some embodiments, the audio control system distinguishes design panels from control panels. Design panels allow a system installer to design and build an audio system using available components in a user interface. Control panels allow a system administrator to build panels that can be remotely displayed for controlling the audio system built using design panels. Control panels include components for controlling and monitoring the system, such as knobs, level meters, buttons, LEDs, and so forth. Design panels may include additional components, such as signal processing, control processing, wiring between components, and so forth, that are not displayable remotely through control panels.
[0032] In some embodiments, the audio control system allows a system installer to place graphical elements in a control panel. For example, the system installer may include a JPG or PNG image that displays a customer logo, installer logo, or other graphical information. The system may display the graphical elements in a location defined by the installer, such as a particular corner or the panel, or as a background or watermark image behind or over other components.
[0033] From the foregoing, it will be appreciated that specific embodiments of the audio control system have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. For example, although audio devices and control have been described, the techniques described herein can be applied to video and other types of data as well. For example, the system may provide virtual control panels for mixing and other modifications to video signals, controlling multiple elements of a multimedia event (e.g., slides of a presentation), and so forth. Accordingly, the invention is not limited except as by the appended claims.

Claims

CLAIMSI/We claim:
1. A computer system for creating and providing software-based audio control panels, the system comprising: an item inventory component configured to track information about audio devices that are connected to the system; a panel definition component configured to provide a user interface through which a designer can create panels that include one or more audio devices to be grouped together in one or more audio control panels; a panel request component configured to receive requests from one or more clients to load and display the audio control panels; a panel rendering component configured to prepare the audio control panels for display; and a device communication component configured to communicate with the audio devices connected to the system.
2. The system of claim 1 wherein the item inventory component is further configured to receive information about a new audio device when a system installer connects the new audio device to the system.
3. The system of claim 1 wherein the item inventory component is further configured to automatically discover new audio devices that a system installer connects to the system.
4. The system of claim 1 wherein the item inventory component is further configured to periodically broadcast an invitation for new devices to report their information to the system.
5. The system of claim 1 wherein the panel definition component is further configured to display a list of available audio devices from which the designer can select one or more audio devices.
6. The system of claim 1 wherein the panel definition component is further configured to receive connections between audio devices specified by the designer using displayed connection elements.
7. The system of claim 1 wherein the panel definition component is further configured to receive connections between audio devices, wherein the connections comprise groups of two or more inputs or outputs from at least some of the audio devices.
8. The system of claim 1 wherein the panel definition component is further configured to save a design that includes the one or more audio devices to be grouped together in one or more audio control panels.
9. The system of claim 1 wherein the panel request component further comprises a web server interface, and wherein the panel request component is further configured to receive HTTP requests from the one or more clients.
10. The system of claim 9 wherein the panel request component is further configured to assign a URL to each audio control panel at which the one or more clients can access each audio control panel.
11. The system of claim 1 wherein the panel request component is further configured to receive requests to display a list of available audio control panels accessible via the panel request component.
12. The system of claim 1 wherein preparing the audio control panels for display comprises converting a definition of an audio control panel into HTML for display in a web browser.
13. The system of claim 1 wherein the panel rendering component receives layout information and data values that represent a current status of audio devices in the system.
14. The system of claim 1 wherein the panel rendering component receives updates to an audio control panel based on changes to one or more audio devices.
15. The system of claim 1 wherein the device communication component is further configured to forward one or more control instructions to one or more of the audio devices connected to the system based on user actions related to the audio devices.
16. A computer-implemented method for defining a remotely displayable audio control panel, the method comprising: receiving in a design user interface information about audio devices connected to an audio system, wherein the design user interface displays at least some of the audio devices as on-screen virtual objects that a designer can connect, configure, and test; presenting a library of available audio devices that the designer can add to a design; receiving a configuration of the components for the design, wherein the configuration identifies one of more of the available audio devices and one or more connections between the audio devices; receiving one or more configuration settings for at least one of the audio devices in the design; and storing the design in a data store accessible by a remote console configured to display the design, such that an administrator can control and monitor the audio system using an audio control panel defined by the design.
17. The method of claim 16 wherein the audio devices are selected from the group consisting of audio sources, audio processing devices, and audio output devices.
18. A computer-readable storage medium encoded with instructions for controlling a computer system to display an audio control panel at a remote terminal, by a method comprising: receiving from a user of the system a request to access the system; presenting a user interface through which the user can select from several available audio control panels; receiving a user selection of an audio control panel from the available audio control panels; requesting panel definition information describing contents of the selected audio control panel from a backend server; receiving from the backend server panel definition information describing contents of the selected audio control panel; and displaying the selected audio control panel based on the received panel definition information.
19. The computer-readable medium of claim 18 further comprising, receiving a user manipulation of at least one control displayed in the selected audio control panel and sending information about the manipulation to the backend server.
20. The computer-readable medium of claim 18 wherein the contents of the selected audio control panel comprise at least one of an on-screen knob, a slider, a button, a text input box, a level meter, a text display, and a virtual LED.
PCT/US2009/068715 2008-12-18 2009-12-18 Audio system control interface WO2010080608A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33897308A 2008-12-18 2008-12-18
US12/338,973 2008-12-18

Publications (1)

Publication Number Publication Date
WO2010080608A1 true WO2010080608A1 (en) 2010-07-15

Family

ID=42316747

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/068715 WO2010080608A1 (en) 2008-12-18 2009-12-18 Audio system control interface

Country Status (1)

Country Link
WO (1) WO2010080608A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108419089A (en) * 2018-02-08 2018-08-17 广州虎牙信息科技有限公司 Module data processing method, device, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546297B1 (en) * 1998-11-03 2003-04-08 Robertshaw Controls Company Distributed life cycle development tool for controls
US7275092B2 (en) * 2001-12-12 2007-09-25 Hewlett-Packard Development Company, L.P. Method and system for controlling the operation of a peripheral device in a network
US20080037461A1 (en) * 2004-04-14 2008-02-14 Biltz Gregory F System and Method for Managing Communication Interoperability Switches

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546297B1 (en) * 1998-11-03 2003-04-08 Robertshaw Controls Company Distributed life cycle development tool for controls
US7275092B2 (en) * 2001-12-12 2007-09-25 Hewlett-Packard Development Company, L.P. Method and system for controlling the operation of a peripheral device in a network
US20080037461A1 (en) * 2004-04-14 2008-02-14 Biltz Gregory F System and Method for Managing Communication Interoperability Switches

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108419089A (en) * 2018-02-08 2018-08-17 广州虎牙信息科技有限公司 Module data processing method, device, equipment and storage medium
CN108419089B (en) * 2018-02-08 2021-04-27 广州虎牙信息科技有限公司 Component data processing method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
US11520464B2 (en) Playback zone management
US10469966B2 (en) Zone scene management
US10359987B2 (en) Adjusting volume levels
JP5322941B2 (en) Programming environment and metadata management for programmable multimedia controllers
CN105308902B (en) Playback queue transmission in media playback system
US8310335B2 (en) Network-based access and control of home automation systems
JP5557798B2 (en) User interface for multi-device control
US20170124751A1 (en) Offering menu items to a user
US20100122215A1 (en) Control interface for home automation system
JP6693066B2 (en) Control device
JP6311022B2 (en) Apparatus, system and method for efficient and low-latency synchronization of graph-like data structures
WO2010080608A1 (en) Audio system control interface
US20080104524A1 (en) System and Method for Facilitating Ip Telephony Applications
CN106603652A (en) Household music control system and household music playing control method
US8775937B2 (en) User interfaces and systems and methods for user interfaces
WO2007131211A2 (en) Control system for audio/video conferencing
CN112202913B (en) Intelligent sound box cloud management system
EP4319182A1 (en) Information processing terminal, information processing method, and program
Braun et al. Single authoring for multi-device interfaces
KR20010100454A (en) User interface system on web
Ding et al. Seamless integration of output devices in intelligent environments: Infrastructure, strategies and implementation
CN115766312A (en) Scene linkage demonstration method and device, electronic equipment and storage medium
CN117742706A (en) Development method and device of intelligent building mobile terminal application and electronic equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09837984

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09837984

Country of ref document: EP

Kind code of ref document: A1