The invention relates to a communication network for recording an electronic audio communication, more particularly, to a method and system for separating constituent audio data within an electronic audio communication.
Methods for separating audio signals have emerged as a viable means of enhancing audio signal analysis. Current methods of audio separation include computational auditory scene analysis and blind source separation. Computational auditory scene analysis involves a process for separating speech signals from interfering sounds. Blind source separation requires source signals to be statistically independent and requires a linear mixing process. Often times blind source separation attempts to invert the mixing process in order to reconstruct the independent components of the audio signal.
One approach to capturing separate audio signals involves the analysis of a single monophonic track utilizing a variety of analytic tools. These tools provide a series of measurements of the audio data on the monophonic track in order to form inputs for pattern matching algorithms. Mathematical and physical information characterizing a series of user-defined models of acoustic processes, such as frequency analysis, are then utilized to determine separate events within the monophonic track. A pattern matching algorithm uses statistical and optimization methods to establish a model most consistent with the audio data on the track. The output of these processes represent a series of independent parameter sets that can be used to produce separate audio channels.
While these methods have met with varying degrees of success, there exists several limitations. For example, the above methodologies impair the ability to separate audio data while retaining the hi-fidelity of the audio data as initially recorded. Further, prior methodologies such as those described above may degrade the audio data as it is separated into constituent audio data files such that post separation analysis or manipulation is impaired, inaccurate or prevented.
The present invention is provided to solve the problems discussed above and other problems, and to provide advantages and aspects not previously provided. A full discussion of the features and advantages of the present invention is deferred to the following detailed description, which proceeds with reference to the accompanying drawings.
The present invention relates to a method for separating an audio signal. A signal is received from a communication system having a communication protocol. The signal carries an audio waveform comprising at least one of first constituent audio data and second constituent audio data. The signal is recorded on a first data file based on the identity of the telephonic communication protocol. The first constituent audio data is recorded on a first audio track of the first data file based on the communication protocol and the second constituent audio data is recorded on a second audio track of the first data file based on the communication protocol. At least one of the recorded first and second constituent audio data are extracted from the first data file.
The present invention further includes a method for separating an audio stream carried by a signal. The method includes identifying the communication protocol utilized by a network. It further includes receiving a signal from a telephonic communication system. The signal carries an audio waveform comprising at least one of first constituent audio data and second constituent audio data. The signal carrying the audio waveform is recorded based on the communication protocol wherein the first constituent audio data is recorded on a first audio track of a first data file and the second constituent audio data is recorded on a second audio track of the first data file.
The method described can be embodied in a computer program stored on a computer readable media. The a computer program would include code segments or routines to enable all of the functional aspects of the interface described or shown herein.
Other features and advantages of the invention will be apparent from the following specification taken in conjunction with the following drawings.
To understand the present invention, it will now be described by way of example, with reference to the accompanying drawings in which:
While this invention is susceptible of embodiments in many different forms, there is shown in the drawings and will herein be described in detail preferred embodiments of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the embodiments illustrated.
The system and method of the present invention is configured to postpone audio compression until analysis of the audio data is complete. The system and method employed in connection with the present invention also minimizes audio distortion, increases fidelity, eliminates gain control and requires no additional filtering of the signal.
The process descriptions or blocks shown in the figures of the present invention should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of the embodiments of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those having ordinary skill in the art.
The PBX switch 205 provides an interface between the PSTN 203 and a local network. Preferably, the interface is controlled by software stored on a telephony server 207 coupled to the PBX switch 205. The PBX switch 205, using interface software, connects trunk and line station interfaces of the public switch telephone network 203 to stations of a local network or other peripheral devices contemplated by one skilled in the art. Further, in another embodiment of the invention, the PBX switch may be integrated within telephony server 207. The stations of the invention may include various types of communication devices connected to the network, including the telephony server 207, a recording server 209, telephone stations 211, and client personal computers 213 equipped with telephone stations 215. The local network may further include fax machines and modems.
Generally, in terms of hardware architecture, the telephony server 207 includes a processor, memory, and one or more input and/or output (I/O) devices (or peripherals) that are communicatively coupled via a local interface. The processor can be any custom-made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the telephony server 207, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions. The memory of the telephony server 207 can include any one or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). The telephony server 207 may further include a keyboard and a mouse for control purposes, and an attached graphic monitor for observation of software operation.
The telephony server 207 incorporates PBX control software to control the initiation and termination of connections between stations and via outside trunk connections to the PSTN 203. In addition, the software may monitor the status of all telephone stations 211 in real-time on the network and may be capable of responding to telephony events to provide traditional telephone service. This may include the control and generation of the conventional signaling tones such as dial tones, busy tones, ring back tones, as well as the connection and termination of media streams between telephones on the local network. Further, as shown in
Referring to
The control processor 221 may include buffer storage and control logic to convert media streams from one format to another, if necessary, between the trunk interface 217 and local network. The trunk interface 217 provides interconnection with the trunk circuits of the PSTN 203. The local network interface 219 provides conventional software and circuitry to enable the telephony server 207 to access the local network. The buffer RAM and control logic implement efficient transfer of media streams between the trunk interface 217, the telephony server 207, the digital signal processor 225, and the local network interface 219.
The trunk interface 217 utilizes conventional telephony trunk transmission supervision and signaling protocols required to interface with the outside trunk circuits from the PSTN 203. The trunk lines carry various types of telephony signals such as transmission supervision and signaling, audio, fax, or modem data to provide plain old telephone service (POTS). In addition, the trunk lines may carry other communication formats such T1, ISDN or fiber service to provide telephony or multimedia data images, video, text or audio.
The control processor 221 manages real-time telephony event handling pertaining to the telephone trunk line interfaces, including managing the efficient use of digital signal processor resources for the detection of caller ID, DTMF, call progress and other conventional forms of signaling found on trunk lines. The control processor 221 also manages the generation of telephony tones for dialing and other purposes, and controls the connection state, impedance matching, and echo cancellation of individual trunk line interfaces on the multi-port PSTN module 223.
Preferably, conventional PBX signaling is utilized between trunk and station, or station and station, such that data is translated into network messages that convey information relating to real-time telephony events on the network. The data could also be translated into instructions to the network adapters of the stations to generate the appropriate signals and behavior to support normal voice communication, or instructions to connect voice media streams using standard connections and signaling protocols. Network messages are sent from the control processor 221 to the telephony server 207 to notify the PBX software in the telephony server 207 of real-time telephony events on the attached trunk lines. Other network messages are received from the PBX Switch 205 to implement telephone call supervision and may control the set-up and elimination of media streams for voice transmission.
The local network interface 219 includes conventional circuitry to interface with the local network. The specific circuitry is dependent on the signal protocol utilized in the local network. In one embodiment, the local network may be a local area network (LAN) utilizing IP telephony. IP telephony integrates audio and video stream control with legacy telephony functions and may be supported through the H.323 protocol. H.323 is an International Telecommunication Union-Telecommunications protocol used to provide voice and video services over data networks. H.323 permits users to make point-to-point audio and video phone calls over a local area network. IP telephony systems can be integrated with the public telephone system through a local network interface 219, such as an IP/PBX-PSTN gateway, thereby allowing a user to place telephone calls from an enabled computer. For example, a call from an IP telephony client to a conventional telephone would be routed on the LAN to the IP/PBX-PSTN gateway. The IP/PBX-PSTN gateway translates H.323 protocol to conventional telephone protocol and routes the call over the conventional telephone network to its destination. Conversely, an incoming call from the PSTN 203 is routed to the IP/PBX-PSTN gateway and translates the conventional telephone protocol to H.323 protocol.
As noted above, PBX trunk control messages are transmitted from the telephony server 207 to the control processor 221 of the multi-port PSTN. In contrast, network messages containing media streams of digital representations of real-time voice are transmitted between the trunk interface 217 and local network interface 219 using the digital signal processor 225. The digital signal processor 225 may include buffer storage and control logic. Preferably, the buffer storage and control logic implement a first-in-first-out (FIFO) data buffering scheme for transmitting digital representations of voice audio between the local network to the trunk interface 217. It is noted that the digital signal processor 225 may be integrated with the control processor 221 on a single microprocessor.
The digital signal processor 225 may include a coder/decoder (CODEC) connected to the control processor 221. The CODEC may be a type TCM29c13 integrated circuit made by Texas Instruments, Inc. In one embodiment, the digital signal processor 225 receives an analog or digital voice signal from a station within the network or from the trunk lines of the PSTN 203. The CODEC converts the analog voice signal into in a digital from, such as digital data packets. It should be noted that the CODEC is not used when connection is made to digital lines and devices, such as VoIP networks. From the CODEC, the digital data is transmitted to the digital signal processor 225 where telephone functions take place. The digital data is then passed to the control processor 221 which accumulates the data bytes from the digital signal processor 225. It is preferred that the data bytes are stored in a first-in-first-out (FIFO) memory buffer until there is sufficient data for one data packet to be sent according to the particular network protocol of the local network. The specific number of bytes transmitted per data packet depends on network latency requirements as selected by one of ordinary skill in the art. Once a data packet is created, the data packet is sent to the appropriate destination on the local network through the local network interface 219. Among other information, the data packet contains a source address, a destination address, and audio data. The source address identifies the location the audio data originated from and the destination address identifies the location the audio data is to be sent.
The system permits bi-directional communication by implementing a return path allowing data from the local network, through the local network interface 219, to be sent to the PSTN 203 through the multi-line PSTN trunk interface 217. Data streams from the local network are received by the local network interface 219 and translated from the protocol utilized on the local network to the protocol utilized on the PSTN 203. The conversion of data may be performed as the inverse operation of the conversion described above relating to the IP/PBX-PSTN gateway. The data stream is restored in appropriate form suitable for transmission through to either a connected telephone 211, 215 or an interface trunk 217 of the PSTN module 223, or a digital interface such as a T1 line or ISDN. In addition, digital data may be converted to analog data for transmission over the PSTN 203.
Generally, the PBX switch of the present invention may be implemented with hardware or virtually. A hardware PBX has equipment located local to the user of the PBX system. The PBX switch 205 utilized may be a standard PBX manufactured by Avaya, Siemens AG, NEC, Nortel, Toshiba, Fujitsu, Vodavi, Mitel, Ericsson, Panasonic, or InterTel. In contrast, a virtual PBX has equipment located at a central telephone service provider and delivers the PBX as a service over the PSTN 203.
As illustrated in
Generally, in terms of hardware architecture, as shown in
The processor 227 is a hardware device for executing software, particularly software stored in memory 229. The processor 227 can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the recording server 209, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions. Examples of suitable commercially available microprocessors are as follows: a PA-RISC series microprocessor from Hewlett-Packard Company, an 80x8 or Pentium series microprocessor from Intel Corporation, a PowerPC microprocessor from IBM, a Sparc microprocessor from Sun Microsystems, Inc., or a 8xxx series microprocessor from Motorola Corporation.
The memory 229 can include any one or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, memory 229 may incorporate electronic, magnetic, optical, and/or other types of storage media. The memory 229 can have a distributed architecture where various components are situated remote from one another, but can be accessed by the processor 227.
The software in memory 229 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. In the example of
The control system 230 may be a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When a source program, the program needs to be translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the memory 229, so as to operate properly in connection with the O/S 24. Furthermore, the control system 230 can be written as (a) an object oriented programming language, which has classes of data and methods, or (b) a procedure programming language, which has routines, subroutines, and/or functions, for example but not limited to, C, C++, Pascal, Basic, Fortran, Cobol, Perl, Java, and Ada. In one embodiment, the control system 230 is written in C++. The I/O devices 231 may include input devices, for example but not limited to, a keyboard, mouse, scanner, microphone, touch screens, interfaces for various medical devices, bar code readers, stylus, laser readers, radio-frequency device readers, etc. Furthermore, the I/O devices 231 may also include output devices, for example but not limited to, a printer, bar code printers, displays, etc. Finally, the I/O devices 231 may further include devices that communicate both inputs and outputs, for instance but not limited to, a modulator/demodulator (modem; for accessing another device, system, or network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, etc.
If the recording server 209 is a PC, workstation, PDA, or the like, the software in the memory 229 may further include a basic input output system (BIOS) (not shown in FIG. 4). The BIOS is a set of software routines that initialize and test hardware at startup, start the O/S 24, and support the transfer of data among the hardware devices. The BIOS is stored in ROM so that the BIOS can be executed when the recording server 209 is activated.
When the recording server 209 is in operation, the processor 227 is configured to execute software stored within the memory 229, to communicate data to and from the memory 229, and to generally control operations of the recording server 209 pursuant to the software. The control system 230 and the O/S 24, in whole or in part, but typically the latter, are read by the processor 227, perhaps buffered within the processor 227, and then executed.
When the control system 230 is implemented in software, as is shown in
In another embodiment, where the control system 230 is implemented in hardware, the control system 230 can be implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.
As noted above, the recording server 209 incorporates recording software 230 for recording and separating a signal based on the source address and/or destination address of the signal. The method utilized by the recording server 209 depends on the communication protocol utilized on the communication lines to which the recording server 209 is coupled. In the communication system contemplated by the present invention, the signal carrying audio data of a communication between at least two users may be an analog signal or a digital signal in the form of a network message. In one embodiment, the signal is an audio data transmitted according to a signaling protocol, for example the H.323 protocol described above.
An example of a communication between an outside caller and a call center agent utilizing the present system 200 is illustrated in
Similar to the process described above, when the call center agent speaks, their voice is digitized (if needed) and converted into digital data packet 235 according to the communication protocol utilized on the local network. The data packet 235 comprises a source address identifying the address of the call center agent, a destination address identifying the address of the outside caller, and second constituent audio data comprising at least a portion of the call center agent's voice. The data packet 235 is received by the local network interface 219 and translated from the communication protocol utilized on the local network to the communication protocol utilized on the PSTN 203. The conversion of data can be performed as described above. The data packet 235 is restored in appropriate form suitable for transmission through to either a connected telephone 211, 215 or a interface trunk 217 of the PSTN module 223, or a digital interface such as a T1 line or ISDN. In addition, digital data can be converted to analog data for transmission through the PSTN 203.
The recording server 209 receives either a data packet 235 comprising: the source address identifying the address of the outside caller, a destination address identifying the address of the call center agent, and the first constituent audio data comprising at least a portion of the outside callers voice; or a data packet 235 comprising a source address identifying the address of the call center agent, a destination address identifying the address of the outside caller, and second constituent audio data comprising at least a portion of the customer's agent voice. It is understood by one of ordinary skill in the art that the recording server 209 is programmed to identify the communication protocol utilized by the local network and extract the audio data within the data packet 235. In one embodiment, the recording server 209 can automatically identify the utilized communication protocol from a plurality of communication protocols. The plurality of communication protocols can be stored in local memory or accessed from a remote database.
The recording server 209 comprises recording software 230 to record the communication session between the outside caller and the call center agent in a single data file in a stereo format. The first data file 241 has at least a first audio track 237 and a second audio track 237. Once a telephone connection is established between an outside caller and a call center agent, the recording software 230 creates a first data file 241 to record the communication between the outside caller and the call center agent. It is contemplated that the entire communication session or a portion of the communication session can be recorded.
Upon receiving the data packet 235, the recording server 209 determines whether to record the audio data contained in the data packet 235 in either the first audio track 237 or the second audio track 239 of the first data file 241 as determined by the source address, destination address, and/or the audio data contained within the received data packet 235. In one embodiment, if the data packet 235 comprises a source address identifying the address of the outside caller, a destination address identifying the address of the call center agent, and first constituent audio data, the first constituent audio data is recorded on the first audio track 237 of the first data file 241. Similarly, if the data packet 235 comprises a source address identifying the address of the call center agent, a destination address identifying the address of the outside caller, and second constituent audio data, the second constituent audio data is recorded on the second audio track 239 of the first data file 241. It should be noted the first and second constituent audio data can be a digital or analog audio waveform or a textual translation of the digital or analog waveform. The recording process is repeated until the communication link between the outside caller and call center agent is terminated.
As noted above, the recording server 209 can be connected to the trunk lines of the PSTN 203 as seen in
As shown in
Further, as illustrated in
While the specific embodiments have been illustrated and described, numerous modifications come to mind without significantly departing from the spirit of the invention, and the scope of protection is only limited by the scope of the accompanying Claims.
The present invention relates to a concurrently filed application entitled “A Method And System For Analyzing Separated Voice Data Of A Telephonic Communication Between A Customer And A Contact Center By Applying A Psychological Behavioral Model Thereto”, Ser. No. ______, filed May 18, 2005 (Attorney Docket No. 4630 P 005) the contents of which are hereby incorporated by reference; concurrently filed application entitled “A Graphical User Interface For Interactive Display Of Data Resulting From Application Of A Psychological Behavioral Model To A Telephonic Communication Between A Customer And A Contact Center”, Ser. No. ______, filed May 18, 2005 (Attorney Docket No. 4630 P 006) the contents of which are hereby incorporated by reference; and, concurrently filed application Entitled “A Method And System For Analyzing Separated Voice Data Of A Telephonic Communication Between A Customer And A Contact Center By Applying A Psychological Behavioral Model Thereto”, Ser. No. ______, filed May 18, 2005 (Attorney Docket No. 4630 P 007) the contents of which are hereby incorporated by reference.