there is shown in fig1 a mobile communication device 10 , such as an iphone , a smartphone , an android , or a blackberry . the mobile communication device 10 may also include a cradle ( not shown ) or other physical mounting unit that supports the mobile communication device 10 in view of the user . this configuration allows the user to operate the mobile communication device 10 in an essentially hands - off and eyes - free mode . the mobile communication device 10 may include a software application 20 , in accordance with an exemplary embodiment of the present invention . the software application 20 functions in conjunction with a speech recognizer 38 to enable the user to listen to and interact with the mobile communication device 10 , as described in greater detail below . in an exemplary embodiment , the user may interact with the mobile communication device 10 by selectively glancing at a display screen 12 , listening to a speaker 14 in the mobile communication device 10 , and providing verbal prompts to a microphone 16 in the mobile communication device 10 . a typical mobile communication device may include one or more internal sensors to enhance functionality and provide additional features to the user . for example , the mobile communication device 10 may include one or more of : ( i ) a gps receiver 22 for receiving positioning signals from one or more gps satellites 18 , ( ii ) an ambient light sensor 24 for detecting ambient light conditions , ( iii ) a gyroscope 26 for detecting device rotation , ( iv ) a compass 28 for detecting device orientation , ( v ) an accelerometer 32 for detecting device movement , and ( vi ) a proximity sensor 34 for detecting the presence of nearby objects . the mobile communication device 10 may also include a built - in camera 36 for obtaining digital images and / or video . fig2 shows a message inbox listing 40 as may be displayed in the display screen 12 , as provided in step 52 of a flow diagram 50 shown in fig3 a and 3 b . in an exemplary embodiment , the software application 20 may function in conjunction with a text - to - speech ( tts ) engine 30 and the speaker 14 to audibly inform the user of : ( i ) the time of receipt , ( ii ) the sender , ( iii ) the message subject , and / or ( iv ) other header information , for an incoming e - mail message , or other received communication . the tts engine 30 and the speaker 14 thus operate in conjunction with a visual display on the display screen 12 , where the visual display uses teleprompter technology to provide a text display that is synchronized with the audio being generated by the tts engine 30 and emitted by the speaker 14 . the mobile communication device 10 may output , via the speaker 14 , an audio statement such as “ you have an unread message from peter miller , received at 8 : 15 am .” a microphone icon 42 may appear in the message inbox listing 40 , as shown in fig4 , to indicate that the software application 20 is ready to accept vocal instructions from the user . the mobile communication device 10 may also be directed by the user to “ read out loud ” the body of a selected message in the message inbox listing 40 , at decision block 54 . if the user has elected to have the selected message read , the tts engine 30 converts a portion of the message text to audible speech , at step 56 . the user may request that the software application 20 repeat the selected message , as decision block 58 . the process returns to step 56 and the selected message is repeated . otherwise , the user may decide whether to reply to the selected message , at decision block 60 . if so , the software application 20 records the user &# 39 ; s response , at step 62 , and sends the audio file to one or more recipients having addresses listed in the selected message . if the user elects to not respond to the selected message , at decision block 60 , the user may decide to delete the selected message , at decision block 64 . if not , the process moves to step 68 . if the message is deleted , at step 66 , the software application 20 queries the user whether to move to another message , at step 68 . the user may elect to move ahead to the next message , or to move back to the previous message , at step 70 . the process then returns to decision block 54 where the user may decide whether or not to read the currently - selected message . if the user decides to mark the current message as unread , at step 72 , the user may be queried by the software application 20 , at step 68 , as to whether another message is to be selected . if the user does not elect to have the message read , at decision block 54 , the user may be queried by the software application 20 , at step 68 , as to whether the current message is to be marked unread . if , and when , the user wishes to barge - in during any step of the process illustrated in the flow diagram 50 , the disclosed method provides innovative input mechanisms to enable the user to reliably barge - in when the user has intended a barge - in , and to avoid initiating a barge - in scenario when the user has not intended a barge - in . as used herein , the action of “ barge - in ” comprises the response of the mobile communication device 10 to pre - established criteria by : ( i ) pausing or halting the operation of the tts engine 30 and the scrolling visual display on the display screen 12 , and ( ii ) responding to a command issued by the user after the barge - in criteria have been met . in accordance with the disclosed method , when the user is accessing the mobile communication device 10 , the software application 20 may have been programmed to recognize that the user should be allowed to barge - in if the user executes a pre - specified “ triple action .” for example , the user 46 may tap the housing of the mobile communication device 10 three times ( i . e ., a “ triple - tap ”) within a pre - specified period of time , shown in fig5 . the accelerometer 32 may function to signal to the mobile communication device 10 via the software application 20 that the process illustrated in the flow diagram 50 is to be paused , and the software application 20 is to await a verbal input from the user 46 . this “ triple - tap ” may be an effective alternative to audible user - generated signals as described below , under circumstances where an audible signal might be difficult to detect , such as when there is loud background noise . alternatively , the user 46 may utter a series of three , substantially identical , audio signals , such as “ hey , hey , hey !” or “ stop , stop , stop .” or the user 46 may knock or rap three times on a convenient nearby percussive surface , such as a driver - side car window or a table top . such audio signals may be detected by the microphone 16 , and would signal to the mobile communication device 10 to pause audio output from the speaker 14 and await a verbal input from the user 46 . for example , a vehicle traveling over irregular and bumpy roads may transmit shocks to the accelerometer 32 . but those bumps in the road would be distinguishable from an intentional barge - in “ triple tap ” by the disclosed method , because the bumps in the road are unlikely to meet the time window , amplitude and regularity criteria required to initiate a barge - in . on the other hand , it is relatively easy for the user to meet these time window , amplitude and regularity criteria . these criteria mimic everyday human interactions , such as tapping another person on the shoulder for his or her attention , or knocking on a closed door to get the attention of another person on the other side , or speaking a phrase such as “ hey , hey , hey ” that is intended to interrupt another person who is speaking so as to make them stop speaking and listen . fig6 is a graph 80 showing a shock amplitude curve 82 as may be sensed by the accelerometer 32 in the mobile communication device 10 , in response to the three physical taps made by the user 46 . in the example provided , the software application 20 has been programmed to respond to a series of three pulses 84 , 86 , 88 , provided that : ( i ) the pulses each have a peak amplitude greater than a minimum detected level 92 , ( ii ) less than a maximum detected level 94 , and ( iii ) all three pulses 84 , 86 , 88 occur within a specified time window ( 1 . 5 seconds , in this example ). the parameters shown in fig6 are exemplary , and the software application 20 can be programmed to respond to a different number of pulses ( e . g ., user - provided taps or audio signals ), and / or where the shock amplitude curve 82 comprises amplitude and time interval parameters different from those shown in fig6 . for example , the specified time interval may range from about one second to about ten seconds . in an exemplary embodiment , for example , there may be an additional parameter specified such that the pulses 84 , 86 , 88 must be essentially evenly - spaced , or that each pulse 84 , 86 , 88 should occur within a specified time interval within pre - specified tolerances , within a total time interval of one to ten seconds . accordingly , the regularity of these criteria differentiates three such shocks or pulses from unintended shocks that are not issued by the user 46 as an intentional triple - tap barge - in command . when the software application 20 detects the three pulses 84 , 86 , 88 meeting these criteria , then the software application 20 may interrupt normal operation and may offer the user 46 an opportunity to issue a spoken command in the clear , thus successfully accomplishing barge - in . this can be shown with reference to a flow diagram 100 , in fig7 . the accelerometer 32 may detect a series of shocks that meet pre - specified criteria recognized by the software application 20 , at step 102 . in an exemplary embodiment , the accelerometer 32 is configured to sense movement in three orthogonal axes so as to detect various types of user taps that produce acceleration signals above pre - specified thresholds . if the detected shock or acceleration signal is not within the pre - specified amplitude parameters , at decision block 104 , the software application 20 continues the current process without providing for a barge - in by the user 46 , at step 106 , and the process returns to step 102 . if the accelerometer has not detected three sequential shocks or acceleration signals within the pre - specified time interval , at decision block 108 , the software application 20 continues the current process without providing for a barge - in by the user 46 , at step 110 , and the process returns to step 102 . if the detected shocks or acceleration signals are not substantially evenly spaced apart in the pre - specified time interval , at decision block 112 , the software application 20 continues the current process without providing for a barge - in by the user 46 , at step 114 , and the process returns to step 102 . otherwise , the tts 38 pauses in the current sequence of actions , at step 116 , and provides for a barge - in so as to allow the user to issue a command to the software application 20 . the process then returns to step 102 . as can be seen in fig6 , a first time interval — from pulse 84 to pulse 86 — is measured as 0 . 5 seconds , and a second time interval — from pulse 86 to pulse 88 — is measured as 0 . 6 seconds . hence , in the example provided , the second time interval is approximately 20 % larger than the first time interval . the software application 20 may consider a 20 per cent difference to qualify the series of three pulses 84 , 86 , 88 as being evenly - spaced under one set of criteria or , under another set of criteria , may consider the 20 % time interval differential too large to qualify as being evenly spaced . the concept of using any three sequential , substantially similar , audible sounds capable of being produced by the user 46 ( such as three finger snaps , three raps on the driver - side window , or the utterance of the phrase “ hey , hey , hey ”) provides for a reliable method and system , in that the software application 20 is programmed to recognize essentially any user - produced spoken or mechanical sound . the primary requirement for identification and detection by the software application 20 , is that the user - produced sound is repeated a specified number of times within a particular short period , such as three pulses within 1 . 5 seconds , as above . the method of using three or more sounds to effect a barge - in can be shown with reference to a flow diagram 120 , in fig8 . the microphone 16 and speech recognizer 38 may detect a series of audio signals or sound curves that exceed a pre - specified threshold known to the software application 20 , at step 122 . in an exemplary embodiment , the software application 20 may be configured to detect whether there is an identifiable similarity among each of three consecutive audio signals or sounds above pre - specified thresholds . this may occur , for example , when the user repeats a word or sound three or more times . if the detected audio signals or sound curves are not substantially similar , at decision block 124 , the software application 20 continues the current task without providing for a barge - in by the user 46 , at step 126 , and the process returns to step 122 . however , if the speech recognizer 38 does detect similarity , but the three similar audio signals or sound curves are not within a pre - specified time interval , at decision block 128 , the software application 20 continues the current task without providing for a barge - in by the user 46 , at step 130 , and the process returns to step 122 . if the detected audio signals or sound curves are similar and occur within a designated time interval , but are not spaced apart within specifications , at decision block 132 , the software application 20 continues the current task without providing for a barge - in by the user 46 , at step 134 , and the process returns to step 122 . otherwise , the tts 38 pauses the current text - to - speech audio output , at step 136 , and provides for a user barge - in . this pause in output allows for a user - issued command to be received and implemented by the software application 20 . the process then returns to step 122 . the software application 20 functions to detect three sounds within a specified period , such as one to ten seconds , and above a particular , pre - specified minimum volume , such as may be “ factory - set ” in the mobile communication device 10 , or selected by the user when “ setting preferences ” for the mobile communication device 10 . the software application 20 may assess that the three sounds are substantially evenly spaced , within a specified tolerance , and of similar sound signature to each other , within a specified tolerance . the regularity of these criteria differentiates three such sounds from unintended repeating sounds that are not issued by the user 46 as an intentional triple - tap barge - in command . when the software application 20 detects the three sounds meeting these criteria , then the software application 20 interrupts normal operation and offers the user an opportunity to issue a spoken command in the clear , thus successfully accomplishing barge - in . as can be appreciated by one skilled in the current state of the art , voice recognition software has limited accuracy , as noted above . if a user wanted to use an audio signal to effect barging - in under existing technologies and systems , the detection system would need to recognize an expected utterance or spoken phrase using a speech recognizer ( e . g ., “ please pause , system ” or “ operator ”). however , as conventional speech recognizers are limited in their accuracy under the best of conditions , and may be even more limited under challenging acoustic conditions , such as : ( i ) operation inside a moving automobile with the user employing a hands - free speakerphone system , and ( ii ) when the operating conditions include ambient road noise . however , by using the disclosed method , the software application 20 need only identify three candidate sounds as being essentially identical , that is , having essentially the same audio signature or sound curve . this type of pattern matching computation is far simpler and far more accurate than the computational task of a modern speech recognizer that must identify and differentiate phonemes uttered by a range of different speakers with different vocal characteristics . this innovation makes the computational task easier still because the three candidate sounds may comprise user - spoken utterances , or simple sounds with simple sound curves , such as a finger snap . such simple sound curves can be measured and compared in a straightforward manner , such as by using an appropriate software program . by contrast , user - spoken utterances such as “ please pause , system ,” are typically more complex than simple sound curves , and vary from speaker to speaker . indeed , spoken utterances are actually more successful when they contain multiple syllables and linguistic differentiators such as various consonants , vowels and phonemes . speech recognition has difficulty differentiating between simple monosyllabic utterances such as “ yes ” vs . “ no .” accordingly , the present method offers the advantage that the user does not require training with the software application 20 — unlike some conventional speech recognizers which require the user to recite a pre - specified script in order to “ train ” the speech recognition system to learn each speaker &# 39 ; s voice and the speaker &# 39 ; s idiosyncratic vocal characteristics . a further advantage of the disclosed method is that the software application 20 does not require special recognition of specific sounds ( certain phonemes , vowels or consonants , for instance ), as most conventional speech recognizers must do . accordingly , the disclosed method can match essentially any three sounds provided to the microphone 16 , as long as the three sounds provided are substantially similar . a further advantage of the present method is that the relatively simpler computational tasks may be accomplished directly on a mobile device , without requiring that the audio signals be transmitted over a cell data network to a more powerful cloud - based computing system . in addition to “ reading ” e - mail messages , the software application 20 may further provide to the user dynamic text - based information such as , for example , any one or more of : ( i ) news headlines , ( ii ) sms text messages , ( iii ) web browsing , ( iv ) web logs ( blogs ), ( v ) the user &# 39 ; s calendar , ( vi ) the user &# 39 ; s “ to - do ” list , ( vii ) one or more files attached to a message , ( viii ) a weather report , ( ix ) a web - based article . in an exemplary embodiment , the software application 20 may be downloaded into the mobile communication device 10 for a nominal fee , or may be provided at no charge . the software application 20 may function to provide one or more audible advertisements , after one or more messages have been read aloud to the user , to offset the cost of having installed the software application 20 . while primarily described with respect to the playback of messages on mobile devices , the techniques and systems described herein may be implemented on virtually any device . for example , the device may be a television , computer , radio , vehicle , toy , console or product on which a software application may be installed or embedded . the “ interruption ” of the application and / or operation of the device may trigger additional functions ( starting or stopping an application , presenting alternative media , etc . ), or prompt the user for subsequent commands to further process messages or media being presented on the device . the software application 20 may be implemented on hardware such as a smart or dumb terminal , network computer , personal digital assistant , wireless device , smartphone , tablet , television , gaming device , music player , mobile telephone , laptop , palmtop , wireless telephone , information appliance , workstation , minicomputer , mainframe computer , or other computing device , that is operated as a general purpose computer or a special purpose hardware device that can execute the functionality described herein . the software application 20 may be implemented on a general purpose computing device in the form of a computer including a processing unit , a system memory , and a system bus that couples various system components including the system memory to the processing unit . the described systems may include a plurality of software processing modules stored in a memory and executed on a processor in the manner described herein . the program modules may be in the form of any or more suitable programming languages , which are converted to machine language or object code to allow the processor or processors to read the instructions . the software may be in the form of a standalone application , implemented in any suitable programming language or framework . method steps of the techniques described herein can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output . method steps can also be performed by , and apparatus of the invention can be implemented as , special purpose logic circuitry , e . g ., an fpga ( field programmable gate array ) or an asic ( application - specific integrated circuit ). modules can refer to portions of the computer program and / or the processor / special circuitry that implements that functionality . processors suitable for the execution of a computer program include , by way of example , both general and special purpose microprocessors , and any one or more processors of any kind of digital computer . generally , a processor will receive instructions and data from a read - only memory or a random access memory or both . the essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data . information carriers suitable for embodying computer program instructions and data include all forms of non - volatile memory , including by way of example semiconductor memory devices , e . g ., eprom , eeprom , and flash memory devices ; magnetic disks , e . g ., internal hard disks or removable disks ; magneto - optical disks ; and cd - rom and dvd - rom disks . one or more memories may store media assets ( e . g ., audio , video , graphics , interface elements , and / or other media files ), configuration files , and / or instructions that , when executed by a processor , form the modules , engines , and other components described herein and perform the functionality associated with the components . the processor and the memory can be supplemented by , or incorporated in special purpose logic circuitry . in various embodiments , the devices include a web browser , client application software , or both . the web browser allows the client to request a web page or other downloadable program , applet , or document ( e . g ., from the server ( s )) with a web page request . one example of a web page is a data file that includes computer executable or interpretable information , graphics , sound , text , and / or video , that can be displayed , executed , played , processed , streamed , and / or stored and that can contain links , or pointers , to other web pages . in one embodiment , a user of the client manually requests a web page from the server . alternatively , the device automatically makes requests with the web browser . examples of commercially available web browser software are microsoft ® internet explorer ®, mozilla ® firefox ®, and apple ® safari ®. in some embodiments , the devices include client application software . the client application software provides functionality to the device that provides for the implementation and execution of the features described herein . the client application software may be implemented in various forms , for example , it may be in the form of a web page , widget , and / or java , javascript , . net , silverlight , c ++, c , flash , and / or other applet or plug - in that is downloaded to the device and runs in conjunction with the web browser . the client application software and the web browser may be part of a single client - server interface ; for example , the client software can be implemented as a “ plug - in ” to the web browser or to another framework or operating system . any other suitable client software architecture , including but not limited to widget frameworks and applet technology may also be employed with the client software . a communications network may connect the devices with one or more servers and / or with each other . the communication may take place via any media such as standard telephone lines , lan or wan links ( e . g ., t1 , t3 , 56kb , x . 25 ), broadband connections ( isdn , frame relay , atm ), wireless links ( 802 . 11 , bluetooth , gsm , cdma , etc . ), and so on . the network may carry tcp / ip protocol communications , and http / https requests made by a web browser , and the connection between the clients and servers can be communicated over such tcp / ip networks . the type of network is not a limitation , however , and any suitable network may be used . it should also be noted that embodiments of the present invention may be provided as one or more computer - readable programs embodied on or in one or more articles of manufacture . the article of manufacture may be any suitable hardware apparatus , such as , for example , a floppy disk , a hard disk , a cd - rom , a cd - rw , a cd - r , a dvd - rom , a dvd - rw , a dvd - r , a flash memory card , a prom , a ram , a rom , or a magnetic tape . in general , the computer - readable programs may be implemented in any programming language . the software programs may be further translated into machine language or virtual machine instructions and stored in a program file in that form . the program file may then be stored on or in one or more of the articles of manufacture . in other cases the invention may take the form of a downloadable application made available in either a public or private application platform . certain embodiments of the present invention were described above . it is , however , expressly noted that the present invention is not limited to those embodiments , but rather the intention is that additions and modifications to what was expressly described herein are also included within the scope of the invention . moreover , it is to be understood that the features of the various embodiments described herein were not mutually exclusive and can exist in various combinations and permutations , even if such combinations or permutations were not made express herein , without departing from the spirit and scope of the invention . in fact , variations , modifications , and other implementations of what was described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention . as such , the invention is not to be defined only by the preceding illustrative description .