Methods and apparatuses for determining intended speech
By using bidirectional pressure values from breathing patterns and acoustic signals, the method and apparatus facilitate accurate and rapid determination of intended speech, addressing limitations in existing speech-impaired communication technologies.
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- LOUGHBOROUGH UNIV
- Filing Date
- 2023-09-26
- Publication Date
- 2026-05-20
AI Technical Summary
Existing methods for determining intended speech in speech-impaired individuals are limited, especially for those with severe impairments, and there is a lack of investigation into how breathing patterns can be linked to intended speech to facilitate communication.
A method and apparatus that utilize bidirectional pressure values from inhalations and exhalations to generate breathing signals, which are matched to pre-stored speech patterns using a machine learning algorithm, and corroborated with acoustic signals to determine intended speech.
Enables accurate and rapid determination of intended speech by analyzing breathing patterns, allowing speech-impaired individuals to communicate effectively through non-speech means.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Field of Invention The present disclosure relates to methods and apparatuses for determining intended speech through non-speech breathing patterns. Background For people who are speech-impaired, either partially or fully, conveying intended speech can be time-consuming and difficult. Existing approaches may make use of specialised acoustic sound detection in order to deduce parts of speech and from this determine intended speech, but such methods have limitations for users with more severe speech impairment. While studies of breathing patterns have been conducted, there has been little study into how such patterns can be linked to intended speech, and specifically how a person’s breathing patterns change as they attempt to speak. Additionally, until now there has been little investigation into how combining information from breathing patterns and acoustics of a person can be used to determine intended speech. The present invention aims to solve these problems, among others. Summary Aspects of the disclosure are set out in the independent claims and optional features are set out in the dependent claims. Aspects of the disclosure may be provided in conjunction with each other and features of one aspect may be applied to other aspects. An aspect of the disclosure provides a method of determining intended speech through non-speech breathing patterns, the method comprising: obtaining bidirectional pressure values of airflow generated by inhalations and exhalations of a user; generating breathing signals based on the obtained bidirectional pressure values; and matching the generated breathing signals to pre-stored portions of speech based on a set of pre-stored breathing signals, wherein each of the set of pre-stored breathing signals maps to one of the prestored portions of speech. Additionally, obtaining bidirectional pressure values may comprise: receiving the airflow from the user; and determining, by a bidirectional pressure sensor, the bidirectional pressure values of the airflow. Additionally, receiving airflow may comprise focusing, by an air collimation unit, the airflow towards a focal point of the air collimation unit. This may help to ensure that as much airflow as possible can be used to obtain bidirectional pressure values. Additionally, obtaining the bidirectional pressure values may further comprise sending the bidirectional pressure values to a microcontroller and generating the breathing signals may comprise generating, by the microcontroller, the breathing signals based on the obtained bidirectional pressure values. Additionally, the set of pre-stored breathing signals may comprise a matrix of pre-stored breathing signals mapped to pre-stored portions of speech. Additionally, each of the generated breathing signals may comprise a generated bidirectional pressure profile over a predetermined time window, the generated bidirectional pressure profile comprising bidirectional pressure values obtained within the predetermined time window and showing changes in bidirectional pressure across the duration of the predetermined time window; and each of the set of pre-stored breathing signals may comprise a pre-stored bidirectional pressure profile. This may enable an easier comparison between the generated breathing signals and the pre-stored breathing signals. Additionally, generating the breathing signals may comprise generating bidirectional pressure profiles from the bidirectional pressure values obtained within the predetermined time window. Additionally, matching the generated breathing signals to pre-stored portions of speech may comprise: comparing each generated bidirectional pressure profile to the pre-stored bidirectional pressure profiles; determining, for each generated bidirectional pressure profile, the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches; calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is within a predetermined threshold range; selecting the determined pre-stored bidirectional pressure profile if the degree of overlap is within the predetermined threshold range; and selecting the portion of speech to which the selected pre-stored bidirectional pressure profile maps. This may help to ensure accuracy when matching the signals to portions of speech. Additionally, determining the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches may comprise, for each generated bidirectional pressure profile: comparing a shape of the generated bidirectional pressure profile with shapes of the pre-stored bidirectional pressure profiles; and selecting the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile. Additionally, comparing the shape may comprise matching portions of the generated bidirectional pressure profile with corresponding portions of the pre-stored bidirectional pressure profiles in discrete windows or in a rolling time window, and the degree of overlap may calculated based on the number of portions of the generated bidirectional pressure value that match with the determined pre-stored bidirectional pressure profile. Additionally, each of the pre-stored portions of speech may comprise text, the text relating to a word, a phrase or a complete sentence, and the method may further comprise outputting the text corresponding to the selected portion of speech, and outputting the text may comprise outputting the text through a speaker so as to recreate the voice of the user, or displaying the text on a screen. This may help a user to communicate their intended speech. Additionally, the method may further comprise: generating audio signals based on sounds produced by the user; and corroborating the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps using the audio signals, wherein the corroborating may comprise: retrieving pre-stored audio signals that map to the selected portions of speech and calculating whether a degree of overlap between the generated audio signals and the retrieved pre-stored audio signals is within a predetermined threshold range. Additionally, the matching of the generated breathing signals to pre-stored portions of speech may be performed by a machine learning algorithm. This may enable a more rapid determination of intended speech. Another aspect of the disclosure provides a method of determining intended speech through non-speech breathing patterns, the method comprising: obtaining bidirectional pressure values of airflow generated by inhalations and exhalations of a user; obtaining audio signals from sounds generated by the user; and determining a portion of speech based on the obtained bidirectional pressure values and obtained audio signals. Additionally, determining a portion of speech based on the obtained bidirectional pressure values and obtained signals may further comprise: generating bidirectional pressure profiles over predetermined time windows based on the obtained bidirectional pressure values, each generated bidirectional pressure profile comprising all bidirectional pressure values obtained within the predetermined time window and showing changes in bidirectional pressure across the duration of the predetermined time window; and matching the generated bidirectional pressure profiles to pre-stored portions of speech based on a set of pre-stored bidirectional pressure profiles, wherein each of the set of prestored bidirectional pressure profiles maps to one of the pre-stored portions of speech. Additionally, matching the generated bidirectional pressure profiles may comprise: comparing each generated bidirectional pressure profile to the pre-stored bidirectional pressure profiles; determining, for each generated bidirectional pressure profile, the prestored bidirectional pressure profile to which the generated bidirectional profile most closely matches; calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional profile is within a predetermined threshold range; and selecting the determined pre-stored bidirectional pressure profile if the obtained value is within the predetermined threshold range; and selecting the portion of speech to which the selected pre-stored bidirectional pressure profile maps. Additionally, determining the pre-stored bidirectional pressure profile to which the obtained bidirectional pressure profile most closely matches may comprise, for each obtained bidirectional pressure profile: comparing a shape of the obtained bidirectional pressure profile with shapes of the pre-stored bidirectional pressure profiles; and selecting the prestored bidirectional pressure profile whose shape is closest to the shape of the obtained bidirectional pressure profile. Additionally, comparing the shape may comprise matching portions of the obtained bidirectional pressure profile with corresponding portions of the pre-stored bidirectional pressure profiles in discrete windows or in a rolling time window and wherein the degree of overlap is calculated based on the number of portions of the obtained bidirectional pressure value that match with the determined pre-stored bidirectional pressure profile. Additionally, the method may further comprise corroborating the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps using the obtained audio signals, wherein the corroborating may comprise: retrieving pre-stored audio signals that map to the selected portions of speech; and calculating whether a degree of overlap between the obtained audio signals and the retrieved pre-stored audio signals is within a predetermined threshold range. This may help to ensure greater accuracy in determining intended speech. Additionally, each of the pre-stored portions of speech may comprise text, the text relating to a word, a phrase or a complete sentence, and the method may further comprise outputting the text corresponding to the selected portion of speech, wherein outputting the text may comprise outputting the text verbally through a speaker so as to recreate the voice of the user, or displaying the text on a screen. This may help a user to communicate their intended speech. Additionally, the determining of the portion of speech may be performed by a machine learning algorithm. This may enable a more rapid determination of intended speech. Another aspect of the disclosure provides an apparatus for generating breathing signals through non-speech breathing patterns, the apparatus comprising: an air collimation unit configured to receive airflow from inhalations and exhalations of a user, the air collimation unit comprising a parabolic shell for focusing the airflow towards a focal point; a sensing module, the sensing module comprising a bidirectional pressure sensor for determining bidirectional pressure values of the airflow; and a microcontroller configured to generate breathing signals based on the bidirectional pressure values. Additionally, the bidirectional pressure sensor may be located proximal to a base section of the parabolic shell and at least a portion of the sensing module may be integrated within the parabolic shell. This means that the bidirectional pressure sensor may be as close as possible to the focal point, thus ensuring that as much airflow as possible can be used to generate breathing signals. Furthermore, this arrangement helps to make the apparatus more compact. Additionally, the apparatus may further comprise an inlet extending from the bidirectional pressure sensor to the focal point of the air collimation unit, the inlet configured to guide the airflow from the focal point to the bidirectional pressure sensor, the inlet having an opening located at the focal point. Additionally, the bidirectional pressure sensor may be configured to detect bidirectional pressure values between 500Pa and -500Pa within the frequency range of 0-20Hz. This enables a wide range of pressures to be detected, which may lead to more accurate results. Additionally, the sensing module may further comprise an acoustic sensing unit configured to detect sounds produced by the user and convert the sounds into audio signals, the acoustic sensing unit comprising a MEMS microphone configured to detect sounds within the frequency range of 20Hz-20kHz. This may be used to help corroborate any determinations made with regard to bidirectional pressure. Additionally, the air collimation unit may further comprise a parabolic cap directly opposing and positioned on top of the parabolic shell, the parabolic cap coupled to the parabolic shell so as to define an internal volume of the apparatus, the parabolic cap comprising an aperture for receiving the airflow and sounds from the user. This may help to focus the airflow towards the bidirectional pressure sensor. Additionally, the apparatus may further comprise a power supply, such as a battery, the power supply configured to power the sensing module and the microcontroller. This may enable the apparatus to be portable. Additionally, the apparatus may further comprise a wearable headpiece connected to the air collimation unit by a flexible arm, wherein the headpiece and flexible arm are adapted to position the air collimation unit in front of a mouth of the user. This may make the apparatus easier to use. Another aspect of the disclosure provides a system for determining intended speech through non-speech breathing patterns, the system comprising: the apparatus as set out above; and a computer configured to match the generated breathing signals to pre-stored portions of speech based on a set of pre-stored breathing signals, wherein each of the set of pre-stored breathing signals maps to one of the pre-stored portions of speech. Another aspect of the disclosure provides a method of determining intended speech through non-speech breathing patterns, the method performed by a machine learning algorithm and comprising the steps of: obtaining bidirectional pressure values of airflow from a user and contemporaneous audio signals from sounds generated by the user; generating bidirectional pressure profiles over predetermined time windows based on the obtained bidirectional pressure values, each generated bidirectional pressure profile comprising all bidirectional pressure values obtained within the predetermined time window and showing changes in bidirectional pressure across the duration of the predetermined time window; performing pattern recognition on the generated bidirectional pressure profiles to match the obtained bidirectional pressure profiles to pre-stored portions of speech based on a set of pre-stored bidirectional pressure profiles, wherein each of the set of pre-stored bidirectional pressure profiles maps to one of the pre-stored portions of speech and wherein each of the pre-stored portions of speech comprises text, the text relating to a word, a phrase or a complete sentence; performing pattern recognition on the obtained audio signals to corroborate the matching of the obtained bidirectional pressure profiles to the pre-stored portions of speech; and if the pattern recognition performed on the obtained audio signals corroborates the matching of the generated bidirectional pressure profiles to the pre-stored portions of speech, outputting the text corresponding to the pre-stored portions of speech to which the obtained bidirectional pressure profiles match. Additionally, performing pattern recognition on the obtained bidirectional pressure values may comprise: comparing each generated bidirectional pressure profile to the pre-stored bidirectional pressure profiles; determining, for each generated bidirectional pressure profile, the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches; calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the generated bidirectional pressure value and the determined pre-stored bidirectional pressure profile is within a predetermined threshold range; and selecting the determined pre-stored bidirectional pressure profile if the degree of overlap is within the predetermined threshold range. Additionally, performing pattern recognition on the obtained audio signals to corroborate the matching of the obtained bidirectional pressure profiles to the pre-stored portions of speech may comprise: retrieving pre-stored audio signals that map to the selected portions of speech; and calculating whether a degree of overlap between the obtained audio signals and the retrieved pre-stored audio signals is within a predetermined threshold range. Another aspect of the disclosure provides a method of training a machine learning algorithm, the method comprising: obtaining bidirectional pressure values of airflow from a user and contemporaneous audio signals from sounds generated by the user; generating bidirectional pressure profiles over predetermined time windows based on the obtained bidirectional pressure values, each generated bidirectional pressure profile comprising all bidirectional pressure values obtained within the predetermined time window and showing changes in bidirectional pressure across the duration of the predetermined time window; assigning each of the generated bidirectional pressure profiles and obtained audio signals to particular portions of speech, the portions of speech comprising text, the text relating to a word, a phrase or a complete sentence; and storing the generated bidirectional pressure profiles, the obtained audio signals and the assigned portions of speech, such that future obtaining of similar bidirectional pressure profiles and audio signals enables the machine learning algorithm to match the similar bidirectional pressure profiles and audio signals to the assigned portions of speech. Figures Embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings. Figure 1A shows a cross-sectional side view of an apparatus for generating breathing signals through non-speech breathing patterns in accordance with the present invention. Figure 1B shows a top view of the apparatus of Figure 1A in accordance with the present invention. Figure 1C shows a cross-sectional side view of a parabolic shell of the apparatus of Figures 1A-B in accordance with the present invention. Figure 1D shows a cross-sectional side view of a parabolic shell of the apparatus of Figures 1A-B in accordance with the present invention. Figure 1E shows a cross-sectional side view of a parabolic shell of the apparatus of Figures 1A-B in accordance with the present invention. Figure 1F shows a cross-sectional side view of a parabolic cap of the apparatus of Figures 1A-B in accordance with the present invention. Figure 2 shows a flow chart describing a method of determining intended speech through non-speech breathing patterns in accordance with the present invention. Figure 3 shows a flow chart describing another method of determining intended speech through non-speech breathing patterns in accordance with the present invention. Figure 4 shows a flow chart describing a method of determining intended speech through non-speech breathing patterns by a machine learning algorithm and a method of training a machine learning algorithm to determine intended speech through non-speech breathing patterns, in accordance with the present invention. Detailed Description Figures 1A-B show different views of an apparatus 100 for generating breathing signals through non-speech breathing patterns. Specifically, Figure 1A shows a cross-sectional side view of the apparatus and Figure 1B shows a top view of the apparatus 100. The apparatus 100 may comprise an air collimation unit 101. The air collimation unit 101 may comprise a parabolic shell 102 and a parabolic cap 103. The parabolic shell 102 may function as a base of the air collimation unit 101 and the parabolic cap 103 may function as a top of the air collimation unit 101. The parabolic shell 102 may be of a paraboloid shape. Specifically, the parabolic shell 102 may be of a circular paraboloid shape, although it should be appreciated that other types of paraboloid, such as elliptic paraboloid, may also be possible. In this way, a crosssectional side view of the parabolic shell 102 shows a parabolic curve, with a vertex at the point where the curve intersects its own line of symmetry. The shape of the parabolic shell 102 means that it can be said to have a concave side and a convex side. The convex side may representan outer surface 104 of the parabolic shell 102 and the concave side may representan inner surface 105 of the parabolic shell 102. The inner surface 105 of the parabolic shell 102 may define an internal volume enclosed by the parabolic shell 102. The parabolic shell 102 may have a thickness chosen to strike a balance between structural integrity and lightness, such that a user can support the apparatus 100 with ease. The parabolic shell 102 may comprise a plastic material, although it should be appreciated that other materials may be possible. As can be seen in Figure 1A, the parabolic shell 102 is arranged such that its widest point is at the top, whereas its narrowest point (i.e. the vertex) is at the bottom. In this way, the vertex of the parabolic shell 102 functions as a base of the air collimation unit 101 as a whole. The parabolic shell 102 may have a focal point Fi at a particular distance from the base of the parabolic shell 102 along the central longitudinal axis. The dimensions of the parabolic shell 102 (specifically the width and depth) may be chosen such that the focal point Fi is positioned outside of the air collimation unit 101. Further details of the mathematical nature of the shape of the parabolic shell 102, and the positioning of the focal point Fi, will be provided with reference to Figures 1C-F. The parabolic cap 103 may also be of a paraboloid shape. Specifically, the parabolic cap 103 may be of a circular paraboloid shape, although it should be appreciated that other types of paraboloid, such as elliptic paraboloid, may also be possible. In this way, a crosssectional side view of the parabolic cap 103 shows a parabolic curve, with a vertex at the point where the curve intersects its own line of symmetry. The shape of the parabolic cap 103 means that it can be said to have a concave side and a convex side. The convex side may represent an outer surface 106 of the parabolic cap 103 and the concave side may represent an inner surface 107 of the parabolic cap 103. The inner surface 107 of the parabolic cap 103 may define an internal volume enclosed by the parabolic cap 103. The parabolic cap 103 may have a thickness chosen to strike a balance between structural integrity and lightness, such that a user can support the apparatus 100 with ease. Preferably, the thickness of the parabolic cap 103 is substantially equal to the thickness of the parabolic shell 102. The parabolic cap 103 may comprise a plastic material, although it should be appreciated that other materials may be possible. Preferably, the parabolic cap 103 comprises the same material as the parabolic shell 102. As can be seen in Figure 1A, the parabolic cap 103 is arranged such that its widest point is at the bottom, whereas its narrowest point (i.e. the vertex) is at the top. In this way, the vertex of the parabolic cap 103 functions as a top of the air collimation unit 101 as a whole. The parabolic cap 103 may have a focal point F2 at a particular distance from the base of the parabolic cap 103 along the central longitudinal axis. The dimensions of the parabolic cap 103 (specifically the width and the depth) may be chosen such that the focal point F2 is positioned proximate to the base of the parabolic shell 102 when the apparatus 100 is assembled. The width of the parabolic cap 103 may be substantially equal to the width of the parabolic shell 102, but the depth of the parabolic cap 103 may be greater than the depth of the parabolic shell 102. Further details of the mathematical nature of the shape of the parabolic cap 103, and the positioning of the focal point F2, will be provided with reference to Figures 1C-F. The parabolic cap 103 may further comprise an aperture 108 located at the top of the parabolic cap 103. Specifically, the aperture 108 may be located at the vertex of the parabolic cap 103. The aperture 108 may be substantially circular and may extend radially outwards from a central longitudinal axis of the parabolic cap 103, the central longitudinal axis corresponding to the line of symmetry of the parabolic cap 103. The aperture 108 may extend downwards through the whole thickness of the parabolic cap 103, such that air may travel through the aperture 108 and into the internal volume defined by the parabolic cap 103. The parabolic cap 103 may be positioned directly on top of the parabolic shell 102, such that the base of the parabolic cap 103 is joined to the top of the parabolic shell 102. Preferably, the base of the parabolic cap 103 has substantially the same width as the top of the parabolic shell 102, to ensure a smooth join. In this way, the parabolic cap 109 and the parabolic shell 102 may together form the air collimation unit 101 and may define an internal volume that comprises the internal volume defined by the parabolic shell 102 and the internal volume defined by the parabolic cap 103. The parabolic cap 103 and the parabolic shell 102 may be joined by any adhesive or joining means. The choice of material of the parabolic cap 103 and the parabolic shell 102 may determine what joining means or adhesive are used. The parabolic cap 103 may be detachable from the parabolic shell 102, so as to provide access to the interior of the air collimation unit 101, or indeed other components of the apparatus 100. The joining means may be a hinge, or may be one or more clip mechanisms to allow repeated joining and detachment of the parabolic cap 103 from the parabolic shell 102. The apparatus 100 may further comprise a sensing module 109 for sensing and / or detecting various parameters. The sensing module 109 may be located proximal to the base of the parabolic shell 102, which, as described, functions as a base of the air collimation unit 101 as a whole. For example, the sensing module 109 may be at least partially located within the base of the parabolic shell 102. The sensing module 109 may be aligned with a central longitudinal axis of the parabolic shell 102. The sensing module 109 may comprise one or more different types of sensors. For example, the sensing module 109 may comprise a bidirectional pressure sensor 110. The bidirectional pressure sensor 110 may be configured to detect bidirectional pressure within the range of 500Pa to -500Pa within the frequency range of 0Hz to 20Hz. The bidirectional pressure sensor 110 may be located towards a lower end of the sensing module 109 and may be aligned with the central longitudinal axis of the parabolic shell 102. Specifically, the bidirectional pressure sensor 110 may comprise a main housing that is located external to the parabolic shell 102. This main housing may be positioned partially on the outer surface 104 of the parabolic shell 102, or may be separate and not in direct contact with the parabolic shell 102. The sensing module 109 may further comprise an inlet 111. The inlet 111 may be in the form of a narrow, hollow tube extending from a first end to a second end. The first end may be located proximate to the bidirectional pressure sensor 110, and the second end may be proximate to the base of the parabolic shell 102. Specifically, the second end may be proximate to the vertex of the parabolic shell 102 on the inner surface 105. In this way, the inlet 111 may connect the air collimation unit 101 to the bidirectional pressure sensor 110, and may provide a route for air to travel from the internal volume defined by the air collimation unit 101 to the bidirectional pressure sensor 110. The inlet 111 may comprise an inlet aperture 112 at its second end, through which air may enter the inlet 111. As described above, the inlet aperture 112 may be located proximate to the vertex of the parabolic shell 102 on the inner surface 105. The sensing module 109 may further comprise an acoustic sensing unit 113. The acoustic sensing unit 113 may be at least partially located within the base section of the parabolic shell 102. For example, as shown in Figure 1A, the acoustic sensing unit 113 may be integrated within the parabolic shell 102, extending radially outwards from the vertex of the parabolic shell 102 to a predetermined radial distance along the parabolic shell 102. The acoustic sensing unit 113 may therefore have a substantially circular profile when viewed from above, as can be seen in Figure 1B. With regard to thickness, the acoustic sensing unit 113 may have substantially the same thickness as the parabolic shell 102, although it should be appreciated that it may have a greater or smaller thickness than the parabolic shell 102. The acoustic sensing unit 113 may substantially surround the inlet aperture 112 for the inlet 111 leading to the bidirectional pressure sensor 110. The acoustic sensing unit 113 may be an acoustic transducer, or may be a MEMS microphone. The acoustic sensing unit 113 may be configured to detect sounds within the range of 20Hz to 20kHz. The necessary sensing / detecting elements of the acoustic sensing unit 113 may be positioned on the inner surface 105 of the parabolic shell 102, so as to be able to detect acoustics with minimal interruption or blockages. The apparatus 100 may further comprise a microcontroller 114. The microcontroller 114 may be positioned on or proximal to the outer surface 104 of the parabolic shell 102 and may be proximal to the sensing module 109. The microcontroller 114 may be connected to the sensing module 109 by wired or wireless means. For example, the microcontroller 114 may be connected to the bidirectional pressure sensor 110 by wired or wireless means and may be connected to the acoustic sensing unit 113 by wired or wireless means. The microcontroller 114 may comprise communications means for communicating with a user. For example, the microcontroller 114 may comprise communications means for communicating with a computer to be used by a user. The communications means may have Bluetooth and Wi-Fi capabilities and may comprise transceivers, receivers, transceivers, antennas and the like. The microcontroller 114 may be connected to a printed circuited board. The apparatus 100 may further comprise a wearable headpiece (not shown) attached to a flexible arm (not shown). The headpiece may be designed to be placed on a user’s head and may be attached to a first end of the flexible arm. A second end of the flexible arm may then be attached to the air collimation unit 101. Such a design may enable the air collimation unit 101 to be held in front of the user’s mouth without requiring the user to hold the air collimation unit 101 themselves. The flexible arm may further function as a second housing for additional components of the apparatus 100. For example, the apparatus 100 may further comprise a power source (not shown). The power source may comprise a battery, which may be rechargeable, or may comprise any other suitable power source. The power source may be coupled to the sensing unit 109. Specifically, the power source may be coupled to both the bidirectional pressure sensor 110 and the acoustic sensing unit 113. The power source may also be coupled to the microcontroller 114. Both the power source and the microcontroller 114 may be housed within the flexible arm, specifically towards the second end of the flexible arm, such that they are proximal to the air collimation unit 101. Alternatively, the power source and the microcontroller 114 may be positioned on or adjacent to the air collimation unit 101 itself. The apparatus 100 may further comprise a memory (not shown). The memory may be coupled to the microcontroller 114. With reference to Figures 1C-F, the mathematical shapes of the parabolic shell 102 and the parabolic cap 103 will be described. Figures 1Cand 1D show cross-sectional side views of the parabolic shell 102. In Figures 1C, the x-axis is the central longitudinal axis, extending vertically through the centre of the parabolic shell 102 (i.e. through the vertex), and the y-axis is a radial axis, extending horizontally across the parabolic shell 102. The radial axis is perpendicular to the central longitudinal axis. In Figures 1C and 1D, the inlet 111 and the inlet aperture 112 are not shown, in order to avoid confusion regarding the arrows and their dimensions. Figure 1C shows a depth (ai) of the parabolic shell 102, which is the distance from the top of the parabolic shell 102 (i.e. the widest part of the parabolic shell 102) to the vertex on the inner surface 105 along the central longitudinal axis of the parabolic shell 102. Figure 1C also shows a radius (bi) of the parabolic shell 102 at the top of the parabolic shell 102. The radius is the distance from the central longitudinal axis to the top edge of the inner surface 105 of the parabolic shell 102 along the radial axis. For this configuration along the x and y axes, the paraboloid is defined mathematically by the following equation: Figure 1D shows a depth (a2) of the acoustic sensing unit 113 of the sensing unit 109 of the apparatus 100, which is the vertical distance from the vertex on the inner surface 105 of the parabolic shell to the top of the acoustic sensing unit 113 along the central longitudinal axis. Figure 1D also shows a radius (b2) of the parabolic shell 102 at the top of the acoustic sensing unit 113. This radius is the distance from the central longitudinal axis to the top of the acoustic sensing unit 113 along the radial axis. For this configuration along the x and y axes, the paraboloid is defined mathematically by the following equation: V , y2 _ —7 “I--7 — z2 «22 It should be appreciated that similar equations can be applied to the parabolic cap 103, since it is also a paraboloid and can therefore be described mathematically in the same way. However, zi and Z2 will be different for the parabolic cap 103 due to it having a different depth to the parabolic shell 102. Figure 1E shows a cross-sectional side view of the parabolic shell 102. As described, the parabolic shell 102 has a focal point Fi. Given the relative dimensions of the parabolic shell 102, the focal point Fi is outside of the internal volume defined by the air collimation unit 101, as shown in Figure 1E. Specifically, the focal point Fi is located above the air collimation unit 101 along the central longitudinal axis, with the intention that a user’s mouth (i.e. the source of airflow) be positioned proximal to the focal point Fi. Figure 1E shows the air collimation unit 101 having a diameter Di (which corresponds to radius bi from Figure 1C multiplied by two) and depth di (which corresponds to depth ai from Figure 1C). The distance fi from the focal point to the vertex of the parabolic shell 102 (on the inner surface 105) is given by the following formula: Oi2 1 This distance fi is the focal length of the parabolic shell 102. Figure 1F shows a cross-sectional side view of the parabolic cap 103. As described, the parabolic cap 103 has a focal point F2. Given the relative dimensions of the parabolic cap 103, the focal point F2 is just outside the internal volume defined by the air collimation unit 101, as shown in Figure 1F. Specifically, the focal point F2 is located proximal to the vertex of the parabolic shell 102 (i.e. proximal to the inlet aperture 112 of the inlet 111). It should be appreciated that focal point F2 may be located slightly above the vertex, directly at the vertex, or slightly below the vertex (e.g. between the inner surface 105 and outer surface 104 of the parabolic shell 102, as shown in Figure 1F). Figure 1F shows the parabolic cap 103 having a diameter D2 (which, as described, may be substantially equal to the diameter of the parabolic shell 102) and depth d2 (which, as described, may be greater than the depth of the parabolic shell 102). The distance f2 from the focal point to the vertex of the parabolic shell 102 (on the inner surface 105) is given by the following formula: d22 “ 16d2 This distance f2 is the focal length of the parabolic cap 103. Referring now to all of Figures 1A-F, the functions of the various components of the apparatus 100 will be described. The air collimation unit 101 is configured to receive airflow from inhalations and exhalations of a user. By orienting the apparatus 100 towards the mouth of the user, the airflow may then pass into the air collimation unit 101 and hit the inner surface 103 of the air collimation unit 101. The parabolic shell of the air collimation unit 101 is configured to focus this airflow towards the focal point. More specifically, the parabolic shell 102 is configured to receive the airflow and then reflect the airflow upwards towards the focal point Fi. The parabolic cap 103 is then configured to reflect the airflow back downwards towards the focal point F2. In this way, the focal point F2 can be considered to be a focal point of the air collimation unit 101 as a whole, as well as being the focal point of the parabolic cap 103. Additionally, the parabolic cap 103 is configured to allow airflow into the air collimation unit 101 (through the aperture 108). The sensing unit 109 is configured to sense / detect various parameters associated with incoming airflow and sounds. Specifically, the bidirectional pressure sensor 110 is configured to sense the airflow from the inhalations and exhalations of the user and to determine bidirectional pressure values associated with this airflow. The inlet 111 is configured to guide the airflow down towards the bidirectional pressure sensor 110 itself, while the inlet aperture 112 is configured to allow the airflow to enter the inlet 111. As discussed, the aperture is located proximal to the focal point F2 of the air collimation unit 101, so that the airflow is focused towards the inlet aperture 112 and thus into the inlet 111. The acoustic sensing unit 113 is configured to detect sounds produced by the user and to convert the sounds into acoustic information. Specifically, the acoustic sensing unit 113 may be configured to function as a MEMS microphone and so may be configured to generate acoustic information based on the sounds detected. The acoustic information may be audio signals indicative of the sounds detected. The microcontroller 114 may be configured to generate breathing signals, which may be signals indicative of the bidirectional pressure values and / or the acoustic information. Specifically, the microcontroller 114 may receive the bidirectional pressure values from the bidirectional pressure sensor 110 and / or the acoustic information from the acoustic sensing unit 113 and may then generate breathing signals based on the bidirectional pressure values and / or the acoustic information. With respect to the bidirectional pressure values, the generated breathing signals may be signals indicating the bidirectional pressure values over a predetermined time window. More specifically, the generated breathing signals may comprise generated bidirectional pressure profiles over predetermined time windows. The profiles may comprise the values obtained within the time windows and may show changes in bidirectional pressure across the duration of the time windows. More detail about the generation of the breathing signals will be provided with reference to Figures 2 to 4. With respect to the acoustic information, the generated breathing signals may be audio signals indicating the acoustic information. The microcontroller 114 may also be configured to send the breathing signals to a suitable apparatus for determining intended speech. For example, the microcontroller 114 may be configured to send the breathing signals to a computer to be used by a user. In operation, the apparatus 100 may be arranged so that the air collimation unit 101 is facing the mouth of the user. For example, if the wearable headpiece is present, the user may place the headpiece on their head and adjust the flexible arm so that the air collimation unit 101 is in front of their mouth, with the aperture 108 directly facing their mouth. Alternatively, if the wearable headpiece is not present, the air collimation unit 101 may be held or placed in front of the user’s mouth. The user may then breathe into the air collimation unit 101 and / or make sounds. The airflow from the inhalations and exhalations of the user may then travel through the aperture 108 in the parabolic cap 103 and into the internal volume defined by the air collimation unit 101. The airflow streams are then reflected by the inner surface 105 of the parabolic shell 102 upwards towards the focal point Fi of the parabolic shell 102. The airflow streams are then reflected by the inner surface 107 of the parabolic cap 103 downwards towards the focal point F2 of the parabolic cap 103 (which, as described, may also be referred to as the focal point of the air collimation unit 101 as a whole). Since the focal point F2 is positioned proximal to the inlet aperture 112 of the inlet 111, the airflow enters the inlet 111 through the inlet aperture 112 and travels down the inlet 111 towards the bidirectional pressure sensor 110. The bidirectional pressure sensor 110 then measures the bidirectional pressure of the airflow at particular time intervals. Specifically, the bidirectional pressure sensor 110 detects rises and / or falls in bidirectional pressure caused by the inhalations and / or exhalations, notes the bidirectional pressure values associated with this breathing, and then sends the bidirectional pressure values to the microcontroller 114. If the user has also made sounds in addition to breathing (e.g. the user has attempted to say a particular word), the sounds will be detected by the acoustic sensing unit 113. The acoustic sensing unit 113 may operate as a conventional MEMS microphone and may output acoustic information in the form of audio signals. These audio signals are generated based on the sounds detected by the acoustic sensing unit 113. The acoustic sensing unit 113 then sends these audio signals to the microcontroller 114. The microcontroller 114 may then generate breathing signals based on the obtained bidirectional pressure values, which, as described, may be bidirectional pressure profiles over a predetermined time window. These breathing signals, along with any obtained audio signals, may then be sent to a computer, where matching of the breathing signals to intended speech may be performed, as will be described with reference to Figures 2 to 4. The microcontroller 108 may then send the generated breathing signals to a computer, where matching of the signals to portions of speech may take place. This will be described with reference to Figures 2-4. The apparatus 100 described above may also form part of a system for determining intended speech through non-speech breathing patterns. This system may comprise the apparatus 100 as described above, as well as a computer. The computer may be configured to match the generated breathing signals to pre-stored portions of speech based on a set of pre-stored breathing signals, wherein each of the set of pre-stored breathing signals maps to one of the pre-stored portions of speech. The computer may be configured to run a machine learning algorithm to perform these steps. This will be described with reference to Figures 2, 3 and 4. Figure 2 shows a flow chart describing a method 200 of determining intended speech through non-speech breathing patterns in accordance with the present invention. Breathing patterns may comprise information about inhalations and exhalations of a user. This information may comprise parameters such as pressure and / or frequency and / or amplitude over given time periods. As will be discussed later on, the breathing patterns may comprise profiles that show how particular parameters change over time. Beginning at step 201, the method 200 may comprise obtaining bidirectional pressure values of airflow generated by inhalations and exhalations of a user. As has been described with reference to Figures 1A-F, obtaining the bidirectional pressure values may be performed using the apparatus 100, or any other suitable apparatus, and may comprise receiving the airflow from the user. Specifically, the user may breathe in the direction of the apparatus 100, and the airflow from the inhalations and exhalations may be collected by the apparatus 100. Receiving the airflow may comprise focusing, by an air collimation unit (such as air collimation unit 101), the airflow towards a focal point of the air collimation unit. With reference to Figures 1A-F, the user may breathe into the air collimation unit 101, such that the airflow is firstly reflected upwards by the parabolic shell 102 and then reflected downwards by the parabolic cap 103 towards the focal point F2 of the air collimation unit 101. Obtaining the bidirectional pressure values may further comprise determining, by a bidirectional pressure sensor, bidirectional pressure values of the airflow. Specifically, the bidirectional pressure sensor may detecta rise or fall in pressure caused by the inhalations or exhalations and may note the bidirectional pressure values associated with the breathing. With reference to Figures 1A-F, the airflow, having been focused to the focal point F2 of the air collimation unit 101, may enter the inlet 111 via the inlet aperture 112. The bidirectional pressure sensor 110 may then detect the resulting pressure changes and determine bidirectional pressure values over a predetermined time window. Obtaining the bidirectional pressure values may further comprise sending the bidirectional pressure values to a microcontroller. For example, the bidirectional pressure sensor 110 may send the bidirectional pressure values to the microcontroller 114. Alternatively, obtaining the bidirectional pressure values may comprise receiving the values from another source. For example, the bidirectional pressure values may have already been recorded by another apparatus and stored on a computer for later use and analysis. In this way, obtaining the bidirectional pressure values may comprise receiving the values from a computer. Moving now to step 202, the method 200 may further comprise generating breathing signals based on the obtained bidirectional pressure values. As has been described with reference to Figures 1A-F, generating the breathing signals may be performed using the apparatus 100, or any other suitable apparatus. Specifically, step 202 may be performed by a microcontroller (such as microcontroller 114), or by any other suitable controller, and as such step 202 may comprise generating, by the microcontroller, the breathing signals based on the obtained bidirectional pressure values. As mentioned earlier, the generated breathing signals may be signals indicating the bidirectional pressure values over a predetermined time window. Each of the generated breathing signals may comprise a generated bidirectional pressure profile over a predetermined time window. Each generated bidirectional pressure profile may comprise bidirectional pressure values obtained during its associated predetermined time window. Each profile may comprise all bidirectional pressure values obtained during its associated time window, or may comprise a subset of bidirectional pressure values obtained during its associated time window. For example, each profile may comprise only bidirectional pressure values obtained at particular time intervals during the window (e.g. once every quarter of a second). In this way, a bidirectional pressure profile may be considered as a plot of bidirectional pressure against time. The profile may therefore show changes in bidirectional pressure across the duration of the predetermined time window. Each bidirectional pressure profile may comprise information regarding any of the following: frequency (Hz), time (ms), amplitude (Pa), shape or phase (degrees). For simple breathing patterns (e.g. one short inhalation or exhalation), the profile may visually be simple as well. For example, a simple breathing pattern may result in a constant increase or decrease in bidirectional pressure, and the resulting profile may therefore be a substantially linear plot. For more complex breathing patterns (e.g. with multiple inhalations and exhalations of differing lengths and intensities), the profile may visually appear more complex as well. For example, a complex breathing pattern may have multiple peaks and troughs, each with different widths and amplitudes. In this way, step 202 may comprise generating bidirectional pressure profiles from the bidirectional pressure values obtained within the predetermined time window. Moving now to step 203, the method 200 may further comprise matching the generated breathing signals to pre-stored portions of speech based on a set of pre-stored breathing signals, wherein each of the set of pre-stored breathing signals maps to one of the prestored portions of speech. The matching may be performed by a computer, with or without the aid of a user. The matching may be performed by a machine learning algorithm, as will be described in greater detail with reference to Figure 4. The set of pre-stored breathing signals may comprise a matrix of pre-stored breathing signals mapped to prestored portions of speech. For example, the matrix may comprise a column of pre-stored breathing signals, each one mapped to a corresponding one of a column of pre-stored portions of speech. As described earlier, each of the generated breathing signals may comprise a generated bidirectional pressure profile over a predetermined time window. In the same way, each of the set of pre-stored breathing signals may comprise a pre-stored bidirectional pressure profile. Since each of the set of pre-stored breathing signals maps to one of the pre-stored portions of speech, this means that each pre-stored bidirectional pressure profile maps to one of the pre-stored portions of speech. Each pre-stored portion of speech may comprise text, the text relating to a word, a phrase, or a complete sentence. For example, one pre-stored portion of speech may correspond to “Hello”, another pre-stored portion of speech may correspond to “Yes”, and another prestored portion of speech may correspond to “No”. Matching the generated breathing signals to pre-stored portions of speech, as in step 203, may comprise comparing each generated bidirectional pressure profile to the pre-stored bidirectional pressure profiles, then determining, for each generated bidirectional pressure profile, the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches, and then calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the obtained generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is within a predetermined threshold range. The step of determining may comprise, for each generated bidirectional pressure profile, comparing a shape of the generated bidirectional pressure profile with shapes of the prestored bidirectional pressure profiles and then selecting the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile. As described, the bidirectional pressure profiles may be thought of as plots of bidirectional pressure against time. The shapes of the profiles may therefore directly correspond to the plots (i.e. the peaks, troughs, gradients, curves etc). Comparing the shapes of the bidirectional pressure profiles may comprise matching portions of the generated bidirectional pressure profile with corresponding portions of the pre-stored bidirectional pressure profiles in discrete windows or in a rolling time window. The degree of overlap may then be calculated based on the number of portions of the generated bidirectional pressure value that match with the determined pre-stored bidirectional pressure profile. The predetermined threshold range may be a confidence level selected by the user or chosen by the computer. For example, the predetermined threshold range may be set as an 80% confidence level. In such an example, having selected the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile, the degree of overlap may be deemed to be within the predetermined threshold range if at least 80% of the shape of the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile matches the shape of the generated bidirectional pressure profile. It should be appreciated that the step of determining the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches may involve calculating the degree of overlap between the generated bidirectional pressure profile and each pre-stored bidirectional pressure profile and then choosing the pre-stored bidirectional pressure profile with the highest degree of overlap. Matching the generated breathing signals to pre-stored portions of speech, as in step 203, may further comprise selecting the determined pre-stored bidirectional pressure profile if the degree of overlap is within the predetermined threshold range and selecting the portion of speech to which the selected pre-stored bidirectional pressure profile maps. For example, if the confidence level has been set as 80%, and a degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is greater than or equal to 80%, this determined profile may be selected. The portion of speech to which this selected bidirectional pressure profile maps may then also be selected as the intended speech. In this way, the intended speech is determined through non-speech breathing patterns. The method 200 may further comprise outputting the text corresponding to the selected portion of speech. Outputting the text may comprise outputting the text through a speaker so as to recreate the voice of the user, or displaying the text on a screen, or any other suitable manner of outputting the text. If, however, the degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile does not fall within the predetermined threshold range, the determined pre-stored bidirectional pressure profile may not be selected. For example, if the confidence level has been set as 80%, and a degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is less than 80%, this determined profile may not be selected. In this case, a user may be alerted to the fact that the degree of overlap is not within the predetermined threshold range. A user may then need to confirm whether the portion of speech to which the determined pre-stored bidirectional pressure profile maps is in fact the intended speech. This may be done via an interface on a computer to which the apparatus is connected. If the user confirms that this is the intended speech, this speech may be outputted. Alternatively, the method may return to the beginning without having selected any portion of speech, and a user may have to provide further breathing patterns in order for the system to determine intended speech. The step 203 of matching generated breathing signals to pre-stored portions of speech may be performed by a machine learning algorithm. This will be described in greater detail with reference to Figure 4. The method 200 may further comprise generating audio signals based on sounds produced by the user and then corroborating the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps using the audio signals. This may only be performed if the user makes sounds in addition to inhaling or exhaling. Generating the audio signals may be performed using the apparatus 100, or any other suitable apparatus, and may comprise detecting sounds made by the user (e.g. attempts at speech, gasps, etc). Specifically, the user may make particular sounds in the vicinity of the apparatus 100, and these sounds may be detected by the acoustic sensing unit 113. The acoustic sensing unit 113 may then convert the sounds into acoustic information, which may be audio signals indicative of the sounds detected. In this way, audio signals based on sounds produced by the user may be generated. Corroborating the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps using the audio signals may comprise retrieving prestored audio signals that map to the selected portions of speech and then calculating whether a degree of overlap between the generated audio signals and the retrieved prestored audio signals is within a predetermined threshold range. As with the set of prestored breathing signals, the pre-stored audio signals may also be a set of pre-stored audio signals that comprises a matrix of pre-stored audio signals mapped to pre-stored portions of speech. For example, if the portion of speech to which the selected bidirectional pressure profile maps is found to be the word “Hello”, the pre-stored audio signal that maps to the word “Hello” is retrieved. The degree of overlap between the generated audio signal (indicative of the sounds produced by the user) and the retrieved pre-stored audio signal is then calculated. As with step 203, the predetermined threshold range may be set in advance by the user. For example, the predetermined threshold range may be set as 80%. Preferably, the predetermined threshold range may be substantially the same as the predetermined threshold range used for the bidirectional pressure profile comparison. In the same manner as the bidirectional pressure values, the audio signals may comprise audio profiles. These audio profiles may contain information relating to any of the following: frequency (Hz), time (ms), amplitude (mV), shape or phase (degrees). The calculation of the degree of overlap may be performed by comparing the shapes of the two audio signals and determining how closely the shapes match, as in step 203 of method 200. If the degree of overlap is found to be within the predetermined threshold range, then the audio signal may be said to corroborate the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps. In this sense, the audio signal has confirmed that the correct portion of speech was selected. Alternatively or additionally, the calculation of the degree of overlap may be performed by comparing particular data points of the audio signals. For example, saying the word “Hello” may produce audio signals indicative of a particular ordering of frequency values. For a speech-impaired user who may not be able to clearly say the word “Hello”, their attempt to say the word “Hello” may produce some, but not all, of these frequency values. By comparing these data points with data points of the pre-stored audio signals, a degree of overlap may be determined. If the degree of overlap is found to be outside the predetermined threshold range, then the audio signal does not corroborate the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps. In this sense, the audio signal may suggest that the incorrect portion of speech was selected. A user may then need to confirm whether the selected portion of speech to which the determined pre-stored bidirectional pressure profile maps is in fact the intended speech. This may be done via an interface on a computer to which the apparatus is connected. If the user confirms that this is the intended speech, this speech may be outputted. If not, the selected portion of speech may be discarded, and a user may have to provide further breathing patterns (and possibly audio signals) in order for the system to determine intended speech. Figure 3 shows a flow chart describing a method 300 of determining intended speech through non-speech breathing patterns in accordance with the present invention. Beginning at step 301, the method 300 may comprise obtaining bidirectional pressure values of airflow generated by inhalations and exhalations of a user. As has been described with reference to Figures 1A-F, obtaining the bidirectional pressure values may be performed using the apparatus 100, or any other suitable apparatus, and may comprise receiving the airflow from the user. Specifically, the user may breathe in the direction of the apparatus 100, and the airflow from the inhalations and exhalations may be collected by the apparatus 100. Receiving the airflow may comprise focusing, by an air collimation unit (such as air collimation unit 101), the airflow towards a focal point of the air collimation unit. With reference to Figures 1 A-F, the user may breathe into the air collimation unit 101, such that the airflow is firstly reflected upwards by the parabolic shell 102 and then reflected downwards by the parabolic cap 103 towards the focal point F2 of the air collimation unit 101. Obtaining the bidirectional pressure values may further comprise determining, by a bidirectional pressure sensor, bidirectional pressure values of the airflow. Specifically, the bidirectional pressure sensor may detecta rise or fall in pressure caused by the inhalations or exhalations and may note the bidirectional pressure values associated with the breathing. With reference to Figures 1A-F, the airflow, having been focused to the focal point F2 of the air collimation unit 101, may enter the inlet 111 via the inlet aperture 112. The bidirectional pressure sensor 110 may then detect the resulting pressure changes and determine bidirectional pressure values over a predetermined time window. Obtaining the bidirectional pressure values may further comprise sending the bidirectional pressure values to a microcontroller. For example, the bidirectional pressure sensor 110 may send the bidirectional pressure values to the microcontroller 114. Alternatively, obtaining the bidirectional pressure values may comprise receiving the values from another source. For example, the bidirectional pressure values may have already been recorded by another apparatus and stored on a computer for later use and analysis. In this way, obtaining the bidirectional pressure values may comprise receiving the values from a computer. Moving now to step 302, the method 300 may further comprise obtaining audio signals from sounds generated by the user. Obtaining the audio signals may be performed using the apparatus 100, or any other suitable apparatus, and may comprise detecting sounds made by the user (e.g. attempts at speech, gasps, etc). Specifically, the user may make particular sounds in the vicinity of the apparatus 100, and these sounds may be detected by the acoustic sensing unit 113. The acoustic sensing unit 113 may then convert the sounds into acoustic information, which may be audio signals indicative of the sounds detected. In this way, audio signals based on sounds produced by the user may be generated. Alternatively, obtaining audio signals may comprise receiving the signals from another source. For example, the sounds produced by the user may have already been recorded by another apparatus and audio signals generated by this other apparatus based on the sounds. These signals may then have been stored on a computer for later use and analysis. In this way, obtaining the audio signals may comprise receiving the signals from a computer. Moving now to step 303, the method 300 may further comprise determining a portion of speech based on the obtained bidirectional pressure values and obtained audio signals. Specifically, the obtained bidirectional pressure values and audio signals may be used to determine what a user is intending to say. Determining the portion of speech may comprise generating bidirectional pressure profiles over predetermined time windows based on the obtained bidirectional pressure values, and then matching the generated bidirectional pressure profiles to pre-stored portions of speech based on a set of pre-stored bidirectional pressure profiles, wherein each of the set of pre-stored bidirectional pressure profiles maps to one of the pre-stored portions of speech. Each generated bidirectional pressure profile may comprise bidirectional pressure values obtained during its associated predetermined time window. Each profile may comprise all bidirectional pressure values obtained during its associated time window, or may comprise a subset of bidirectional pressure values obtained during its associated time window. For example, each profile may comprise only bidirectional pressure values obtained at particular time intervals during the window (e.g. once every quarter of a second). In this way, a bidirectional pressure profile may be considered as a plot of bidirectional pressure against time. The profile may therefore show changes in bidirectional pressure across the duration of the predetermined time window. Each bidirectional pressure profile may comprise information regarding any of the following: frequency (Hz), time (ms), amplitude (Pa), shape or phase (degrees). For simple breathing patterns (e.g. one short inhalation or exhalation), the profile may visually be simple as well. For example, a simple breathing pattern may result in a constant increase or decrease in bidirectional pressure, and the resulting profile may therefore be a substantially linear plot. For more complex breathing patterns (e.g. with multiple inhalations and exhalations of differing lengths and intensities), the profile may visually appear more complex as well. For example, a complex breathing pattern may have multiple peaks and troughs, each with different widths and amplitudes. The step of matching generated bidirectional pressure profiles to pre-stored portions of speech based on a set of pre-stored bidirectional pressure profiles may be performed by a computer, with or without the aid of a user. The matching may be performed by a machine learning algorithm, as will be described in greater detail with reference to Figure 4. More generally, the whole step 303 of determining the portion of speech may be performed by a machine learning algorithm. The set of pre-stored breathing signals may comprise a matrix of pre-stored breathing signals mapped to pre-stored portions of speech. For example, the matrix may comprise a column of pre-stored breathing signals, each one mapped to a corresponding one of a column of pre-stored portions of speech. As described earlier, each of the generated breathing signals may comprise a generated bidirectional pressure profile over a predetermined time window. In the same way, each of the set of pre-stored breathing signals may comprise a pre-stored bidirectional pressure profile. Since each of the set of pre-stored breathing signals maps to one of the pre-stored portions of speech, this means that each pre-stored bidirectional pressure profile maps to one of the pre-stored portions of speech. Each pre-stored portion of speech may comprise text, the text relating to a word, a phrase, or a complete sentence. For example, one pre-stored portion of speech may correspond to “Hello”, another pre-stored portion of speech may correspond to “Yes”, and another prestored portion of speech may correspond to “No”. Matching the generated breathing signals to pre-stored portions of speech may further comprise comparing each generated bidirectional pressure profile to the pre-stored bidirectional pressure profiles, then determining, for each generated bidirectional pressure profile, the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches, and then calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the obtained generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is within a predetermined threshold range. The step of determining may comprise, for each generated bidirectional pressure profile, comparing a shape of the generated bidirectional pressure profile with shapes of the prestored bidirectional pressure profiles and then selecting the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile. As described, the bidirectional pressure profiles may be thought of as plots of bidirectional pressure against time. The shapes of the profiles may therefore directly correspond to the plots (i.e. the peaks, troughs, gradients, curves etc). Comparing the shapes of the bidirectional pressure profiles may comprise matching portions of the generated bidirectional pressure profile with corresponding portions of the pre-stored bidirectional pressure profiles in discrete windows or in a rolling time window. The degree of overlap may then be calculated based on the number of portions of the generated bidirectional pressure value that match with the determined pre-stored bidirectional pressure profile. The predetermined threshold range may be a confidence level selected by the user or chosen by the computer. For example, the predetermined threshold range may be set as an 80% confidence level. In such an example, having selected the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile, the degree of overlap may be deemed to be within the predetermined threshold range if at least 80% of the shape of the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile matches the shape of the generated bidirectional pressure profile. It should be appreciated that the step of determining the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches may involve calculating the degree of overlap between the generated bidirectional pressure profile and each pre-stored bidirectional pressure profile and then choosing the pre-stored bidirectional pressure profile with the highest degree of overlap. Matching the generated breathing signals to pre-stored portions of speech may further comprise selecting the determined pre-stored bidirectional pressure profile if the degree of overlap is within the predetermined threshold range and selecting the portion of speech to which the selected pre-stored bidirectional pressure profile maps. For example, if the confidence level has been set as 80%, and a degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is greater than or equal to 80%, this determined profile may be selected. The portion of speech to which this selected bidirectional pressure profile maps may then also be selected as the intended speech. In this way, the intended speech is determined through non-speech breathing patterns. The method 300 may further comprise outputting the text corresponding to the selected portion of speech. Outputting the text may comprise outputting the text through a speaker so as to recreate the voice of the user, or displaying the text on a screen, or any other suitable manner of outputting the text. If, however, the degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile does not fall within the predetermined threshold range, the determined pre-stored bidirectional pressure profile may not be selected. For example, if the confidence level has been set as 80%, and a degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is less than 80%, this determined profile may not be selected. In this case, a user may be alerted to the fact that the degree of overlap is not within the predetermined threshold range. A user may then need to confirm whether the portion of speech to which the determined pre-stored bidirectional pressure profile maps is in fact the intended speech. This may be done via an interface on a computer to which the apparatus is connected. If the user confirms that this is the intended speech, this speech may be outputted. Alternatively, the method 300 may return to the beginning without having selected any portion of speech, and a user may have to provide further breathing patterns in order for the system to determine intended speech. The method 300 may further comprise corroborating the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps using the obtained audio signals. Corroborating the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps using the obtained audio signals may comprise retrieving pre-stored audio signals that map to the selected portions of speech and then calculating whether a degree of overlap between the obtained audio signals and the retrieved pre-stored audio signals is within a predetermined threshold range. As with the set of pre-stored breathing signals, the pre-stored audio signals may also be a set of prestored audio signals that comprises a matrix of pre-stored audio signals mapped to prestored portions of speech. For example, if the portion of speech to which the selected bidirectional pressure profile maps is found to be the word “Hello”, the pre-stored audio signal that maps to the word “Hello” is retrieved. The degree of overlap between the obtained audio signal (indicative of the sounds produced by the user) and the retrieved pre-stored audio signal is then calculated. The predetermined threshold range may be set in advance by the user. For example, the predetermined threshold range may be set as 80%. Preferably, the predetermined threshold range may be substantially the same as the predetermined threshold range used for the bidirectional pressure profile comparison. In the same manner as the bidirectional pressure values, the audio signals may comprise audio profiles. These audio profiles may contain information relating to any of the following: frequency (Hz), time (ms), amplitude (mV), shape or phase (degrees). The calculation of the degree of overlap may be performed by comparing the shapes of the two audio signals and determining how closely the shapes match. If the degree of overlap is found to be within the predetermined threshold range, then the audio signal may be said to corroborate the selection of the portion of speech to which the selected prestored bidirectional pressure profile maps. In this sense, the audio signal has confirmed that the correct portion of speech was selected. Alternatively or additionally, the calculation of the degree of overlap may be performed by comparing particular data points of the audio signals. For example, saying the word “Hello” may produce audio signals indicative of a particular ordering of frequency values. For a speech-impaired user who may not be able to clearly say the word “Hello”, their attempt to say the word “Hello” may produce some, but not all, of these frequency values. By comparing these data points with data points of the pre-stored audio signals, a degree of overlap may be determined. If the degree of overlap is found to be outside the predetermined threshold range, then the audio signal does not corroborate the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps. In this sense, the audio signal may suggest that the incorrect portion of speech was selected. A user may then need to confirm whether the selected portion of speech to which the determined pre-stored bidirectional pressure profile maps is in fact the intended speech. This may be done via an interface on a computer to which the apparatus is connected. If the user confirms that this is the intended speech, this speech may be outputted. If not, the selected portion of speech may be discarded, and a user may have to provide further breathing patterns (and possibly audio signals) in order for the system to determine intended speech. Figure 4 shows a flow chart 400 describing both a method 400A of determining intended speech through non-speech breathing patterns by a machine learning algorithm and a method 400B of training a machine learning algorithm to determine intended speech through non-speech breathing patterns, in accordance with the present invention. Both methods may comprise the same starting points and first few steps, but may diverge further down the flow chart 400. It should be appreciated that both methods correspond significantly to those described with reference to Figures 2 and 3 (i.e. method 200 and method 300). Both methods 400A and 400B begin at step 401, with signal acquisition. Specifically, this step may comprise obtaining bidirectional pressure values of airflow from a user and contemporaneous audio signals from sounds generated by the user. As described with reference to Figures 2 and 3, the bidirectional pressure values may be retrieved from a computer by the machine learning machine algorithm. The values themselves may have earlier been obtained by the apparatus 100. Similarly, the audio signals may be retrieved from a computer by the machine learning algorithm. The signals themselves may have earlier been generated by the apparatus 100 based on sounds detected by the apparatus 100. Both methods 400A and 400B then move to step 402, with signal input. Here, the signals relating to the bidirectional pressure and / or the acoustic information are input into the algorithm for analysis. Multiple signals may be inputted at once, or signals may be fed in one at a time. Both methods 400A and 400B then move to step 403, in which the acoustic information components and the bidirectional pressure components of the inputted signals are preprocessed. This may be necessary if there is any mixing of signals relating to bidirectional pressure and signals relating to acoustic information. In this way, the components relating to bidirectional pressure may be processed separately to the components relating to the acoustic information. Bidirectional pressure profiles over predetermined time windows may be generated based on the obtained bidirectional pressure values. Each generated bidirectional pressure profile may comprise bidirectional pressure values obtained during its associated predetermined time window. Each profile may comprise all bidirectional pressure values obtained during its associated time window, or may comprise a subset of bidirectional pressure values obtained during its associated time window. For example, each profile may comprise only bidirectional pressure values obtained at particular time intervals during the window (e.g. once every quarter of a second). In this way, a bidirectional pressure profile may be considered as a plot of bidirectional pressure against time. The profile may therefore show changes in bidirectional pressure across the duration of the predetermined time window. Each bidirectional pressure profile may comprise information regarding any of the following: frequency (Hz), time (ms), amplitude (Pa), shape or phase (degrees). This step of generating bidirectional pressure profiles has been placed at step 403, but it should be understood that this may in fact take place earlier (e.g. at step 401 or 402). Both methods 400A and 400B then move to step 404, where it is determined whether or not the training database exists. More specifically, a determination is made as to whether or not there is a suitable database comprising pre-stored information in the form of prestored bidirectional pressure profiles and their corresponding pre-stored portions of speech, as well as pre-stored audio signals and their corresponding pre-stored portions of speech available to access. Here, the methods 400A and 400B split depending on the outcome of this determination. In method 400A, it is determined that a training database does exist, meaning that the inputted signals may be compared against this training database in order to determine intended speech. Method 400A then moves on to step 405, where pattern recognition of the inputted signals is undertaken via the machine learning model. Specifically, pattern recognition is performed on the generated bidirectional pressure profiles to match the obtained bidirectional pressure profiles to pre-stored portions of speech based on a set of prestored bidirectional pressure profiles, wherein each of the set of pre-stored bidirectional pressure profiles maps to one of the pre-stored portions of speech and wherein each of the pre-stored portions of speech comprises text. The text may relate to a word, a phrase or a complete sentence. Performing pattern recognition on the obtained bidirectional pressure values, as in step 405, may comprise comparing each generated bidirectional pressure profile to the prestored bidirectional pressure profiles, then determining, for each generated bidirectional pressure profile, the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches, and then calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the obtained generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is within a predetermined threshold range. The step of determining may comprise, for each generated bidirectional pressure profile, comparing a shape of the generated bidirectional pressure profile with shapes of the prestored bidirectional pressure profiles and then selecting the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile. As described, the bidirectional pressure profiles may be thought of as plots of bidirectional pressure against time. The shapes of the profiles may therefore directly correspond to the plots (i.e. the peaks, troughs, gradients, curves etc). Comparing the shapes of the bidirectional pressure profiles may comprise matching portions of the generated bidirectional pressure profile with corresponding portions of the pre-stored bidirectional pressure profiles in discrete windows or in a rolling time window. The degree of overlap may then be calculated based on the number of portions of the generated bidirectional pressure value that match with the determined pre-stored bidirectional pressure profile. The predetermined threshold range may be a confidence level selected by the user or chosen by the computer. For example, the predetermined threshold range may be set as an 80% confidence level. In such an example, having selected the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile, the degree of overlap may be deemed to be within the predetermined threshold range if at least 80% of the shape of the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile matches the shape of the generated bidirectional pressure profile. It should be appreciated that the step of determining the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches may involve calculating the degree of overlap between the generated bidirectional pressure profile and each pre-stored bidirectional pressure profile and then choosing the pre-stored bidirectional pressure profile with the highest degree of overlap. Matching the generated breathing signals to pre-stored portions of speech may further comprise selecting the determined pre-stored bidirectional pressure profile if the degree of overlap is within the predetermined threshold range. For example, if the confidence level has been set as 80%, and a degree of overlap between the generated bidirectional pressure profile and the determined pre-stored bidirectional pressure profile is greater than or equal to 80%, this determined profile may be selected. At step 405, pattern recognition may also be performed on the obtained audio signals to corroborate the matching of the obtained bidirectional pressure profiles to the pre-stored portions of speech. Corroborating the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps using the obtained audio signals may comprise retrieving pre-stored audio signals that map to the selected portions of speech and then calculating whether a degree of overlap between the obtained audio signals and the retrieved pre-stored audio signals is within a predetermined threshold range. As with the set of pre-stored breathing signals, the pre-stored audio signals may also be a set of prestored audio signals that comprises a matrix of pre-stored audio signals mapped to prestored portions of speech. For example, if the portion of speech to which the selected bidirectional pressure profile maps is found to be the word “Hello”, the pre-stored audio signal that maps to the word “Hello” is retrieved. The degree of overlap between the obtained audio signal and the retrieved pre-stored audio signal is then calculated. As with step 203, the predetermined threshold range may be set in advance by the user. For example, the predetermined threshold range may be set as 80%. Preferably, the predetermined threshold range may be substantially the same as the predetermined threshold range used for the bidirectional pressure profile comparison. In the same manner as the bidirectional pressure values, the audio signals may comprise audio profiles. These audio profiles may contain information relating to any of the following: frequency (Hz), time (ms), amplitude (mV), shape or phase (degrees). The calculation of the degree of overlap may be performed by comparing the shapes of the two audio signals and determining how closely the shapes match. If the degree of overlap is found to be within the predetermined threshold range, then the audio signal may be said to corroborate the selection of the portion of speech to which the selected prestored bidirectional pressure profile maps. In this sense, the audio signal has confirmed that the correct portion of speech was selected. Alternatively or additionally, the calculation of the degree of overlap may be performed by comparing particular data points of the audio signals. For example, saying the word “Hello” may produce audio signals indicative of a particular ordering of frequency values. For a speech-impaired user who may not be able to clearly say the word “Hello”, their attempt to say the word “Hello” may produce some, but not all, of these frequency values. By comparing these data points with data points of the pre-stored audio signals, a degree of overlap may be determined. Moving now to step 406, if the pattern recognition performed on the obtained audio signals at step 405 corroborates the matching of the generated bidirectional pressure profiles to the pre-stored portions of speech, the method 400A may further comprise outputting the text corresponding to the pre-stored portions of speech to which the obtained bidirectional pressure profiles match. Outputting the text may comprise outputting the text through a speaker so as to recreate the voice of the user, or displaying the text on a screen, or any other suitable manner of outputting the text. At step 407, it may be determined whether or not method 400A should end. If the answer is no, the method may return to step 402, where more signals may be input. For example, this may be the case where the algorithm has acquired a large quantity of signals at step 401, but is analysing them one at a time from step 402 onwards. If, at step 407, the answer is yes, the method 400A may move to step 409. Here, further signals may be acquired, such that the method 400A may start from the beginning (i.e. from step 401). Alternatively, the method may stop entirely. A user may be required to make this determination, or the algorithm may decide this itself. Returning now to step 404, method 400B will be followed. As discussed, step 404 determines whether a training database exists. If the answer to this is no, the method 400B may switch to a training mode at step 408. In this training mode, method 400B may further comprise assigning each of the generated bidirectional pressure profiles and obtained audio signals to particular portions of speech. These portions of speech may comprise text, the text relating to a word, a phrase or a complete sentence. User input may be required here. For example, a user may note that a particular bidirectional pressure profile (and possibly an audio signal as well) relates to the word “Hello” and may then inform the algorithm of this. Once each bidirectional pressure profile and / or obtained audio signal has been assigned to a particular portion of speech, the method 400B may further comprise storing the generated bidirectional pressure profiles, the obtained audio signals and the assigned portions of speech, such that future obtaining of similar bidirectional pressure profiles and audio signals enables the machine learning algorithm to match the similar bidirectional pressure profiles and audio signals to the assigned portions of speech. For example, having been informed by the user that a particular bidirectional pressure profile (and possibly an audio signal as well) matches the word “Hello”, the algorithm may store this information for later use. When the algorithm later performs the steps of method 400A, it may then use this stored information to determine that a set of obtained bidirectional pressure values relate to the word “Hello”, as explained earlier with reference to method 400A. Once step 408 is complete, the method 400B may move to step 409. Here, further signals may be acquired, such that the method 400A may start from the beginning (i.e. from step 401). Alternatively, the method may stop entirely. A user may be required to make this determination, or the algorithm may decide this itself. It will be appreciated from the discussion above that the embodiments shown in the Figures are merely exemplary, and include features which may be generalised, removed or replaced as described herein and as set out in the claims. Further embodiments are envisaged. It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims. Where ranges are recited herein these are to be understood as disclosures of the limits of said range and any intermediate values between the two limits. With reference to the drawings in general, it will be appreciated that schematic functional block diagrams are used to indicate functionality of systems and apparatus described herein. It will be appreciated however that the functionality need not be divided in this way and should not be taken to imply any particular structure of hardware other than that described and claimed below. The function of one or more of the elements shown in the drawings may be further subdivided, and / or distributed throughout apparatus of the disclosure. In some embodiments the function of one or more elements shown in the drawings may be integrated into a single functional unit. Method embodiments may be implemented using the apparatus described herein. Certain features of the methods described herein may be implemented in hardware, and one or more functions of the apparatus may be implemented in method steps. It will also be appreciated in the context of the present disclosure that the methods described herein need not be performed in the order in which they are described, nor necessarily in the order in which they are depicted in the drawings. Accordingly, aspects of the disclosure which are described with reference to products or apparatus are also intended to be implemented as methods and vice versa. The methods described herein may be implemented in computer programs, or in hardware or in any combination thereof. Computer programs include software, middleware, firmware, and any combination thereof. Such programs may be provided as signals or network messages and may be recorded on computer readable media such as tangible computer readable media which may store the computer programs in non-transitory form. Hardware includes computers, handheld devices, programmable processors, general purpose processors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and arrays of logic gates. Controllers described herein may be provided by any control apparatus such as a general-purpose processor configured with a computer program product configured to program the processor to operate according to any one of the methods described herein. The above embodiments are to be understood as illustrative examples. Further embodiments are envisaged. It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims. These claims are to be interpreted with due regard for equivalents. Aspects of the Disclosure Aspects of the disclosure are set out in the following clauses: 1. A method of determining intended speech through non-speech breathing patterns, the method comprising: obtaining bidirectional pressure values of airflow generated by inhalations and exhalations of a user; generating breathing signals based on the obtained bidirectional pressure values; and matching the generated breathing signals to pre-stored portions of speech based on a set of pre-stored breathing signals, wherein each of the set of pre-stored breathing signals maps to one of the pre-stored portions of speech. 2. The method of clause 1, wherein obtaining bidirectional pressure values comprises: receiving the airflow from the user; and determining, by a bidirectional pressure sensor, the bidirectional pressure values of the airflow. 3. The method of clause 2, wherein receiving airflow comprises focusing, by an air collimation unit, the airflow towards a focal point of the air collimation unit. 4. The method of clause 2 or 3, wherein the obtaining further comprises sending the bidirectional pressure values to a microcontroller and wherein the generating comprises generating, by the microcontroller, the breathing signals based on the obtained bidirectional pressure values. 5. The method of any preceding clause, wherein the set of pre-stored breathing signals comprises a matrix of pre-stored breathing signals mapped to pre-stored portions of speech. 6. The method of any preceding clause, wherein: each of the generated breathing signals comprises a generated bidirectional pressure profile over a predetermined time window, the generated bidirectional pressure profile comprising bidirectional pressure values obtained within the predetermined time window and showing changes in bidirectional pressure across the duration of the predetermined time window; and each of the set of pre-stored breathing signals comprises a pre-stored bidirectional pressure profile. 7. The method of clause 6, wherein generating the breathing signals comprises generating bidirectional pressure profiles from the bidirectional pressure values obtained within the predetermined time window. 8. The method of clause 6 or 7, wherein the matching the generated breathing signals to pre-stored portions of speech comprises: comparing each generated bidirectional pressure profile to the pre-stored bidirectional pressure profiles; determining, for each generated bidirectional pressure profile, the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches; calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the generated bidirectional pressure profile and the determined prestored bidirectional pressure profile is within a predetermined threshold range; selecting the determined pre-stored bidirectional pressure profile if the degree of overlap is within the predetermined threshold range; and selecting the portion of speech to which the selected pre-stored bidirectional pressure profile maps. 9. The method of clause 8, wherein determining the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches comprises, for each generated bidirectional pressure profile: comparing a shape of the generated bidirectional pressure profile with shapes of the pre-stored bidirectional pressure profiles; and selecting the pre-stored bidirectional pressure profile whose shape is closest to the shape of the generated bidirectional pressure profile. 10. The method of clause 9, wherein comparing the shape comprises matching portions of the generated bidirectional pressure profile with corresponding portions of the pre-stored bidirectional pressure profiles in discrete windows or in a rolling time window and wherein the degree of overlap is calculated based on the number of portions of the generated bidirectional pressure value that match with the determined pre-stored bidirectional pressure profile. 11. The method of any of clauses 8 to 10, wherein each of the pre-stored portions of speech comprise text, the text relating to a word, a phrase or a complete sentence, and wherein the method further comprises outputting the text corresponding to the selected portion of speech, wherein outputting the text comprises outputting the text through a speaker so as to recreate the voice of the user, or displaying the text on a screen. 12. The method of any of clauses 6 to 11, further comprising: generating audio signals based on sounds produced by the user; and corroborating the selection of the portion of speech to which the selected prestored bidirectional pressure profile maps using the audio signals, wherein the corroborating comprises: retrieving pre-stored audio signals that map to the selected portions of speech and calculating whether a degree of overlap between the generated audio signals and the retrieved pre-stored audio signals is within a predetermined threshold range. 13. The method of any preceding clause, wherein the matching of the generated breathing signals to pre-stored portions of speech is performed by a machine learning algorithm. 14. A method of determining intended speech through non-speech breathing patterns, the method comprising: obtaining bidirectional pressure values of airflow generated by inhalations and exhalations of a user; obtaining audio signals from sounds generated by the user; and determining a portion of speech based on the obtained bidirectional pressure values and obtained audio signals. 15. The method of clause 14, wherein determining a portion of speech based on the obtained bidirectional pressure values and obtained signals further comprises: generating bidirectional pressure profiles over predetermined time windows based on the obtained bidirectional pressure values, each generated bidirectional pressure profile comprising all bidirectional pressure values obtained within the predetermined time window and showing changes in bidirectional pressure across the duration of the predetermined time window; and matching the generated bidirectional pressure profiles to pre-stored portions of speech based on a set of pre-stored bidirectional pressure profiles, wherein each of the set of pre-stored bidirectional pressure profiles maps to one of the pre-stored portions of speech. 16. The method of clause 15, wherein matching the generated bidirectional pressure profiles comprises: comparing each generated bidirectional pressure profile to the pre-stored bidirectional pressure profiles; determining, for each generated bidirectional pressure profile, the pre-stored bidirectional pressure profile to which the generated bidirectional profile most closely matches; calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the generated bidirectional pressure profile and the determined prestored bidirectional profile is within a predetermined threshold range; and selecting the determined pre-stored bidirectional pressure profile if the obtained value is within the predetermined threshold range; and selecting the portion of speech to which the selected pre-stored bidirectional pressure profile maps. 17. The method of clause 16, wherein determining the pre-stored bidirectional pressure profile to which the obtained bidirectional pressure profile most closely matches comprises, for each obtained bidirectional pressure profile: comparing a shape of the obtained bidirectional pressure profile with shapes of the pre-stored bidirectional pressure profiles; and selecting the pre-stored bidirectional pressure profile whose shape is closest to the shape of the obtained bidirectional pressure profile. 18. The method of clause 17, wherein comparing the shape comprises matching portions of the obtained bidirectional pressure profile with corresponding portions of the pre-stored bidirectional pressure profiles in discrete windows or in a rolling time window and wherein the degree of overlap is calculated based on the number of portions of the obtained bidirectional pressure value that match with the determined pre-stored bidirectional pressure profile. 19. The method of any of clauses 16 to 18, further comprising corroborating the selection of the portion of speech to which the selected pre-stored bidirectional pressure profile maps using the obtained audio signals, wherein the corroborating comprises: retrieving pre-stored audio signals that map to the selected portions of speech; and calculating whether a degree of overlap between the obtained audio signals and the retrieved pre-stored audio signals is within a predetermined threshold range. 20. The method of any of clauses 16 to 19, wherein each of the pre-stored portions of speech comprise text, the text relating to a word, a phrase or a complete sentence, and wherein the method further comprises outputting the text corresponding to the selected portion of speech, wherein outputting the text comprises outputting the text verbally through a speaker so as to recreate the voice of the user, or displaying the text on a screen. 21. The method of any of clauses 14 to 20, wherein the determining the portion of speech is performed by a machine learning algorithm. 22. An apparatus for generating breathing signals through non-speech breathing patterns, the apparatus comprising: an air collimation unit configured to receive airflow from inhalations and exhalations of a user, the air collimation unit comprising a parabolic shell for focusing the airflow towards a focal point; a sensing module, the sensing module comprising a bidirectional pressure sensor for determining bidirectional pressure values of the airflow; and a microcontroller configured to generate breathing signals based on the bidirectional pressure values. 23. The apparatus of clause 22, wherein the bidirectional pressure sensor is located proximal to a base section of the parabolic shell and at least a portion of the sensing module is integrated within the parabolic shell. 24. The apparatus of clause 22 or 23, further comprising an inlet extending from the bidirectional pressure sensor to the focal point of the air collimation unit, the inlet configured to guide the airflow from the focal point to the bidirectional pressure sensor, the inlet having an opening located at the focal point. 25. The apparatus of any of clauses 22 to 24, wherein the bidirectional pressure sensor is configured to detect bidirectional pressure values between 500Pa and -500Pa within the frequency range of 0-20Hz. 26. The apparatus of any of clauses 22 to 25, wherein the sensing module further comprises an acoustic sensing unit configured to detect sounds produced by the user and convert the sounds into audio signals, the acoustic sensing unit comprising a MEMS microphone configured to detect sounds within the frequency range of 20Hz-20kHz. 27. The apparatus of any of clauses 22 to 26, wherein the air collimation unit further comprises a parabolic cap directly opposing and positioned on top of the parabolic shell, the parabolic cap coupled to the parabolic shell so as to define an internal volume of the apparatus, the parabolic cap comprising an aperture for receiving the airflow and sounds from the user. 28. The apparatus of any of clauses 22 to 27, further comprising a power supply, such as a battery, the power supply configured to power the sensing module and the microcontroller. 29. The apparatus of any of clauses 22 to 28, further comprising a wearable headpiece connected to the air collimation unit by a flexible arm, wherein the headpiece and flexible arm are adapted to position the air collimation unit in front of a mouth of the user. 30. A system for determining intended speech through non-speech breathing patterns, the system comprising: the apparatus of any of clauses 22 to 29; and a computer configured to match the generated breathing signals to pre-stored portions of speech based on a set of pre-stored breathing signals, wherein each of the set of pre-stored breathing signals maps to one of the pre-stored portions of speech. 31. A method of determining intended speech through non-speech breathing patterns, the method performed by a machine learning algorithm and comprising the steps of: obtaining bidirectional pressure values of airflow from a user and contemporaneous audio signals from sounds generated by the user; generating bidirectional pressure profiles over predetermined time windows based on the obtained bidirectional pressure values, each generated bidirectional pressure profile comprising all bidirectional pressure values obtained within the predetermined time window and showing changes in bidirectional pressure across the duration of the predetermined time window; performing pattern recognition on the generated bidirectional pressure profiles to match the obtained bidirectional pressure profiles to pre-stored portions of speech based on a set of pre-stored bidirectional pressure profiles, wherein each of the set of pre-stored bidirectional pressure profiles maps to one of the pre-stored portions of speech and wherein each of the pre-stored portions of speech comprises text, the text relating to a word, a phrase or a complete sentence; performing pattern recognition on the obtained audio signals to corroborate the matching of the obtained bidirectional pressure profiles to the pre-stored portions of speech;and if the pattern recognition performed on the obtained audio signals corroborates the matching of the generated bidirectional pressure profiles to the pre-stored portions of speech, outputting the text corresponding to the pre-stored portions of speech to which the obtained bidirectional pressure profiles match. 32. The method of clause 31, wherein performing pattern recognition on the obtained bidirectional pressure values comprises: comparing each generated bidirectional pressure profile to the pre-stored bidirectional pressure profiles; determining, for each generated bidirectional pressure profile, the pre-stored bidirectional pressure profile to which the generated bidirectional pressure profile most closely matches; calculating, for each generated bidirectional pressure profile, whether a degree of overlap between the generated bidirectional pressure value and the determined prestored bidirectional pressure profile is within a predetermined threshold range; and selecting the determined pre-stored bidirectional pressure profile if the degree of overlap is within the predetermined threshold range. 33. The method of clause 31 or 32, wherein performing pattern recognition on the obtained audio signals to corroborate the matching of the obtained bidirectional pressure profiles to the pre-stored portions of speech comprises: retrieving pre-stored audio signals that map to the selected portions of speech; and calculating whether a degree of overlap between the obtained audio signals and the retrieved pre-stored audio signals is within a predetermined threshold range. 34. A method of training a machine learning algorithm, the method comprising: obtaining bidirectional pressure values of airflow from a user and contemporaneous audio signals from sounds generated by the user; generating bidirectional pressure profiles over predetermined time windows based on the obtained bidirectional pressure values, each generated bidirectional pressure profile comprising all bidirectional pressure values obtained within the predetermined time window and showing changes in bidirectional pressure across the duration of the predetermined time window; assigning each of the generated bidirectional pressure profiles and obtained audio signals to particular portions of speech, the portions of speech comprising text, the text relating to a word, a phrase ora complete sentence; and storing the generated bidirectional pressure profiles, the obtained audio signals and the assigned portions of speech, such that future obtaining of similar bidirectional pressure profiles and audio signals enables the machine learning algorithm to match the similar bidirectional pressure profiles and audio signals to the assigned portions of speech.
Claims
1. An apparatus for generating breathing signals through non-speech breathing patterns, the apparatus comprising:an air collimation unit configured to receive airflow from inhalations and exhalations of a user, the air collimation unit comprising a parabolic shell for focusing the airflow towards a focal point;a sensing module, the sensing module comprising a bidirectional pressure sensor for determining bidirectional pressure values of the airflow; anda microcontroller configured to generate breathing signals based on the bidirectional pressure values.
2. The apparatus of claim 1, wherein the bidirectional pressure sensor is located proximal to a base section of the parabolic shell and at least a portion of the sensing module is integrated within the parabolic shell.
3. The apparatus of claim 1 or 2, further comprising an inlet extending from the bidirectional pressure sensor to the focal point of the air collimation unit, the inlet configured to guide the airflow from the focal point to the bidirectional pressure sensor, the inlet having an opening located at the focal point.
4. The apparatus of any preceding claim, wherein the bidirectional pressure sensor is configured to detect bidirectional pressure values between 500Pa and -500Pa within the frequency range of 0-20Hz.
5. The apparatus of any preceding claim, wherein the sensing module further comprises an acoustic sensing unit configured to detect sounds produced by the user and convert the sounds into audio signals, the acoustic sensing unit comprising a MEMS microphone configured to detect sounds within the frequency range of 20Hz-20kHz.
6. The apparatus of any preceding claim, wherein the air collimation unit further comprises a parabolic cap directly opposing and positioned on top of the parabolic shell, the parabolic cap coupled to the parabolic shell so as to define an internal volume of the apparatus, the parabolic cap comprising an aperture for receiving the airflow and sounds from the user.
7. The apparatus of any preceding claim, further comprising a power supply, such as a battery, the power supply configured to power the sensing module and the microcontroller.
58. The apparatus of any preceding claim, further comprising a wearable headpiece connected to the air collimation unit by a flexible arm, wherein the headpiece and flexible arm are adapted to position the air collimation unit in front of a mouth of the user.10 9. A system for determining intended speech through non-speech breathing patterns,the system comprising:the apparatus of any of preceding claim; anda computer configured to match the generated breathing signals to pre-stored portions of speech based on a set of pre-stored breathing signals, wherein each of the set 15 of pre-stored breathing signals maps to one of the pre-stored portions of speech.A