Embodiments of the invention relate in general to software applications for use on computers and more particularly to a software application for controlling the sound of a plurality of applications running on a computer.
Currently, when a user connects to an application generating sound there are two results. If the user has only one audio output device, and a basic sound card, the latest application opened by the user plays. If the user has multiple output devices (e.g., computer speakers, television speakers, iPod®, etc.), and/or a sound card enabling multiple output channels, all applications will play simultaneously, and the user must go into each application to selectively mute the applications. This can be a time consuming process, especially when the last connected application is a priority application. For example, a user that is listening to music on an iPod®, playing a video game using television audio, and watching a YouTube® video on a computer, might receive an important Skype® call. To answer the call, and mute all other applications, the user would need to go into each application to adjust the volume or mute the application, which could cause the user to miss the Skype® call. Alternatively, the user can answer the call, but the caller would know what the user was listening to and/or watching when the call was received. Moreover, if the user wished to speak with the caller without listening to the applications, the caller would have to hold or wait for the user to mute same.
In other situations, a user may wish to listen to two or more audio streams simultaneously (e.g., to compare sound quality of the audio streams, determine whether tracks have been edited, etc.). In such situations, the user would need to switch between audio applications to selectively mute or adjust the volume for the tracks. This process could cause the user to miss important differences between the tracks.
A need exists for a method and system that solves the issues identified above.
One embodiment of the invention is a computer for allowing a user to selectively mute one or more computer applications. In some embodiments, the computer comprises a computer display and a tangible non-transitory computer memory, the computer memory having stored thereon a plurality of computer instruction performing a process of creating a menu of computer applications running on the computer and a process of allowing the user to select from the menu of applications a particular application to mute. The instructions include the steps of determining whether an application running on the computer is generating a sound signal; responsive to determining whether an application is generating a sound signal, adding the application to a list of applications that are generating sound signals; and creating a menu from the list for viewing by the user on the computer display, the menu including at least one of a name of the application and a mute icon.
Another embodiment of the invention is a computer program product comprised of a series of instructions executable on a computer. In some embodiments, the computer program product performs a process of creating a menu of computer applications running on the computer and a process of allowing the user to select from the menu of applications a particular application to mute. Such instructions may include the steps of determining whether an application running on the computer is generating a sound signal; responsive to determining whether an application is generating a sound signal, adding the application to a list of applications that are generating signals; and creating a menu from the list for viewing by the user on the computer display, the menu including at least one of a name of the application and a mute icon.
Another embodiment of the invention is a computer-implemented method comprised of a series of instructions that cause a computer to perform a process of creating a menu of computer applications running on the computer and a process of allowing the user to select from the menu of applications a particular application to mute. In some embodiments, the instructions include the steps of determining whether an application running on the computer is generating a sound signal; responsive to determining whether an application is generating a sound signal, adding the application to a list of applications that are generating sound signals; and creating a menu from the list for viewing by the user on the computer display, the menu including at least one of a name of the application and a mute icon.
So that the features and advantages of the invention may be understood in more detail, a more particular description of the invention briefly summarized above may be had by reference to the appended drawings, which form a part of this specification. It is to be noted, however, that the drawings illustrate only various embodiments of the invention and are therefore not to be considered limiting of the invention's scope as it may include other effective embodiments as well.
To address the need set forth above, according to one aspect, the invention includes a user computer, a computer display, a computer network and audio listening devices.
More specifically, as can be seen in
As previously mentioned, the user computer 102 is connected to the communications network 106 (e.g., to receive internet based video content or audio files). The communications network 106 may be a single communications network or comprised of several different communications networks. As such, communications network 106 can be a public or private network (e.g., which may be any combination of the internet and intranet systems that allow a user to interact with the computer program described herein). For example, communications network 106 can connect the user computer 102 to the internet and/or file server (not shown) using a local area network (“LAN”) (e.g., Ethernet or WI-FI), or wide area network (“WAN”) (e.g., LAN to LAN via internet tunneling, or a combination thereof), and using electrical cable (e.g., HomePNA or power line communication), optical fiber, and radio waves (e.g., wireless LAN, to transmit data). As one skilled in the art will appreciate, in some embodiments, the user computer 102 may be networked with the computer display 104 using a LAN for a university, home, apartment building, etc.(e.g., in embodiments where the user computer is a file server storing the application described herein). In other instances, the user computer 102 can include display 104 in the same housing (e.g., a laptop or iPad®. Still in other implementations, a user may connect to the user computer (e.g., via a separate device connected to a wireless LAN and the internet such as a system where the application described herein operates on a hosted website). Moreover, the term “communications network” is not limited to a single communications network system, but may also refer to separate, individual communications networks (e.g., those used to connect the user computer 102 to display 104 and the user computer 102 to the internet). Accordingly, though the user computer 102 is depicted as connected to a single communications network, such as the internet, an implementation of the communications network 106 using a combination of communications networks is within the scope of the invention.
As one skilled in the art will appreciate, the communications network may interface with the user computer 102 via a firewall (not shown) and web server (not shown) to provide a secure access point to the internet for the user 101. In some embodiments, the firewall may be a network layer firewall i.e., packet filters, application level firewalls, or proxy servers. In other words, in some embodiments, a packet filter firewall can be used to block traffic from particular source IP [global comment: introduce term before using acronym] addresses, source ports, destination IP addresses or ports, or destination service like www or FTP, though a packet filter in this instance would most likely block certain source IP addresses. In other embodiments, an application layer firewall may be used to intercept all packets traveling to or from the system, and may be used to prevent certain access to the network. Still, in other embodiments, a proxy server may act as a firewall by responding to some input packets and blocking other packets.
Returning to
Returning to
As can be seen, the I/O device 108 is connected to the processor 110. Processor 110 is the “brains” of the user computer 102, and as such executes program product 114 and works in conjunction with the I/O device 108 to direct data to memory 112 and to send data from memory 112 to the various file servers and communications network. Processor 110 can be any commercially available processor, or plurality of processors, adapted for use in an user computer 102 (e.g., Intel® Xeon® multicore processors, Intel® micro-architecture Nehalem, AMD Opteron™ multicore processors, etc.) and may include a sound card as an integrated device thereon to receive digital files from memory and convert same to analog files for output by the speaker devices. Alternatively, sound card 109 can be an external card connected to the processor via and expansion slot and PCI bus as described above. Preferably, sound card 109 is capable of outputting several channels of audio signals by converting digital signals to polyphonic output. As one skilled in the art will appreciate, such a sound card may integrate its own drivers, or may use drivers associated with the processor to generate audio output.
Memory 112 may store the algorithms forming the computer instructions of the instant invention and data, and such memory 112 may consist of both non-volatile memory (e.g., hard disks, flash memory, optical disks, and the like) and volatile memory (e.g., SRAM, DRAM, SDRAM, etc.) as required by embodiments of the instant invention. As one skilled in the art will appreciate, though memory 112 is depicted on (e.g., the motherboard) of the user computer 102, memory 112 may also be a separate component or device (e.g., FLASH memory or other storage) connected to the user computer 102.
As shown in
An exemplary embodiment of the computer program flow for processes implementing the sound module 202, the menu module 204, and the volume module 206 will now be discussed with reference to
Turning to
In step 306, the program adds any application that is outputting an audio signal to a list of applications generating a sound. As one skilled in the art will recognize, in some embodiments, an application may be added to the list once it is determined the application is a new application generating a sound and concurrently remove all applications from the list that are no longer generating a sound, (e.g., at every instantiation of a new application or of the computer program). In other embodiments, the user may have the option to refresh a list of applications if the computer program has been previously initiated, and in some embodiments, the computer program may refresh a list of applications generating a sound at particular time intervals, such as every five minutes, to determine which applications are outputting signals to the sound card, etc.
Moreover, in some embodiments, the instructions could include determining the applications running on the computer that could generate an audio signal (e.g., Internet Explorer® or other web browsers, Skype®, Media Player, audio players, video players, hardware devices connected to the USB, IP communicator or other type of telephone system, games, etc.), and highlighting those currently running when the program product is initiated to generate the list. In some embodiments, the list may be ranked by determining which applications are higher priority than other applications, and automatically muting all applications of low priority. In other embodiments, the list may appear to the user before an application is muted. For example, if a user has Skype® as a priority application in the computer program, all application generating sound may automatically mute when a Skype® call is received, or alternatively, the user may see a “pop up” on their computer screen asking the user if they would like all applications muted. Accordingly, in such embodiments, the list function described above would also include a compare instruction to compare the list of applications generating a sound to a rank list of applications for sound priority. In other embodiments, the user may provide the ranking with a preferred speaker device. For example, the user may set audio for video games to be output from surround sound speakers connected to a television, iPod® music to be output from the iPod® speaker, YouTube videos to be output from a user port defining headphones, a Skype® call to be output using desktop or laptop speakers, etc. In such embodiments, the ranking system may selectively mute only applications that are competing for the same device, such as a Skype® call and a streaming video presentation requesting to use a channel dedicated to the computer monitor's audio. Moreover, in other embodiments, applications can be grouped together for selective mute. For example, if a user receives a Skype® call, and would like to mute all applications except Media Player so that the user and caller can review the same video, the user can group the remaining applications for selective muting, either automatically or manually. As one skilled in the art will appreciate, in any of these embodiments, the list and/or rank list is maintained in memory for retrieval and updates by the system. In step 308, the process ends.
Turning to
Turning to
Turning to
As one skilled in the art will further appreciate, the display page of
Moreover, in the drawings and specification, there have been disclosed a typical preferred embodiment of the invention, and although specific terms are employed, the terms are used in a descriptive sense only and not for purposes of limitation. The invention has been described in considerable detail with specific reference to these illustrated embodiments. It will be apparent, however, that various modifications and changes can be made within the spirit and scope of the invention as described in the foregoing specification, and such modifications and changes are to be considered equivalents and part of this disclosure.