Method, Microphone, Computer-Readable Medium and System

The modular wireless microphone system addresses the limitations of existing systems by enabling flexible configurations and synchronization, allowing multiple microphones to communicate with a single receiver using standardized protocols.

JP2025508706AActive Publication Date: 2025-04-10SHURE ACQUISITION HLDG INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024547828
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-06-21
Filing Date
2023-02-16
Publication Date
2025-04-10
Estimated Expiration
2043-02-16

AI Technical Summary

Technical Problem

Existing wireless microphone systems lack flexibility and interoperability, limiting their ability to accommodate various microphone configurations and devices, and often struggle with synchronization of audio data between microphones and receivers.

Method used

A modular wireless microphone system that allows multiple microphones to communicate wirelessly with a single radio receiver using the same data protocols, enabling interchangeable microphones and synchronization of audio data through synchronization signals.

Benefits of technology

The system provides flexibility in configuring microphone setups, ensures interoperability with various devices, and maintains accurate synchronization of audio data, enhancing usability and performance in diverse applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025508706000001_ABST
    Figure 2025508706000001_ABST
Patent Text Reader

Abstract

This disclosure describes a wireless microphone system that allows one or more microphones to wirelessly communicate with a receiver. Additionally, the wireless microphone system allows multiple microphones to be used interchangeably with the receiver. To ensure communication between the receiver and the one or more microphones, the receiver may occasionally send a synchronization signal to the one or more microphones. In response to receiving the synchronization signal, at least one of the one or more microphones may determine that the clock of the at least one microphone has drifted from a master audio clock of the receiver. The at least one microphone may then adjust its audio clock to resynchronize the audio clock of the microphone with the master audio clock of the receiver.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] [CROSS REFERENCE TO RELATED APPLICATIONS] This application claims priority to U.S. Provisional Application No. 63 / 310,996, entitled "Wireless Microphone System," filed on February 16, 2022, and U.S. Provisional Application No. 63 / 353,962, entitled "Synchronization of Transmitters and Receivers in a Wireless Microphone System," filed on June 21, 2022, which are incorporated by reference in their entireties. [Background technology]

[0002] Although a variety of microphones are available on the consumer market, it would be desirable to provide a wireless microphone system that has the added flexibility to accommodate a variety of configurations. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] US Patent Application Publication No. 2014 / 029701 [Patent Document 2] US Patent Application Publication No. 2014 / 143587 Summary of the Invention

[0004] The following summary presents a simplified overview of certain features. It is not an extensive overview or intended to identify key or critical elements.

[0005] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of wireless microphone systems, their elements, and methods of operating wireless microphone systems are described herein.

[0006] According to some aspects, a modular wireless microphone system is described in which multiple microphones may be used interchangeably to wirelessly communicate with the same wireless receiver. The number and type of wireless microphones that communicate with the wireless receiver may be varied based on a desired use case. Various microphones of the wireless microphone system are configured to wirelessly communicate with the wireless receiver using the same one or more data protocols such that the microphones are interchangeable within the wireless microphone system.

[0007] According to a further aspect, a particular wireless receiver may be used as an intermediary to wirelessly receive audio from one or more of these wireless microphones as audio data and provide digital or analog signals representing the audio to other devices connected to the wireless receiver. In a further example, other user devices such as smartphones, tablets, laptop computers, etc. may be configured (e.g., programmed) to wirelessly communicate directly with one, two, or more wireless microphones.

[0008] An additional aspect described herein discloses techniques for synchronizing data between a wireless receiver and one or more wireless microphones. The wireless receiver may transmit a synchronization signal to the one or more wireless microphones. In response to receiving the synchronization signal, at least one of the one or more wireless microphones may determine that a clock of the at least one microphone has drifted from a master audio clock of the receiver. The at least one microphone may adjust its audio clock to resynchronize its audio clock with the master audio clock of the receiver.

[0009] These and other features and potential advantages are detailed below. [Brief description of the drawings]

[0010] Certain features are illustrated by way of example, and not by way of limitation, in the accompanying drawings in which like numbers refer to similar elements and in which:

[0011] [Figure 1] 1 illustrates an example of a modular wireless microphone system. [Diagram 2] 1 illustrates another example of a modular wireless microphone system. [Diagram 3] 1 illustrates an example of how data may be transmitted wirelessly as downstream data and / or upstream data. [Figure 4A] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 4B] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 5A] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 5B] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 6A] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 6B] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 7A] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 7B] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 8A] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 8B] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 9A] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 9B] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 10A] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 10B] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 10C] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 11A] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 11B] 1 illustrates various exemplary configurations of a modular wireless microphone system 100. [Figure 12] 1 shows an example block diagram of various elements of a modular wireless microphone system. [Figure 13A] 1 illustrates an exemplary charging case that may be part of a modular wireless microphone system. [Figure 13B] 1 illustrates an exemplary charging case that may be part of a modular wireless microphone system. [Figure 13C] 1 illustrates an exemplary charging case that may be part of a modular wireless microphone system. [Figure 14] 4 is a flow chart illustrating an exemplary process for synchronizing audio data transmitted by a wireless microphone to a wireless receiver. [Figure 15A] 4 is a flow chart illustrating an exemplary process for synchronizing audio data between a wireless microphone and a wireless receiver. [Figure 15B] 4 is a flow chart illustrating an exemplary process for synchronizing audio data between a wireless microphone and a wireless receiver. [Figure 16A] 4 is a flow chart illustrating an exemplary process for synchronizing audio data between a wireless microphone and a wireless receiver. [Figure 16B] 4 is a flow chart illustrating an exemplary process for synchronizing audio data between a wireless microphone and a wireless receiver. [Figure 17]1 is a flowchart illustrating an example process for synchronizing multiple transmitters. [Figure 18] 1 illustrates an example of a modular wireless microphone system configured to synchronize at least one wireless transmitter with at least one receiver by adjusting an audio clock of the at least one transmitter. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] The accompanying drawings form a part of this disclosure and illustrate several examples of the present disclosure. It will be understood that the examples shown in the drawings and / or described herein are non-exclusive and that there are other examples of how the present disclosure may be practiced.

[0013] FIG. 1 illustrates an example of a modular wireless microphone system 100. In the illustrated example, system 100 may include one or more wireless microphones 101, a wireless receiver 103, and / or a charging case 104. The one or more wireless microphones may be of any one or more types, such as, but not limited to, one or more wireless lavalier (lapel) microphones, such as microphones 101b and 101c, one or more wireless handheld microphones, one or more wireless shotgun microphones, and / or any other type of wireless microphone. In FIG. 1, microphone 101a represents any type of wireless microphone, and microphone 101d represents any type of wired microphone. When wired microphone 101d is modified by (e.g., wiredly connected to) wireless transceiver 102, as described further below, the modified microphone (the combination of elements 101d and 102) may be transformed into a wireless microphone. That is, when reference is made herein to wireless microphone 101, this is intended to include (for this example) wireless microphones 101a, 101b, and 101c, as well as wired microphone 101d when modified by wireless transceiver 102.

[0014] Each of the wireless microphones 101 may be configured to wirelessly communicate with a wireless receiver 103. Wireless communication for each of the wireless microphones 103 may include wirelessly transmitting audio data representative of sounds detected by each of the microphones 101 to one or more of the wireless receivers 103. For example, wireless microphone 101a may detect sounds and generate and wirelessly transmit audio data representative of the detected sounds to the wireless receiver 103. Similarly, wireless microphones 101b and / or 101c may each detect sounds and each generate and wirelessly transmit audio data representative of the respective detected sounds to the wireless receiver 103. More than one of the multiple microphones 101 may transmit audio data to the wireless receiver 103 at the same time. For example, wireless microphone 101a may transmit its audio data to the wireless receiver 103 and wireless microphone 101b may also transmit its audio data to the wireless receiver 103. When multiple microphones 101 are simultaneously transmitting audio data to the same wireless receiver 103, the audio data from each microphone 101 may be treated as a separate channel or track by the wireless receiver 103. For example, audio data received from microphone 101a may be treated as a left audio channel by the wireless receiver 103, and audio data received from microphone 101b may be treated as a right audio channel by the wireless receiver 103. In another example, a single microphone (such as microphone 101a) may capture sound via two separate audio channels (e.g., left and right stereo audio channels) and transmit audio data representing these two audio channels separately. Any data transmitted by a microphone to a receiver is referred to herein as downstream data.

[0015] The wireless microphones 101 may each include one or more types of microphone elements implementing one or more polar patterns. For example, the wireless microphones 101 may each include bidirectional and / or cardioid microphone elements and / or may implement a single polar pattern or multiple selectable polar patterns.

[0016] The downstream data may also include, for example, data indicative of the configuration (e.g., status) of the microphone 101 transmitting the downstream data. For example, the downstream data may include data identifying the microphone, data indicative of the mode of the microphone, data indicative of one or more capabilities of the microphone, data indicative of the battery status of the microphone, data indicative of the measured wireless signal strength, data indicative of the gain of the microphone, data indicative of the data protocol used to transmit and / or receive data, data indicative of the audio data rate, data indicative of the audio codec used, data protocol handshake information, etc.

[0017] Wireless communication may further include upstream data wirelessly transmitted by wireless receiver 103 to one or more of microphones 101. The upstream data may include, for example, data identifying the wireless receiver, data indicative of the mode of the wireless receiver, data indicative of one or more capabilities of the wireless receiver (e.g., supported wireless channels, supported codecs, supported data rates, number of simultaneous audio channels supported, etc.), data indicative of the battery status of the wireless receiver, data indicative of measured wireless signal strength, data indicative of the gain of the wireless receiver, data indicative of the data protocol used, data protocol handshake information, backchannel (upstream) audio data, etc.

[0018] One or more of the microphones 101 may already be wireless enabled and / or one or more of the microphones 101 may be a wired microphone that has been reconfigured to operate as a wireless microphone. For example, if the microphone 101d is not itself wireless, the wireless transceiver 102 may be electrically connected to the microphone 101d (e.g., via an XLR connector of the microphone 101d) to make it a wireless microphone. The wireless transceiver 102 may be electrically connected to one or more digital and / or analog signal connectors of the microphone 101d, for example.

[0019] The wireless receiver 103 may include a display screen 110 and a user interface such as one or more buttons, switches, etc. (e.g., button 111). The display screen 110 may show information to a user such as the current status of the wireless receiver 103, the current status of one or more of the wireless microphones 101 (e.g., transmit status, connected status, on / off status, battery status), the current status of the wireless link with one or more of the wireless microphones (e.g., signal strength or quality), the gain (GAIN) being applied, the volume level, the equalization being applied, the codec being used for decoding, the audio data rate or quality, and / or any other information desired. The user interface may allow a user to turn the wireless receiver 103 on and off, connect and disconnect to one or more of the wireless microphones 101, and / or control any other functions of the wireless receiver 103 as desired.

[0020] The charging case 104 may be configured to hold (e.g., enclose) and charge batteries of one or more of the other elements of the modular system 100. For example, the charging case 104 may be configured to electrically connect to any one or more of the wireless microphones 101, either simultaneously or one at a time, to charge the rechargeable batteries of the wireless microphones 101. The charging case 103 may further be configured to electrically connect to the wireless receiver 103 to charge the battery of the wireless receiver 103, either simultaneously or at different times as the one or more microphones 101 are being charged. The wireless microphone 101 and the wireless receiver 103 may each include one or more electrical contacts, charging ports, and / or other types of electrical connectors configured to be electrically connectable to the charging case 104. The charging case 104 may have a power cord for connecting to an external power source, for example by plugging into a standard wall outlet, and the external power may be converted and used by the charging case 104 to charge the rechargeable batteries of the wireless microphones 101 and / or the wireless receiver 103. The charging case 104 may also have its own rechargeable battery that can be charged via the power cord. Once charged, the rechargeable battery of the charging case 104 can be used to charge the wireless microphone 101 and / or the wireless receiver 103 even while the charging case 104 is not connected to an external power source via its power cord.

[0021] Any of the wireless microphones 101 may include a user interface, such as one or more buttons, switches, a touch-sensitive surface, or the like, for accepting user input. The user input may adjust the operational configuration of each wireless microphone 101, to turn the wireless microphone on or off, to adjust the gain of the wireless microphone, to adjust the microphone's polar pattern, to connect to a particular wireless receiver, and / or for similar purposes.

[0022] FIG. 2 shows another configuration of the modular wireless microphone system 100. This is the same as the configuration of the modular wireless microphone system 100 shown in FIG. 1, except that a user device such as a smartphone is used as the wireless receiver 203 instead of the wireless receiver 103. That is, in the example shown in FIG. 2, one or more of the wireless microphones 101 may directly communicate wirelessly with a user device (e.g., a smartphone) that functions as the wireless receiver 203 without the need for a wireless communication intermediary device such as a dedicated wireless receiver (e.g., the wireless receiver 103). The modularity of the modular wireless microphone system 100 allows the wireless receiver (implemented using a smartphone or other user device) 203, the wireless receiver 103, and other compatible wireless receivers to be used interchangeably with the same microphone 100. Not only may certain wireless receivers be interchangeable in the modular wireless microphone system 100, but any of the elements of the modular wireless microphone system 100 may be interchangeable, added, and removed. This allows the user to have a flexible modular system experience. For example, at one given time, modular wireless microphone system 100 may use (e.g., receive audio data from) one active subset of microphones 100 (e.g., microphones 101b and 101c), at another given time, modular wireless microphone system 100 may be reconfigured to use a different active subset of microphones 100 (e.g., microphone 101a), and at yet another given time, modular wireless microphone system 100 may be reconfigured again to use yet a different active subset of microphones 100 (e.g., microphones 101a and 101b). In yet other example configurations, modular wireless microphone system 100 may use any or all of microphones 101a, 101b, and 101c, and / or additional wireless microphones 101 (and / or microphone types) not explicitly shown in FIGS. 1 and 2, to transmit audio data to wireless receiver 103 or 203.Furthermore, for any of these various configurations of modular wireless microphone system 100, any selected type of wireless receiver may be used in combination with a selected microphone 101, such as wireless receiver 103 or wireless receiver 203.

[0023] A user device in which the wireless receiver 203 may be implemented may be, for example, a smart phone, a table computer, a laptop computer, and / or any other user device capable of wirelessly communicating with one or more microphones 101. The user device may be configured, such as by executable software, to communicate directly with one or more microphones 101 in an appropriate wireless communication protocol and present an interactive user interface. This interactive user interface may allow a user to view similar information displayed by the wireless receiver 103 and / or to control functions of the user device in a manner similar to that described herein for the wireless receiver 103.

[0024] In any of the various configurations of the modular wireless microphone system 100, the wireless microphone 101 and any of the wireless receivers 103 or 203 may each be configured to wirelessly communicate upstream and / or downstream data using the same one or more data protocols. The data protocols for the upstream and downstream data may each include, for example, Classic Bluetooth, Bluetooth Low Energy (BLE), BLE Audio, a proprietary data protocol, any other standard or non-standard data protocol, and / or any combination of any of the above. A potential advantage of using a BLE data protocol is that it may utilize relatively low power consumption to wirelessly monitor, transmit, and / or receive data as compared to other wireless data protocols. The same data protocol may always be used for all types of wireless data communication between the wireless microphone 101 and the wireless receiver 103 / 203, or the data protocol may switch between two or more different data protocols depending on the operational mode of any of the elements of the modular system 100. To transmit audio data over a data protocol, the wireless microphone 101 and / or the wireless receiver 103 / 203 may embed (e.g., encapsulate) the audio data as a data packet, frame, and / or other type of protocol data unit (PDU) of the first data protocol into a PDU of the second data protocol. For example, if the second data protocol is BLE, the wireless microphone 101 and the wireless receiver 103 / 203 may each be configured to transmit data (e.g., audio data and / or control data) by encapsulating a PDU of the first data protocol within a BLE link layer packet, and / or to receive data (e.g., voice data) by extracting and reading the PDU so encapsulated. The encapsulated audio data packets may be of any standard or non-standard data protocol.As used herein, the term data "packet" is understood to include data "frames," as well as any other logical grouping of data that may be used by the associated data protocol used to represent audio data.

[0025] 3 illustrates an example of how data may be wirelessly transmitted as downstream data and / or upstream data. The transmitted data may include, for example, audio data and / or any other type of data described herein. In the illustrated example, a data stream (downstream or upstream) may include multiple PDUs 301 (e.g., 301a, 301b, etc.). Each of the PDUs 301 may be a PDU of the second data protocol described above. For example, the PDUs 301 may be BLE link layer packets. Each PDU 301 may include a header 302 (e.g., headers 302a and 302b) and a payload 303 (e.g., payloads 303a and 303b). The header 302 may include, for example, identification information such as a source device (e.g., a source address or other identifier of the wireless microphone 101 wirelessly transmitting the audio data embedded in the associated PDU 301) and a destination device (e.g., a destination address) for each PDU 301, timing information such as a timestamp, information related to the payload 303 such as the length and / or type of the payload and / or the length and / or type of the PDU 301, a CRC (Cyclic Redundancy Check), a header, and / or any other information specific to the particular second data protocol. The payload 303 may include, for example, any other data desired to be transferred between the devices. For example, the payloads 303 may each include audio data, commands, timestamps, and / or other data desired to be transferred between the devices. At least a portion of the data in the payload 303 may be included in one or more PDUs 310 of the first data protocol (e.g., PDUs 310a, 310b, 310c, and 310d). For example, any of the wireless microphones may generate one or more of PDUs 310 containing audio data (and / or other data) as downstream data, encapsulate or arrange one or more of those PDUs 310 into PDUs 301 (e.g., encapsulate PDUs 310a and 310b into PDU 301a), and transmit one or more PDUs 301 to wireless receiver 203 or 303.The wireless receiver 103 or 203 may then decapsulate or extract the PDU 310 from the received PDU 301, extract the audio data from the received PDU 301, and interpret the audio data (or other data) therein. The same process may be used for upstream data. Depending on which wireless receiver (and / or what type of wireless receiver) the wireless microphone 101 is sending the audio data to, the audio data may be formatted in the PDU 301 and / or a different type of PDU 301 may be used. For example, if the wireless microphone 101 is connected via BLE to the wireless receiver 103, which may be a first type of wireless receiver, such as a dedicated wireless audio receiver, the wireless microphone 101 may send audio data to the wireless receiver 103 using a first format and / or encapsulated in a first type of PDU. Instead, when that same wireless microphone 101 is connected via BLE to a wireless receiver 203, which may be a second type of wireless receiver such as a smartphone, the wireless microphone 101 may transmit audio data to the wireless receiver 303 using a second format (different from the first format) and / or encapsulated in a second type of PDU (different from the first type of PDU).

[0026] Any PDU of the first data protocol and / or the second data protocol (e.g., PDUs 301 and / or 310) may be of any length, data rate, PDU rate and format, as desired. The length and rate of a series of PDUs may be a predetermined static length or rate, or may vary from PDU to PDU.

[0027] In addition to transmitting audio data, wireless microphones may wirelessly transmit other types of data, for example, each wireless microphone 101 may transmit an indication of the configuration of the wireless microphone 101, such as the microphone mode, microphone identification, the desired audio data rate or quality, the codec used to encode and / or decode the audio data, the data protocol used to transmit the audio data, etc.

[0028] Each wireless microphone 101 may have a wireless connection channel (such as a BLE connection) with the wireless receiver 103 or 203. If the connection channel is a BLE connection, the BLE connection may have a specific BLE Generic Attribute Profile (GATT) service with one or more data characteristics for its transmitted channel audio. This may encapsulate encoded audio frames. Furthermore, the wireless connection may transmit one or more audio streams from the wireless microphone 101 to the wireless receiver 103 or 203. Here, each audio stream may have one or more audio channels, such as a mono audio stream or a stereo audio stream. The wireless microphone 101 and / or the wireless receiver 103 / 203 may configure the streams as desired. For example, the streams may be configured as a left audio channel, a right audio channel, another type of mono audio channel, or stereo audio.

[0029] As an example of the flow of audio data from the wireless microphone 101 to the wireless receiver 103 or 203, a wireless microphone 101, such as wireless microphone 101a, may receive sound via its microphone element and may convert an analog signal from the microphone element to a digital audio signal using an analog-to-digital (A / D) converter. Alternatively, if the wireless microphone 101a is, for example, a pulse density modulation (PDM) microphone, the wireless microphone 101a may generate a digital audio signal without the need for analog-to-digital conversion. The wireless microphone 101 may transmit the digital audio signal to a digital signal processing unit, for example, via an I2S bus. The digital signal processing unit may apply one or more desired digital signal processing functions (such as equalization, gain adjustment, etc.). Additionally or alternatively, the wireless microphone 101 may transmit the digital audio signal to the digital signal processing unit, for example, via a TDM bus. The resulting processed digital audio signal may be encoded using a CODEC, for example, OPUS CODEC. The encoded audio signal is then packaged into one or more PDUs (such as BLE link layer packets), time-stamped, modulated to radio frequency, and transmitted via the antenna of the wireless microphone 101a. At the receiving end, the PDUs are wirelessly received by the antenna of the wireless receiver 103 or 203, demodulated from radio frequency, decoded (such as using the OPUS CODEC), depacketized, and processed. The result of the decoding, for example, is pulse code modulated (PCM) audio data, which may be added to an accumulation buffer based on the timestamp of each received PDU. An asynchronous process in the wireless receiver 103 or 203 may extract PCM audio data from this buffer in response to the buffer containing a sufficient amount (e.g., at least a threshold amount) of PCM audio data.If the wireless receiver 203 is a user device, such as a smartphone with an existing operating system or other platform, and the process is implemented via software instructions running on the operating system or other platform, the software instructions may package the PCM audio data into a format suitable for the operating system or other platform and pass it to the operating system or other platform for further processing, as desired.

[0030] 4-11 show various exemplary configurations of modular wireless microphone system 100. One aspect of the disclosure contemplated herein is that modular wireless microphone system 100 may be reconfigurable in a myriad of ways to connect one or more of the microphones 101 with one or more types of other devices, such as wireless receivers 103 or 203, computers, mixers, cameras, and / or audio headsets. Thus, the illustrated configurations are merely examples, and many other possible configurations (e.g., interconnections) of the various elements of modular wireless microphone system 100 exist.

[0031] For example, the various elements of the modular wireless microphone system 100 are compatible to communicate with each other in various combinations, allowing the modular wireless microphone system 100 to flexibly accommodate the specific needs of a user in a particular situation. Furthermore, the modular wireless microphone system 100 can be scaled as needed from a single wireless microphone to as many simultaneous / parallel wireless microphones as needed to provide as many audio channels as needed. For example, if a user requires more than one audio channel, the user may wirelessly (or wiredly) connect two or more of the wireless microphones 101 to other devices capable of receiving audio channels from the wireless microphones 101. If a user requires only a single audio channel, the user may utilize only a single wireless microphone 101. If the other device is directly compatible with the wireless microphone 101, the user may directly connect the wireless microphone 101 to the other device (wirelessly or wiredly). If the other device is not directly compatible with the wireless microphone 101 (e.g., the other device is not compatible with the wireless audio protocol transmitted by the wireless microphone 101), the user may connect a wireless receiver 103 (or 203) between the wireless microphone 101 and the other device, and the wireless receiver 103 (or 203) may perform the necessary signal and format conversion to receive audio from the wireless microphone 101 and transmit the audio to the other device.

[0032] 4A and 4B show two exemplary configurations of the modular wireless microphone system 100. In the configuration of FIG. 4A, one of the wireless microphones (e.g., wireless microphone 101a) transmits audio to the wireless receiver 203 via a wireless connection such as BLE that encapsulates other data protocols. In the configuration of FIG. 4B, one of the wireless microphones (e.g., wireless microphone 101a) transmits audio to the wireless receiver 203 via a wired connection such as Universal Serial Bus (USB) (e.g., USB-C). Alternatively, the wireless receiver 103 may replace the wireless receiver 203. The wireless receiver 203 (or 103) may transmit upstream data to the wireless microphone 101a via a wireless connection (e.g., a BLE data connection) or a wired connection (e.g., a USB-C connection). The configurations of FIG. 4A and 4B may be useful, for example, to transmit only a single audio channel from a single microphone.

[0033] 5A and 5B show two other exemplary configurations of the modular wireless microphone system 100. In the configuration of FIG. 5A, a different one of the wireless microphones (e.g., wireless microphone 101b) communicates wirelessly with the wireless receiver 203. In the configuration of FIG. 5B, more than one of the wireless microphones (e.g., two wireless microphones 101b and 101c) communicate wirelessly with the wireless receiver 203 at the same time. In both configurations, the wireless connections may each be, for example, BLE, encapsulating other data protocols. In both configurations of FIG. 5A and FIG. 5B, the wireless receiver 203 may be replaced by the wireless receiver 103 instead. In a configuration with two wireless microphones, one of the wireless microphones (e.g., wireless microphone 101b) may transmit audio data that is interpreted and treated by the wireless receiver 203 as a first (e.g., left) audio channel, and the other of the wireless microphones (e.g., wireless microphone 101c) may transmit audio data that is interpreted and treated by the wireless receiver 203 as a second (e.g., right) audio channel. These example configurations may be useful, for example, for transmitting one channel of audio (FIG. 5A) or multiple simultaneous (parallel) channels of audio (FIG. 5B). In the configuration of FIG. 5B, the wireless receiver 203 (or 103) may have a single set of wireless receiver circuitry configured to demultiplex audio data wirelessly received from multiple microphones (e.g., audio data wirelessly received simultaneously from microphones 101b and 101c). The wireless receiver 203 (or 103) may be further configured to mix the two audio channels in a desired manner and generate a digital or analog signal representing the mixed audio channel.

[0034] 6A and 6B show two further exemplary configurations of the modular wireless microphone system 100. In the configuration of FIG. 6A, different wireless microphones (e.g., two wireless microphones 101a and 101b) are simultaneously in wireless communication with the wireless receiver 203. In the configuration of FIG. 6B, a different one of the wireless microphones (e.g., wireless microphone 101a) is in wireless communication with the wireless receiver 103. In both configurations of FIG. 6A and 6B, the wireless connections may each be, for example, BLE encapsulating other data protocols. In either configuration, the wireless receiver 203 may be replaced by the wireless receiver 103 instead. In a configuration with two wireless microphones, one of the wireless microphones (e.g., wireless microphone 101a) may transmit audio data that is interpreted and treated as a first (e.g., left) audio channel by the wireless receiver 203, and the other of the wireless microphones (e.g., wireless microphone 101b) may transmit audio data that is interpreted and treated as a second (e.g., right) audio channel by the wireless receiver 203. The example configuration of Figure 6 may be useful, for example, for transmitting one channel of audio (Figure 6B) or multiple simultaneous (parallel) channels of audio (Figure 6A).

[0035] 7A and 7B show two further exemplary configurations of the modular wireless microphone system 100. In the configuration of FIG. 7A, different wireless microphones (e.g., two wireless microphones 101b and 101c) communicate wirelessly with the wireless receiver 103 at the same time. In the configuration of FIG. 7B, one of the wireless microphones (e.g., wireless microphone 101b) communicates wirelessly with the wireless receiver 103. In both configurations of FIG. 7A and 7B, the wireless connections may each be, for example, BLE encapsulating other data protocols. In either configuration, the wireless receiver 103 may be replaced by the wireless receiver 203 instead. In a configuration with two wireless microphones, one of the wireless microphones (e.g., wireless microphone 101b) may transmit audio data that is interpreted and treated as a first (e.g., left) audio channel by the wireless receiver 103, and the other of the wireless microphones (e.g., wireless microphone 101c) may transmit audio data that is interpreted and treated as a second (e.g., right) audio channel by the wireless receiver 103. These example configurations may be useful, for example, for transmitting one channel of audio (FIG. 7B) or multiple simultaneous (parallel) channels of audio (FIG. 7A).

[0036] 8A and 8B show two further exemplary configurations of the modular wireless microphone system 100. In FIG. 8A, different wireless microphones (e.g., two wireless microphones 101a and 101c) are simultaneously wirelessly communicating with a wireless receiver 103. The wireless connections may be, for example, BLE, each encapsulating other data protocols. Alternatively, the wireless receiver 103 is replaced by a wireless receiver 203. One of the wireless microphones (e.g., wireless microphone 101a) may transmit audio data that is interpreted and treated by the wireless receiver 103 as a first (e.g., left) audio channel, and the other of the wireless microphones (e.g., wireless microphone 101c) may transmit audio data that is interpreted and treated by the wireless receiver 103 as a second (e.g., right) audio channel. The configuration of FIG. 8A may be useful, for example, for transmitting multiple simultaneous (parallel) channels of audio.

[0037] The configuration of FIG. 8B shows a wireless microphone (e.g., wireless microphone 101a) connected to another device 801 via a wired connection. The wired connection can be, for example, a 3.5 mm TRRS connection, or any other type of connection for transferring analog and / or digital signals. The other device 801 can be any type of device capable of receiving audio from the wireless microphone and is shown as, for example, a camera. However, the device 801 can be other types of audio or audio / visual devices, such as, for example, a mixer, a wired receiver, a laptop computer, etc. FIG. 8B can be useful, for example, for transmitting single channel audio or multi-channel audio (such as left / right stereo audio) to the device 801. For example, the device 801 can be a video camera and can be recording or capturing video while audio associated with the video is being received via the microphone 101. The device 801 can synchronize the audio with the video in a desired manner.

[0038] 9A and 9B show two further example configurations of the modular wireless microphone system 100. In both example configurations of FIG. 9A and FIG. 9B, the wireless receiver 103 may be connected to another device, such as the device 801, via a wired connection. The wired connection may be, for example, a 3.5 mm TRRS connection, or any other type of connection for transferring analog and / or digital signals. While the wireless receiver 103 is connected to the device 801, the wireless receiver 103 may be simultaneously wirelessly receiving audio data from one or more of the microphones 101, such as microphone 101a. The wireless connection between the wireless receiver 103 and the wireless microphones may be, for example, BLE, which encapsulates other data protocols. The wireless receiver 103 may extract the audio data received via the wireless connection and forward a signal based on the audio data to the device 801. For example, the wireless receiver 103 converts the audio data into an analog audio signal, which may be transmitted to the device 801 via the wired connection. As another example, the wireless receiver 103 may transmit the audio data, or other data derived from the audio data, over a wired connection to the device 801. This configuration may be useful when the device 801 is not necessarily compatible with wireless connection data protocols, or when the device 801 does not have any wireless communication capabilities.

[0039] The configuration of FIG. 9B is similar to that of FIG. 9A, except that in addition to the wired connection, the wireless receiver 103 is physically connected (e.g., physically mounted) to the device 801 via a mounting apparatus. The wireless receiver 103 may be mounted, for example, to a shoe-type mounting apparatus such as those typically found on digital cameras. The mounting apparatus may be a "cold" mount (e.g., a cold shoe mount) in which no data and / or power is transferred between the wireless receiver 103 and the device 801 via the mounting apparatus. However, the mounting apparatus may alternatively be a "hot" mount (e.g., a hot shoe mount) in which power and / or data is transferred between the wireless receiver 103 and the device 801. In a "hot" mounting scenario, the audio data is transferred via the mounting apparatus, so a separate wired connection (e.g., a 35mm TRRS connection) is redundant and not required. When mounted to the device 801, the wireless receiver 103 may be configured to be mounted to the device 801 in a low-profile or thin manner, for example, by having its own mounting device connection on the back of the wireless receiver 103 and / or by being foldable relative to its mounting connection.

[0040] 10A, 10B, and 10C show further exemplary configurations of the modular wireless microphone system 100. In the configurations of FIG. 10A and 10C, the wireless receiver 103 or the wireless receiver 203 may be connected to another device, such as an audio headset 1001, earphones, or other type of audio compatible user listening device, via a wired connection. The wired connection may be, for example, a 3.5mm TRRS connection (or other headphone jack type), a Lightning connection (which may include an adapter for connecting to headphones, such as a Lightning / 3.5m adapter), or any other type of connection for transferring analog and / or digital signals. Instead of a wired connection between the wireless receiver 103 / 203 and the audio headset 1001, there may be a wireless connection, such as via Bluetooth or BLE. While the wireless receiver 103 is connected (wired or wirelessly) to the audio headset 1001, the wireless receiver 103 may also simultaneously wirelessly receive audio data from one or more of the microphones 101, such as microphone 101a. The wireless connection between the wireless receiver 103 and the wireless microphone may be, for example, BLE encapsulating other data protocols. The wired receiver 103 may extract audio data received over the wireless connection and forward a signal based on the audio data to the audio headset 1001. For example, the wireless receiver 103 may convert the audio data to an analog audio signal, which may be transmitted to the audio headset 1001 over a wired connection. As another example, the wireless receiver 103 may transmit the audio data, or other data derived from the audio data, to the audio headset 1001 over a wired connection. This configuration may be useful in cases where the audio headset 1001 is not necessarily compatible with the wireless connection data protocol or where the audio headset 1001 does not have any wireless communication capabilities.As another example, the audio headset 1001 may be connected to the wireless receiver 103 via a 3.5mm TRRS connection (for example), and a first person wearing the audio headset 1001 at the wireless receiver 103 may speak into the microphone of the audio headset 1001. The first person's voice may be transmitted to the hardware receiver 103, which may then transmit wirelessly back to the microphone 101a via a reverse link (e.g., back channel). A second person at the microphone 101a may have audio headphones plugged into or in communication with the microphone 101a, which may transmit the first person's transmitted voice to the second person's audio headphones. In this way, the second person can hear the transmitted voice coming back from the first person at the wireless receiver 103.

[0041] 10B, a wireless microphone 101 (e.g., wireless microphone 101a) may be directly connected to audio headset 1001 by a wired connection. The wired connection may be, for example, a 3.5mm TRRS connection, or any other type of connection for transferring analog and / or digital signals. In this example configuration, wireless microphone 101 may temporarily function as a wired microphone.

[0042] 11A and 11B show two further exemplary configurations of the modular wireless microphone system 100. In the configuration of FIG. 11A, the wireless receiver 103 may be connected via a wired connection to another device 1101, such as a laptop computer, a desktop computer, a mixer, or other type of device capable of receiving and / or processing audio signals. For non-limiting illustrative purposes only, the following description assumes that the device 1101 is a laptop computer. The wired connection may be, for example, a USB connection, such as a USB-C connection, or any other type of connection for transferring analog and / or digital signals. While the wireless receiver 103 is connected to the laptop computer 1101, the wireless receiver 103 may be simultaneously wirelessly receiving audio data from one or more of the microphones 101, such as microphone 101a. The wireless connection between the wireless receiver 103 and the wireless microphones may be, for example, BLE encapsulating other data protocols. The wireless receiver 103 may extract audio data received via the wireless connection and transfer a signal based on the audio data to the laptop computer 1101. For example, the wireless receiver 103 may transmit the audio data, or other data derived from the audio data, to the laptop computer 1101 via a USB-C wired connection. As another example, the wireless receiver 103 may convert the audio data to an analog audio signal that may be transmitted to the laptop computer 1101 via another type of wired connection. This configuration may be useful when the laptop computer 1101 is not necessarily compatible with the wireless connection data protocol (e.g., does not have a BLE communication card) or when the laptop computer 1101 does not have any wireless communication capabilities.

[0043] 11B, a wireless microphone 101 (e.g., wireless microphone 101a) may be directly connected to a laptop computer 1101 by a wired connection. The wired connection may be, for example, a USB connection, such as a USB-C connection, or any other type of connection for transferring analog and / or digital signals. In this example configuration, the wireless microphone 101 may temporarily function as a wired microphone.

[0044] 12 shows an example block diagram of any of the elements of the modular wireless microphone system 100. Each of the elements 101, 102, 103, 104 and / or 203 may or may not be implemented partially or fully as a device as shown in FIG. 12. The device 1200 may be implemented, for example, as a computing device that executes stored instructions and / or as hardwired circuitry that may or may not execute stored instructions. In the illustrated example, the device 1200 may include or be connected to any of one or more processors 1201, storage 1202 (which may include one or more computer-readable media such as memory), a wireless interface 1203, a wired interface 1207, an input device 1205, an output device 1206, and / or one or more microphone elements (with respective microphone driver circuits) 1208.

[0045] The one or more processors 1201 may be configured to execute instructions stored in the storage 1202. The instructions, when executed by the one or more processors 1201, may cause the device 1200 to perform any of the functions described herein performed by any of the elements 101, 102, 103, 104 and / or 203 of the modular wireless microphone system 100. For example, the instructions may configure the one or more processors 1201 to cause the device 1200 to implement, enable, disable, and / or modify device settings, such as data transmission settings, microphone polar pattern settings, digital signal processing settings, user interfaces, etc.

[0046] The wireless interface 1203 may include or be coupled to one or more antennas and may transmit and / or receive upstream and / or downstream data, such as data wirelessly transmitted between one of the wireless microphones 101 and the wireless receiver 103 or 203. The wired interface 1207 may include one or more physical connections for receiving and / or transmitting digital and / or analog signals, such as a USB (e.g., USB-C) connection or other types of connections (e.g., Apple's Lightning) as described above and / or a TRRS connection as described above. If the wireless interface is part of the wireless receiver 103 or 203, the wireless interface 1203 may include circuitry configured to receive, extract, and demultiplex audio data received from the multiple wireless microphones 101. For example, when a wireless receiver 103 or 203 is receiving simultaneously from two wireless microphones 101 (as in the configuration of FIG. 5B ), the wireless interface 1203 of the wireless receiver 103 or 203 may be configured to demultiplex the audio data received wirelessly via a common transmission medium (e.g., air) shared by both transmitting ones of the wireless microphones 101. Depending on the data protocol used by the wireless microphone 101 to transmit the audio data, the audio data received and extracted by the wireless receiver 103 or 203 may be attributed to the wireless microphone source 101 via received data related to (e.g., identifying) the source wireless microphone that transmitted the audio data.

[0047] The input device 1205 and / or the output device 1206 may implement any user interface of a particular element of the modular wireless microphone system 100. For example, buttons on the microphone 101a may correspond to the input device 1205, and a display screen of the wireless receiver 103 or 203 may correspond to the output device 1206.

[0048] Power may be supplied as necessary to any element of device 1200. Although not explicitly shown, device 1200 may include a power connection for receiving an internal power source (such as a battery) and / or an external power source.

[0049] Figures 13A to 13C show a detailed example of charging case 104. Figures 13A and 13B are views of charging case 104 from above with lid 1301 removed. Figure 13C is a side view of charging case 104 with lid 1301 in place and closed.

[0050] 13A, the charging case 104 may include a body (e.g., housing) 1302, which may be made of, for example, plastic. The body 1302 may include an interior portion including one, two, or more recesses 1303 (e.g., 1303a and 1303b). The one, two, or more microphones 101 are fitted and at least partially placed in the one, two, or more recesses 1303. The recesses 1303 may have a shape related to the wireless microphone 101 placed therein. For example, each recess 1303 may have a shape that matches the outer shape of at least a portion of the wireless microphone 101 disposed therein. The recesses 1303 may further include one, two, or more electrical contacts 1304 (e.g., contact pair 1304a and contact pair 1304b), each configured to electrically contact one, two, or more corresponding electrical contacts of the wireless microphone 101 placed in the recess 1303. The charging case 104 may also include one or more magnets positioned, shaped, and / or otherwise configured to hold the wireless microphone 101 in place while the wireless microphone 101 is being charged. Magnets may be positioned within the recesses 1303, integrated into the electrical contacts 1304, and / or otherwise arranged as desired to interface with one or more magnets or magnetic material of the wireless microphone 101 when the wireless microphone 101 is being charged in the charging case 1404.

[0051] 13B is similar to FIG 13A, except that two of the wireless microphones 101 (in this example, wireless microphones 101b and 101c) are disposed in respective recesses 1303a and 1303b such that their electrical contacts are electrically connected to electrical contacts 1304. In such a configuration, wireless microphones 101b and 101c may be charged simultaneously by charging case 104.

[0052] FIG. 13C is a side view of the charging case 104 with the lid 1301 closed against the body 1302 such that the interior is sealed by the body 1302 and the lid 1301. The lid 1301 may also be considered part of the body 1302. The lid 1301 may have a hinge on one side that allows the lid 1301 to pivot between an open position (for inserting or removing the wireless microphone 101) and a closed position. Alternatively, the lid may be set in place by friction fitting to the body 1302 and removed completely as needed without a hinge. In addition, FIG. 13C shows that the wireless receiver 103 may also be electrically connected to the charging case 104 so that it can be charged simultaneously with the wireless microphones 101b and 101c as needed. In this example, the wireless receiver 103 may have one, two or more electrical contacts that may be electrically connected to one, two or more electrical contacts on an exterior (e.g., bottom) surface of the charging case 104 and may be charged simultaneously with charging of the one or more microphones by the charging case 104. The wireless receiver 103 and / or charging case 104 may have one or more physical connectors (which may be part of an electrical connector) that physically hold (e.g., mount) the wireless receiver 103 to the charging case 104 during charging.

[0053] FIG. 14 is a flow chart illustrating an exemplary process for synchronizing audio data transmitted by one of the wireless microphones 101 to the wireless receiver 103 or 203 and for establishing a connection between the wireless microphone 101 and the wireless receiver 103 or 203. Each of the wireless microphones 101 and the wireless receiver 103 or 203 may run its own local clock. Each wireless microphone 101 may include a timestamp in one or more of the PDUs 301 (e.g., header 302) or 310 based on its local clock. However, the various local clocks of the various devices may not necessarily be synchronized with each other. In fact, they are likely not synchronized unless intentionally synchronized. That is, if an audio data packet (e.g., a BLE link layer packet) transmitted by a wireless microphone 101 is associated with (e.g., stamped with) a particular timestamp based on the local clock of that wireless microphone 101, that timestamp may not be meaningful to the wireless receiver (which has its own independent local clock). One way to overcome this is to determine and provide to the wireless microphone 101 and / or wireless receiver 103 or 203 information relating to the offset between the local clock of the wireless microphone 101 and the local clock of the wireless receiver 103 or 203. For example, it may be desirable to determine a common "presentation time" (PT) for each audio data packet, which may be the time when the audio contained in the data packet was physically present at the microphone. By determining an accurate estimate of the PT for the audio data packets, the receiving device (e.g., camera 801) can know the exact timing when each received audio packet was generated and can use this information to synchronize received audio data from a given microphone with other sets of audio data (e.g., from other microphones simultaneously transmitting their own audio data) or with video that may be recorded and / or received while the microphone is transmitting audio data.

[0054] Referring to the exemplary flow chart of FIG. 14, in step 1401, the wireless receiver 103 or 203 may write clock characteristics into a data packet and wirelessly transmit the data packet to a given one of the wireless microphones 101. The clock characteristics may be, for example, the value of any clock (e.g., a high-resolution and / or high-precision timer) available to the wireless receiver 103 or 203. For example, if the wireless receiver 203 uses Apple's iOS operating system, the clock may be the main iOS audio / video clock and a "media timer" that is a system clock with nanosecond resolution. Google's Android operating system (which may alternatively be used by the wireless receiver 203) may use a similar system clock that may be used as the clock used to generate the clock characteristics. As another example, the wireless receiver 103 or 203 may have an internal hardware-based clock or have access to an external clock source as a timer. Regardless of the type of clock used by the wireless receiver 103 or 203, the wireless receiver 103 or 203 may generate a clock characteristic based on (e.g., equal to) the value of the clock. Step 1401 may be performed after a wireless connection with the wireless microphone 101 is established and before audio subscribing to the wireless microphone 101. In response to the data packet, the wireless microphone 101 may generate and wirelessly transmit an acknowledgement packet (or other type of packet) to the wireless receiver 103 or 203. The wireless receiver 103 or 203 may measure (using its local clock) the round trip time from sending the message in step 1401 to receiving the acknowledgement packet in step 1402.

[0055] The wireless receiver 103 or 203 may repeat this process of steps 1401 and 1402 multiple times, as indicated by steps 1403, 1404, and 1405. For example, the wireless receiver 103 or 203 may transmit a clock characteristic, receive a corresponding confirmation, and measure the round trip time, a sum of three times, a sum of four times, a sum of five times, or any other number of times.

[0056] The wireless receiver 103 or 203 may determine a transfer delay (the time it takes for one-way transmission from the wireless microphone 101 to the wireless receiver 103 or 203) based on a number of measured round trip times. For example, the wireless receiver 103 or 203 may take the average or median of the round trip times and divide the average or mean by two to estimate the transfer delay. For example, if the measured round trip times are A milliseconds, B milliseconds, and C milliseconds, the wireless receiver 103 or 203 may determine the transfer delay as median (A, B, C) / 2. Once the wireless receiver 103 or 203 has determined the transfer delay, the wireless receiver 103 or 203 may take the transfer delay into account by adding the transfer delay to a timestamp value of the clock characteristic and write the clock characteristic one last time. For example, if the time on the wireless receiver's local clock is X and the transfer delay is Y, the wireless receiver 103 or 203 may transmit a data packet indicating a timestamp of X+Y.

[0057] Thereafter, in step 1406, the wireless receiver 103 or 203 may subscribe to the wireless microphone 101's audio data, and in steps 1407 and 1408 (and for each subsequent audio data packet), the wireless microphone 101 may transmit multiple audio data packets, such as by embedding the audio data in one or more BLE data packets to form an audio data packet. Each audio data packet transmitted by the wireless microphone 101 includes or is otherwise associated with a timestamp value that represents the packet's PT in the wireless receiver's local clock time base. The PT may represent a forward delay offset. The wireless microphone 101 may use this value to adjust its timestamp included in the transmitted audio data packet. BLE may be used as a first protocol to establish a connection between the wireless microphone 101 and the wireless receiver 103 or 203 (e.g., when performing any of steps 1401 to 1406), and then, once the connection is established, the wireless microphone 101 may shift to the second transmission protocol to transmit audio data packets (e.g., by embedding the audio in BLE data packets as described herein with respect to FIG. 3).

[0058] As mentioned above, the wireless receiver 103 or 203 may synchronize its clock with the wireless microphone 101 before subscribing to the wireless microphone 101's audio data. After subscribing to the wireless microphone 101's audio data, the wireless receiver 103 or 203 and one or more wireless microphones 101 may need to synchronize their clocks to ensure that the data being received by the wireless receiver 103 or 203 is accurate. Figures 15A and 15B show a flow chart illustrating an example process for synchronizing the wireless receiver with audio data transmitted by a wireless microphone, for example, after the wireless receiver subscribes to the wireless microphone's audio data.

[0059] In step 1505, the transmitter (e.g., wireless microphone 101) may receive a first synchronization signal from a receiver (e.g., wireless receiver 103). In step 1510, the transmitter (e.g., wireless microphone 101) may store a predetermined number of audio samples, for example, in response to receiving the first synchronization signal. The predetermined number of audio samples may be a nominal number of audio samples stored in an audio sampling queue. The nominal number of audio samples may be defined by the receiver (e.g., wireless receiver 103) before the receiver subscribes to the transmitter's audio data. The transmitter may discard all but the nominal number of audio samples stored in the audio sampling queue. That is, the transmitter may delete or erase audio samples that exceed the nominal number of audio samples, for example, based on or in response to receiving the first synchronization signal. Additionally, the transmitter may set an elapsed synchronization signal count to zero in step 1515. The elapsed synchronization signal count may be set to zero, for example, based on or in response to receiving the first synchronization signal. Setting the elapsed synchronization signal count to zero may include resetting a counter. Additionally or alternatively, setting the elapsed synchronization signal count to zero may include resetting an increment register to zero.

[0060] In step 1520, the transmitter may receive a second synchronization signal from the receiver. The second synchronization signal may be received at a predetermined interval (e.g., 10 to 20 milliseconds) after the first synchronization signal. Each subsequent synchronization signal may be received at a predetermined interval. In step 1525, the transmitter may store an address of the synchronization signal. The address of the synchronization signal may be stored in a hardware register of the transmitter. In step 1530, the transmitter (e.g., a processor of the transmitter) may detect, for example, the address of the synchronization signal in a hardware register. In response to detecting the address of the synchronization signal, the transmitter may generate an interrupt in step 1535. Additionally or alternatively, the transmitter may increment an elapsed synchronization signal counter in step 1540.

[0061] In step 1545, the transmitter may determine a current number of audio samples in the audio sampling queue. The determination of the current number of audio samples may be determined, for example, based on or in response to an interrupt. Additionally, the determination of the current number of audio samples may be determined by querying or otherwise monitoring the audio sampling queue and determining the number of audio samples contained therein. In step 1550, the transmitter may determine whether the current number of audio samples is equal to the previous number of audio samples. If so, the transmitter may transmit the audio samples to the receiver in step 1552. Preferably, the audio samples are transmitted to the receiver via a wireless connection, as described above. The step of transmitting the audio samples to the receiver may include transferring a certain number of audio samples from the audio sampling queue to a transmission queue. Additionally or alternatively, the transmitter may convert the digital audio samples to analog audio samples before transmitting the audio samples to the receiver. The transmitter may convert the digital audio samples to analog audio samples using a digital-to-analog converter (DAC). In some embodiments, the number of audio samples transmitted to the receiver in step 1552 may occur at predetermined intervals or with a fixed regularity. For example, the number of audio samples may be transmitted using the techniques described above in FIG. 3. That is, the number of audio samples may be transmitted as blocks or chunks of data. Alternatively, the number of audio samples may be transmitted continuously (e.g., streamed) from the transmitter to the receiver.

[0062] If the current number of audio samples is not equal to the previous number of audio samples, the transmitter may determine whether the current number of audio samples is equal to the predetermined number of audio samples, in step 1555. If the current number of audio samples is equal to the predetermined number of audio samples, the transmitter may transmit the audio samples to the receiver, in step 1557. The audio samples may be transmitted using the techniques described above in step 1552. In step 1559, the transmitter may set the elapsed synchronization signal count to zero and return to step 1520 to monitor for the next synchronization signal.

[0063] If the current number of audio samples is not equal to the predetermined number of audio samples, the transmitter may recognize that the transmitter's audio clock is drifting. That is, the transmitter may determine that its audio clock is drifting. To determine the direction of the drift and / or to adjust the transmitter's audio clock, the transmitter may determine the difference between the current number of audio samples and the previous number of audio samples in step 1560. In this regard, if the current number of audio samples is greater than the previous number of audio samples, a positive integer may indicate that the transmitter's audio clock is drifting in a direction faster than the receiver's master audio clock. On the other hand, if the result is a negative integer, the transmitter may determine that the audio clock is drifting in a direction slower than the receiver's master audio clock. In step 1565, the transmitter may, for example, determine a time difference between the transmitter's audio clock and the receiver's master audio clock. The time difference may be determined by multiplying the elapsed synchronization signal count by the synchronization signal interval.

[0064] In step 1570, the transmitter may determine (e.g., calculate) an audio clock error. The audio clock error may be determined using the difference between the current and previous audio sample numbers determined in step 1560 and / or the time difference determined in step 1565. The audio clock error may be the difference in Hertz (Hz) between the transmitter's audio clock and the receiver's master audio clock. In step 1575, the transmitter may adjust the audio clock frequency of its audio clock. That is, the transmitter may adjust the audio clock frequency of its audio clock in a direction opposite to the determined (e.g., detected) error and / or drift. For example, if the transmitter determines that the audio clock is drifting slower than the master audio clock, the transmitter may adjust its audio clock to increase the frequency of the audio clock. By increasing the audio clock, the transmitter may increase the rate at which the microphone acquires audio samples. Alternatively, if the transmitter determines that the audio clock is drifting faster than the master audio clock, the transmitter may adjust its audio clock to decrease the frequency of the audio clock. By decreasing the audio clock, the transmitter may obtain audio samples at a lower (less frequent) rate. Additionally or alternatively, adjusting the audio clock may include adjusting frame boundaries. As described in more detail below with respect to FIG. 18, the audio clock frequency may be adjusted by writing values ​​to a register.

[0065] Once the audio clock has been adjusted, the transmitter may set the elapsed sync signal count to zero, in step 1580. Additionally or alternatively, the transmitter may set the previous audio sample number to the current audio sample number, in step 1580. These steps, alone or in combination, allow the transmitter to detect drift in near real time, thereby ensuring that multiple transmitters remain synchronized with the receiver's master clock.

[0066] In step 1585, the transmitter may transmit the audio samples to the receiver. The audio samples may be transmitted using the techniques described above in step 1552. The receiver may combine the audio samples with audio samples received from one or more second transmitters. Additionally or alternatively, the audio samples may be used to generate an audio file. The audio file may be played back immediately. Alternatively, the audio file may be stored for later editing, playback, and / or replay. After transmitting the audio samples to the receiver, the transmitter may return to step 1520 and monitor for further synchronization signals.

[0067] 16A and 16B show a flowchart illustrating another exemplary process for synchronizing audio data transmitted by a wireless microphone to a wireless receiver after the wireless receiver subscribes to the audio data of the wireless microphone.

[0068] In step 1605, an audio interface of a transmitter (e.g., wireless microphone 101) may be configured to generate an audio sample event for each audio sample received by the transmitter. As described in more detail with respect to FIG. 18, the audio interface may be an electrical serial bus interface (e.g., an Inter-IC Sound (ISO)) configured to connect multiple digital audio devices together and / or to communicate audio data between integrated circuits within an electronic device. 2The audio sample event may be, for example, a data block received via an input (e.g., a microphone) of the transmitter. The data block may be a datagram or any other suitable data chunk received via the input. Preferably, the data chunk is a 24-bit PCM sample.

[0069] After the audio interface is configured to generate audio sample events, a counter of the transmitter may be configured in step 1610. Preferably, the counter may be configured to increment, for example, based on or in response to receiving an audio sample event. In step 1615, the counter may be further configured to store and reset the count upon receipt of a synchronization signal. The count may be a predefined audio sample event that the transmitter expects to receive during the synchronization signal. Additionally or alternatively, storing the count may include setting the counter to an initial count of zero. The counter may also be configured to reset upon receipt of a synchronization signal. In this regard, the counter may be configured to reset immediately after receipt of the synchronization signal. Additionally or alternatively, the counter may be configured to output the count to a register or any other suitable memory and thereafter reset the counter. As described in more detail below with respect to step 1665, the counter may be used to determine whether the transmitter's clock is drifting from a master clock that may be maintained by the receiver (e.g., receiver 103). Configuration of the audio interface and counter may be performed as part of an initial configuration between the transmitter and / or receiver. Additionally or alternatively, the audio interface and counter may be configured before the transmitter is purchased and / or sold, i.e., the audio interface and counter may be configured according to factory settings.

[0070] After the audio interface and counters are configured and after the receiver (e.g., receiver 103) subscribes to the audio data of the transmitter (e.g., microphone 101), the transmitter may receive a first synchronization signal from the receiver in step 1620. The first synchronization signal may be transmitted over a wireless communication link between the transmitter and the receiver. Alternatively, the first synchronization signal may be transmitted over a wired connection between the transmitter and the receiver.

[0071] In step 1625, the transmitter may store a predetermined number of audio samples, for example, based on receiving the first synchronization signal. Additionally, the transmitter may record the number of received audio samples, for example, using a counter as described above. The predetermined number of audio samples may be a nominal number of audio samples received by the transmitter. As described above, the nominal number of audio samples may be preconfigured. Additionally or alternatively, the nominal number of audio samples may be determined by a counter. That is, the nominal number of audio samples may be indicated by a number of audio sample events recorded by the counter. In this regard, the nominal number of audio samples may be indicated by a number of audio sample events recorded by the counter between the first synchronization signal (i.e., sync0) and the second synchronization signal (i.e., sync1). In some cases, the receiver (e.g., wireless receiver 103) may configure the transmitter with the nominal number of audio samples. In step 1630, the transmitter may set an elapsed synchronization signal count to zero. Setting the elapsed synchronization signal count to zero may include resetting a counter and / or an increment register to zero.

[0072] In step 1635, the transmitter may receive a second synchronization signal (i.e., syncn, n≧2) from the receiver. The second synchronization signal may be received at a predetermined interval (e.g., 10 to 20 milliseconds) after the first synchronization signal. Each subsequent synchronization signal may be received at a predetermined interval. In step 1640, the transmitter may store an address of the synchronization signal, for example, in a hardware register of the transmitter. In particular, the address of the synchronization signal may be stored in a hardware register of a processor of the transmitter. In step 1645, the transmitter (e.g., a processor of the transmitter) may detect the address of the synchronization signal in the hardware register. In step 1650, the transmitter may generate an interrupt, for example, based on or in response to detecting the address of the synchronization signal in the hardware register. In step 1655, the transmitter may increment an elapsed synchronization signal counter, for example, based on or in response to detecting the address of the synchronization signal in the hardware register.

[0073] In step 1660, the transmitter may retrieve the last stored counter value, for example, based on or in response to receiving the second synchronization signal. As described above, the counter value may be stored in a register or other suitable memory location in response to receiving the synchronization signal. In step 1660, the counter value may be retrieved from the register or other suitable memory location. In step 1665, the transmitter may, for example, compare the current counter value to a previous / expected counter value to determine whether the transmitter's clock has drifted from the receiver's master clock. In some examples, the transmitter may compare the current counter value to a previous counter value (i.e., a second amount of audio samples received between syncn-2 and syncn-1) based on a first amount of audio samples received since the previous synchronization signal (i.e., the time syncn was received). Additionally or alternatively, the transmitter may compare the current counter value to a predicted counter value, for example, based on a number of audio samples the transmitter is expected to receive between synchronization signals. As mentioned above, the number of audio samples that the transmitter is expected to receive between synchronization signals may be pre-configured and / or configured during initial setup / synchronization between the transmitter and receiver. If the counter value is equal to the previous / expected counter value, the transmitter may determine that its audio clock has not drifted, in step 1699, and may transmit multiple audio samples to the receiver. The process may then repeat by returning to step 1635.

[0074] If the counter value is not equal to the previous / predicted counter value, the transmitter may recognize that the transmitter's audio clock is drifting. That is, the transmitter may determine that its audio clock is drifting. In step 1670, the transmitter may determine the difference between the current counter value and the leading counter value, for example, to determine the extent and / or direction of the drift. Additionally or alternatively, the transmitter may determine the difference between the current counter value and the predicted (e.g., configured) counter value (e.g., the amount of audio samples received between synchronization signals) in step 1670. If the current counter value is greater than the leading and / or predicted counter values ​​(e.g., a positive integer), the transmitter may determine that its audio clock is drifting faster than the receiver's master audio clock. On the other hand, if the result is a negative integer, the transmitter may determine that the audio clock is drifting slower than the receiver's master audio clock.

[0075] In step 1675, the transmitter may determine, for example, a time difference between the transmitter's audio clock and the receiver's master audio clock. The time difference may be determined by multiplying the elapsed synchronization signal count by the synchronization signal interval.

[0076] In step 1680, the transmitter may determine (e.g., calculate) an audio clock error. The audio clock error may be determined using the difference between the current count value and the advance / prediction counter value determined in step 1670 and / or the time difference determined in step 1675. The audio clock error may be the difference in Hertz (Hz) between the transmitter's audio clock and the receiver's master audio clock.

[0077] In step 1685, the transmitter may adjust the audio clock frequency of the transmitter's audio clock. That is, the transmitter may adjust the audio clock frequency of its audio clock in a direction opposite to the determined (e.g., detected) error and / or drift. For example, if the transmitter determines that the audio clock is drifting slower than the master audio clock, the transmitter may adjust its audio clock to increase the frequency of the audio clock. By increasing the audio clock, the transmitter may increase the rate at which the microphone acquires audio samples. Alternatively, if the transmitter determines that the audio clock is drifting faster than the master audio clock, the transmitter may adjust its audio clock to decrease the frequency of the audio clock. By decreasing the audio clock, the transmitter may acquire audio samples at a lower (less frequent) rate. Additionally or alternatively, adjusting the audio block may include adjusting a frame boundary. In step 1690, the transmitter may, for example, set an elapsed synchronization signal count to zero after the audio clock is adjusted. As discussed above, the steps described in Figures 16A and 16B allow the transmitter to detect drift in near real time, thereby ensuring that multiple transmitters remain synchronized with the receiver's master clock.

[0078] In step 1695, the transmitter may determine whether the audio sample queue is within an acceptable range. That is, the transmitter may determine whether the audio sample queue is too large. Allowing the audio sample queue to grow too large may increase the end-to-end latency of an audio sample being played out at the receiver relative to the capture time of that sample at the microphone element. Alternatively, the transmitter may determine whether the audio sample queue is too small and thus may drop audio samples. The acceptable range may be an expected number of audio samples + / - n. If the audio sample queue is within an acceptable range, the transmitter may transmit the audio samples to the receiver in step 1699. As described above, the audio samples may be transmitted to the receiver via a wireless connection. Additionally or alternatively, the transmitter may convert the digital audio samples (e.g., digital PCM samples) into a compressed format before transmitting the audio samples to the receiver. The compressed format may reduce the data rate required over the wireless interface. The transmitter may generate the digital audio samples in a compressed format using a transcoder function (e.g., a codec) or encoder to generate the compressed format. In some embodiments, the audio samples may be sent to the receiver at predetermined intervals or with a fixed regularity. Alternatively, the audio samples may be streamed from the transmitter to the receiver. The receiver may receive the digital audio samples in the compressed format and perform an inverse transcoding function (e.g., a codec) or decoder to generate the audio samples. The receiver may then combine the audio samples with audio samples received from one or more second transmitters. Additionally or alternatively, the audio samples may be used to generate an audio file. The audio file may be played back immediately. Alternatively, the audio file may be stored for later editing, playback, and / or replay. After transmitting the audio samples to the receiver, the transmitter may return to step 1635 and monitor for further synchronization signals.

[0079] If the audio sample queue is not within an acceptable range, the transmitter may adjust the number (e.g., quantity) of audio samples that the audio sample queue can process, in step 1697. If the number of audio samples in the audio sample queue becomes too large, audio samples may be discarded. Conversely, if the number of audio samples in the audio sample queue is too small, a dummy (e.g., mute) code word may be inserted in the audio sample queue. After adjusting the size of the audio sample queue, the transmitter may transmit the audio samples to the receiver, in step 1699.

[0080] The process described above and shown in Figures 15A and 15B and / or 16A and 16B may be performed at regular intervals when a receiver subscribes to the sender's data. As described above, the process ensures that the sender and receiver remain synchronized, and provides a way for the sender to adjust its audio clock to ensure the devices remain synchronized.

[0081] As mentioned above, a receiver may subscribe to data of multiple transmitters. Figure 17 illustrates an example of a process for synchronizing multiple transmitters. In particular, Figure 17 illustrates a receiver 103, a first transmitter 101a, and a second transmitter 101b. The receiver 103, the first transmitter 101a, and the second transmitter 101b may be any of the receivers or transmitters described herein. Although two transmitters are shown in Figure 17, it is understood that more transmitters may be included in the system illustrated in Figure 17 without departing from the description herein.

[0082] In step 1705, the receiver 103 may transmit a synchronization signal to the first transmitter 101a and / or the second transmitter 101b. The synchronization signal may be wirelessly broadcast by the receiver 103 to the first transmitter 101a and / or the second transmitter 101b. Additionally or alternatively, the receiver 103 may transmit (e.g., send) the first synchronization signal to the first transmitter 101a and the second synchronization signal to the second transmitter 101b. In some embodiments, the first synchronization signal and the second synchronization signal may be separate transmissions. In step 1710, the first transmitter 101a may adjust the first audio clock, for example, using the steps described above. Similarly, in step 1715, the second transmitter 101b may adjust the second audio clock, using the process described above. It is understood that steps 1710 and / or 1715 may be skipped, for example, if either the first transmitter 101a and / or the second transmitter 101b determines that it does not need to adjust and / or correct its audio clock. In step 1720, the first transmitter 101a may transmit (send) the first audio data to the receiver 103. The first audio data may be sent to the receiver 103 via a first wireless connection between the first transmitter 101a and the receiver 103. Similarly, in step 1725, the second transmitter 101b may transmit (send) the second audio data to the receiver 103. The second audio data may be sent to the receiver 103 via a second wireless connection between the second transmitter 101b and the receiver 103. The receiver 103 may combine the first audio data and the second audio data to generate an audio file. The audio files may be immediately played back and / or stored for editing and / or replay.

[0083] In step 1730, the receiver 103 may send another synchronization signal to the first transmitter 101a and / or the second transmitter 101b. The synchronization signal may be sent using any technique described above with respect to step 1705. Furthermore, the receiver 103 may send the synchronization signal to the first transmitter 101a and / or the second transmitter 101b at a predetermined interval (e.g., 10 to 20 milliseconds). In step 1735, the first transmitter 101a may adjust the first audio clock. In step 1740, the second transmitter 101b may adjust the second audio clock. In step 1745, the first transmitter 101a may transmit (send) the third audio data to the receiver 103. The third audio data may be a continuation of the first audio data transmitted to the receiver 103 in step 1720. In step 1750, the second sender 101b may transmit (send) the fourth audio data to the receiver 103. The fourth audio data may be, for example, a next portion of the second audio data transmitted in step 1725. As described above, the receiver 103 may combine the third audio data and the fourth audio data to generate an audio file. In some examples, the third audio data and the fourth audio data may be added to the audio file generated from the first audio data and the second audio data.

[0084] Although only two cycles are shown in Figure 17, it is understood that the cycles shown in Figure 17 may continue as long as the receiver 103 subscribes to the first transmitter 101a and / or the second transmitter 101b. As discussed above, the process shown in Figure 17 provides a technique that allows the transmitter and receiver to maintain synchronization without receiving a transmitter timestamp synchronization signal from the receiver. Furthermore, the transmitter adjusting its audio clock ensures that these devices remain synchronized even if the transmitter's audio clock drifts in different directions.

[0085] 18 illustrates an example of a modular wireless microphone system configured to synchronize at least one wireless transmitter with at least one receiver by adjusting an audio clock of the at least one transmitter. The modular wireless microphone system illustrated in FIG. 18 includes a transmitter 101, a receiver 103, and / or a computing device 1870.

[0086] The transmitter 101 may be a microphone configured to acquire one or more audio samples via an input device. Preferably, the transmitter 101 is a wireless microphone. The transmitter 101 may include an input device 1805, an analog-to-digital converter (ADC) 1807, a clock 1815, and / or a processor 1820. The input device 1805 may be any suitable microphone configured to acquire audio samples (e.g., singing, instrumental music, etc.). The ADC 1807 may be configured to convert analog audio acquired via the input device 1805 into digital samples that are stored in an audio sampling queue (e.g., audio sampling queue 1827, described in more detail below).

[0087] The clock 1815 may be an oscillator configured to generate a clock frequency for audio applications. The clock 1815 may be suitable for use as a source clock for audio peripherals. Preferably, the clock 1815 is a 32 MHz crystal oscillator. The clock 1815 may have an adjustable frequency in two frequency bands between 11.176 MHz and 11.402 MHz and between 12.165 MHz and 12.411 MHz. The clock 1815 may have low jitter suitable for audio applications. In audio applications where audio data arrives asynchronously to the on-chip clock, the frequency of the clock 1815 may be adjusted to maintain synchronization with the receiver 103. In this regard, the frequency may be configured via a value written to a register (not shown). For a frequency range from 11.176 MHz to 11.402 MHz, three values ​​may be written to the register. For example, a minimum value (e.g., 12519) may cause the clock 1815 to oscillate at 11.176 MHz, a median value (e.g., 15298) may cause the clock 1815 to oscillate at 11.28 MHz, and a maximum value (e.g., 16068) may cause the clock 1815 to oscillate at 11.402 MHz. Three values ​​may also be written to the register for a frequency range of 12.165 MHz to 12.411 MHz. For example, a minimum value (e.g., 36834) may cause the clock 1815 to oscillate at 12.165 MHz, a median value (e.g., 39854) may cause the clock 1815 to oscillate at 12.288 MHz, and a maximum value (e.g., 42874) may cause the clock 1815 to oscillate at 12.411 MHz. By updating the value stored in the register, the audio clock (e.g., clock 1815) of the transmitter 101 is adjusted to correct the drift determined by the transmitter 101 so that the transmitter 101 and receiver 103 remain synchronized by adjusting a certain number of audio samples acquired by the input device 1805.

[0088] The processor 1820 may be configured to execute one or more audio applications. The processor 1820 may be a system on chip (SOC) or an application specific integrated circuit (ASIC) such as the Nordic® nRF5340 semiconductor. As shown in FIG. 18, the processor 1820 may include hardware registers 1822, timers 1824, audio interface 1826, counters 1828, DACs 1830, and / or I / O units 1832, although it is understood that the processor 1820 may include additional or fewer components beyond the scope of this disclosure. For example, the processor 1820 may include an audio encoder (not shown). The audio encoder may reduce the data rate required to send packets over the air to the receiver 103.

[0089] The hardware register 1822 may be configured to store an address of a synchronization signal received from the receiver 103. For example, the hardware register 1822 may be any suitable register associated with the processor 1820 configured to store an address of a synchronization signal received from the receiver 103. The hardware register 1822 may be configured to generate an interrupt, for example, in response to storing the address of the synchronization signal. Additionally or alternatively, the hardware register 1822 may generate an interrupt based on the address of the synchronization signal written thereto.

[0090] The timer 1824 may be configured to execute a time interval. In some examples, the time interval may be defined via a user input. The timer 1824 may be driven by a high frequency clock source, such as the clock 1815. The timer 1824 may include a 4-bit prescaler (not shown) that may divide the timer input clock. A timer event may trigger a task on other system peripherals. For example, a timer event may cause the transmitter 101 to send audio data to the receiver 103. The timer 1824 may be configured to operate in either a timer mode or a counter mode. In the timer mode, an internal counter register of the timer 1824 may be incremented by one for every tick of the timer frequency. In the counter mode, an internal counter register of the timer 1824 may be incremented by one each time a counting task is triggered. This means that the timer frequency and the prescaler may not be utilized in the counter mode.

[0091] The audio interface 1826 may be configured to receive one or more audio samples. 2 Audio interface 1826 may include an audio sampling queue 1827. Audio sampling queue 1827 may be any suitable memory device configured to temporarily store audio samples acquired by input device 1805. Preferably, audio sampling queue 1827 may include a buffer or cache. Audio sampling queue 1827 may include memory separate from processor 1820. Alternatively, audio sampling queue 1827 may include a portion or subset of processor 1820's memory.

[0092] Counter 1828 may be any suitable counter. Counter 1828 may be configured to increment in response to receiving an audio sample, for example. Additionally or alternatively, counter 1828 may increment in response to receiving an audio sample event. Counter 1828 may be reset (i.e., set to zero ("0")), for example, in response to or shortly after receiving a synchronization signal from receiver 103. In some examples, counter 1828 may be one or more registers of processor 1820.

[0093] The DAC 1830 may be configured to convert one or more digital audio samples to one or more analog audio samples before transmitting to the receiver 103. In some embodiments, the DAC 1830 may receive one or more digital audio samples from the audio sampling queue 1827. The DAC 1830 may compress the digital audio samples (e.g., digital PCM samples) into a compressed format, for example using a transcoder function (e.g., a codec) or an encoder. The DAC 1830 may then transform the one or more digital audio samples (e.g., compressed digital audio samples) into one or more analog audio samples. In further embodiments, the DAC 1830 may be embedded in the I / O unit 1832. The one or more analog audio samples may then be sent to the receiver 103, for example via the I / O unit 1832.

[0094] The I / O unit 1832 may be a radio embedded in the processor 1820 that modulates and / or transmits packets containing data to the audio sampling queue 1827. The I / O unit 1832 may be configured to exchange data with one or more devices including, for example, the receiver 103. The I / O unit 1832 may be a wireless network interface. The I / O unit 1832 may be configured to wirelessly transmit audio data according to the techniques and / or processes described herein. Additionally, the I / O unit 1832 may be configured to receive a synchronization signal from a master audio clock, such as the master clock 1840 (described in more detail below). The I / O unit 1832 may include a 2.4 GHz transceiver capable of supporting multiple wireless standards, such as BLE, IEEE 802.15.4, and / or a proprietary wireless standard.

[0095] The receiver 103 may be configured to receive audio data from one or more transmitters. The receiver 103 may be further configured to combine the audio data to generate one or more audio files. The receiver 103 may play back one or more audio files. Additionally or alternatively, the receiver 103 may store one or more audio files, for example, on the computing device 1870, for editing and / or playback purposes. As shown in FIG. 18, the receiver 103 includes a master clock 1840 and a processor 1850. It will be understood that the receiver 103 may include additional or fewer components beyond the scope of this disclosure.

[0096] Master clock 1840 may be an oscillator configured to generate a clock frequency for an audio application. Clock 1840 may be any suitable oscillator capable of generating a 32 MHz frequency for an audio peripheral and / or audio application.

[0097] The processor 1850 may be similar to the processor 1820 described above. That is, the processor 1850 may be configured to perform one or more audio applications. Additionally, the processor 1850 may be a SOC or an ASIC. The processor 1850 may include hardware registers 1852, a timer 1854, a receive queue 1856, an analog-to-digital converter (ADC) 1858, and / or an I / O unit 1860. The processor 1850 may include additional or fewer components, such as an audio decoder (not shown). The audio decoder may accurately reproduce audio samples received from the transmitter 101. Similar to the hardware registers 1822, the hardware registers 1852 may be any suitable register associated with the processor 1850. The timer 1854 may be configured to perform a time interval. The I / O unit 1860 may be a radio embedded in the processor 1850 that demodulates and / or receives packets from one or more devices, such as the transmitter 101. The I / O unit 1860 may be a wireless network interface configured to wirelessly receive audio data from one or more transmitters and send a synchronization signal to the one or more transmitters at a predetermined interval (e.g., 10 to 20 milliseconds). Similar to the I / O unit 1832 described above, the I / O unit 1860 may include a 2.4 GHz transceiver capable of supporting multiple wireless standards, such as BLE, IEEE 802.15.4, and / or a proprietary wireless standard. The ADC 1856 may be configured to convert one or more analog audio samples received from the transmitter 101 to one or more digital audio samples. The ADC 1858 may receive one or more analog audio samples from the I / O unit 1860. The I / O 1860 may transform the one or more analog audio samples to one or more digital audio samples. The I / O 1860 may decompress the digital audio samples (e.g., digital PCM samples) into a decompressed format, for example, using an inverse transcoder function (e.g., a codec) or a decoder.In some examples, the ADC 1858 may be embedded in the I / O unit 1860 to convert the analog radio signal received from the transmitter 101 back to digital data. The one or more digital audio samples may then be stored in the receive queue 1856 for additional and / or further processing. The receive queue 1856 may be configured to receive one or more audio samples from one or more transmitters after the one or more audio samples are received via the I / O unit 1860 and / or transformed using the ADC 1858. Preferably, the receive queue 1856 may include a buffer or cache. In some examples, the receive queue 1856 may send (transmit) the one or more audio samples to the computing device 1870.

[0098] The computing device 1870 may be communicatively coupled to the receiver 103. In this regard, the computing device 1870 may be configured to receive one or more audio samples from the receiver 103 and generate one or more audio files from the one or more audio samples. Additionally or alternatively, the computing device 1870 may be configured to receive one or more audio files from the receiver 103. The computing device 1870 may be a mobile device, such as a cellular phone, a mobile phone, a smart phone, a tablet, a laptop, or the like. Additionally or alternatively, the computing device 1870 may be a desktop computer, a laptop computer, or alternatively a virtual computer. In some embodiments, the computing device 1870 may include a server, such as a standalone server, an enterprise server, a server located in a server farm or cloud computing environment, and / or a virtual server hosted on hardware capable of supporting multiple virtual servers. In some embodiments, the computing device 1870 may be an audio mixer or mixing console configured to mix one or more audio samples.

[0099] Computing device 1870 may include memory 1880 that stores one or more audio samples and / or one or more audio files. Memory 1880 may include volatile and / or nonvolatile, removable and / or non-removable media implemented in any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Memory 1880 may include one or more physical persistent memory devices and / or one or more non-persistent memory devices. Memory 1880 may include random access memory (RAM), read-only memory (ROM), electronically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium used to store desired information and that may be accessed by computing device 1870. In some embodiments, memory 1880 may include a database, such as a relational database, a hierarchical database, a distributed database, an in-memory database, a flat file database, an XML database, a NoSQL database, a graph database, and / or any combination thereof.

[0100] The following paragraphs describe examples that may be implemented according to this disclosure.

[0101] [Clause 1] A transmitter comprising an audio clock, one or more processors, and a memory storing instructions that, when executed by the one or more processors, cause the transmitter to receive a synchronization signal from a receiver, determine a difference between a counter value indicating a first amount of received audio samples and a predicted counter value based on the synchronization signal, and adjust the audio clock based on the difference between the counter value indicating the first amount of received audio samples and the predicted counter value.

[0102] [Clause 2] The transmitter of clause 1, wherein the transmitter includes at least one of a wireless microphone or a lavalier microphone.

[0103] [Clause 3] A transmitter according to any one of clauses 1 or 2, wherein the instructions, when executed by the one or more processors, cause the transmitter to store an address field of the synchronization signal.

[0104] [Clause 4] The transmitter of clause 3, wherein storing the address field of the synchronization signal includes storing the address field in a hardware register.

[0105] [Clause 5] The transmitter of clause 3, wherein the instructions, when executed by the one or more processors, cause the transmitter to generate an interrupt in response to storing an address field of the synchronization signal.

[0106] [Clause 6] A transmitter of any one of clauses 1 to 5, wherein adjusting the audio clock includes at least one of increasing a rate at which a microphone acquires audio samples or decreasing a rate at which the microphone acquires audio samples.

[0107] [Clause 7] The transmitter of any one of clauses 1 to 6, wherein adjusting the audio clock includes adjusting a frame boundary.

[0108] [Clause 8] A transmitter according to any one of clauses 1 to 7, wherein the instructions, when executed by the one or more processors, cause the transmitter to transfer a certain number of audio samples from an audio sampling queue to a transmit queue, and to send the certain number of audio samples to the receiver at a second predetermined interval.

[0109] [Clause 9] The transmitter of clause 8, further comprising an analog-to-digital converter (ADC) configured to convert digital audio samples to analog audio samples before being sent to the receiver.

[0110] [Clause 10] A transmitter according to any one of clauses 1 to 9, wherein the predicted counter value is based on a second amount of audio samples received between preceding synchronization signals.

[0111] [Clause 11] A transmitter according to any one of clauses 1 to 10, wherein the predicted counter value is based on an amount of audio samples constructed by the receiver.

[0112] [Clause 12] A system comprising: a receiver configured to transmit a synchronization signal at predetermined intervals; and a transmitter configured to receive the synchronization signal from the receiver; in response to receiving the synchronization signal, determine a difference between a counter value indicating a first amount of received audio samples and a predicted counter value; and adjust an audio clock of the transmitter based on the counter indicating the first amount of received audio samples and the predicted counter value.

[0113] [Clause 13] The system of clause 12, wherein the receiver comprises at least one of a wireless receiver, a mobile device, a smartphone, a tablet, or a laptop.

[0114] [Clause 14] The system of any one of clauses 12 or 13, wherein the transmitter includes at least one of a wireless microphone or a lavalier microphone.

[0115] [Clause 15] The system of any one of clauses 12 to 14, wherein the transmitter is further configured to store an address field of the synchronization signal.

[0116] [Clause 16] The system of clause 15, wherein the address field is stored in a hardware register of the transmitter.

[0117] [Clause 17] The system of clause 15, wherein the transmitter is further configured to generate an interrupt in response to storing an address field of the synchronization signal.

[0118] [Clause 18] The system of any one of clauses 12 to 17, further comprising a second transmitter configured to receive the synchronization signal from the receiver, determine a second difference between a second counter value indicating a second amount of received audio samples and a second predictive counter value in response to receiving the synchronization signal, and adjust a second audio clock of the second transmitter based on the difference between the second counter value indicating the second amount of received audio samples and the second predictive counter value.

[0119] [Clause 19] The system of any one of clauses 12 to 18, wherein adjusting the audio clock of the transmitter includes at least one of increasing the rate at which the transmitter acquires audio samples or decreasing the rate at which the transmitter acquires audio samples.

[0120] [Clause 20] The system of any one of clauses 12 to 19, wherein adjusting the transmitter's audio clock includes adjusting frame boundaries.

[0121] [Clause 21] The system of any one of clauses 12 to 20, wherein the transmitter is further configured to transfer a certain number of audio samples from an audio sampling queue to a transmission queue and to send the certain number of audio samples to the receiver at a second predetermined interval.

[0122] [Clause 22] The system of clause 21, wherein the transmitter includes a digital-to-analog converter (DAC) for converting digital audio samples into analog audio samples.

[0123] [Clause 23] The system of clause 22, wherein the receiver includes an analog-to-digital converter (ADC) for converting the analog audio samples to second digital audio samples.

[0124] [Clause 24] A system according to any one of clauses 12 to 23, wherein the predicted counter value is based on at least one of a second amount of audio samples received between preceding synchronization signals or an amount of audio samples constructed by the receiver.

[0125] [Clause 25] A method comprising: a transmitter receiving a synchronization signal from a receiver; in response to receiving the synchronization signal, the transmitter determining a difference between a counter value indicating a first amount of received audio samples and a predicted counter value; and the transmitter adjusting an audio clock based on the difference between a counter value indicating the first amount of received audio samples and the predicted counter value.

[0126] [Clause 26] The method of clause 25, wherein the transmitter includes at least one of a wireless microphone or a lavalier microphone.

[0127] [Clause 27] The method of any one of clauses 25 or 26, wherein the receiver comprises at least one of a wireless receiver, a mobile device, a smartphone, a tablet or a laptop.

[0128] [Clause 28] The method of any one of clauses 25 to 27, further comprising the transmitter storing an address field of the synchronization signal.

[0129] [Clause 29] The method of clause 28, wherein the address field of the synchronization signal is stored in a hardware register.

[0130] [Clause 30] The method of clause 28, further comprising generating an interrupt in response to storing the address field of the synchronization signal.

[0131] [Clause 31] The method of any one of clauses 25 to 30, wherein adjusting the audio clock includes at least one of the transmitter increasing a rate at which a microphone acquires audio samples, or the transmitter decreasing a rate at which the microphone acquires audio samples.

[0132] [Clause 32] The method of any one of clauses 25 to 31, wherein adjusting the audio clock includes adjusting a frame boundary.

[0133] [Clause 33] The method of any one of clauses 25 to 32, further comprising the transmitter transferring a certain number of audio samples from an audio sampling queue to a transmission queue, and the transmitter sending to the receiver the certain number of audio samples at a second predetermined interval.

[0134] [Clause 34] The method of clause 33, further comprising the transmitter using a digital-to-analog converter (DAC) to convert digital audio samples to analog audio samples before sending the audio samples to the receiver.

[0135] [Clause 35] The method of any one of clauses 25 to 34, wherein the predicted counter value is based on at least one of a second amount of audio samples received between preceding synchronization signals or an amount of audio samples constructed by the receiver.

[0136] [Clause 36] A non-transitory computer-readable medium including instructions that, when executed, cause a transmitter to receive a synchronization signal from a receiver; in response to receiving the synchronization signal, determine a difference between a counter value indicative of a first amount of received audio samples and a predicted counter value; and adjust an audio clock based on the difference between the counter value indicative of the first amount of received audio samples and the predicted counter value.

[0137] [Clause 37] The non-transitory computer-readable medium of Clause 36, wherein the transmitter includes at least one of a wireless microphone or a lavalier microphone.

[0138] [Clause 38] The non-transitory computer-readable medium of any one of Clauses 36 or 37, wherein the receiver comprises at least one of a wireless receiver, a mobile device, a smartphone, a tablet or a laptop.

[0139] [Clause 39] The non-transitory computer-readable medium of any one of clauses 36 to 38, wherein the instructions, when executed, cause the transmitter to store an address field of the synchronization signal.

[0140] [Clause 40] The non-transitory computer-readable medium of clause 39, wherein the address field of the synchronization signal is stored in a hardware register.

[0141] [Clause 41] The instructions, when executed, cause the transmitter to generate an interrupt in response to storing the address field of the synchronization signal; and a difference between the counter value indicating a first amount of the received audio samples and the predicted counter value.

[0142] [Clause 42] The non-transitory computer-readable medium of any one of clauses 36 to 41, wherein the instructions, when executed, cause the transmitter to adjust the audio clock by increasing the rate at which a microphone acquires audio samples or decreasing the rate at which the microphone acquires audio samples.

[0143] [Clause 43] The non-transitory computer-readable medium of any one of clauses 36 to 42, wherein the instructions, when executed, cause the transmitter to adjust the audio clock by adjusting frame boundaries.

[0144] [Clause 44] The non-transitory computer-readable medium of any one of clauses 36 to 43, wherein the instructions, when executed, cause the sender to transfer a certain number of audio samples from an audio sampling queue to a transmit queue and to send to the receiver the certain number of audio samples to the receiver at a second predetermined interval.

[0145] [Clause 45] The non-transitory computer-readable medium of Clause 44, wherein the instructions, when executed, cause the transmitter to convert digital audio samples to analog audio samples before sending the audio samples to the receiver.

[0146] [Clause 46] The non-transitory computer-readable medium of Clause 44, wherein the instructions, when executed, cause the transmitter to determine the predictive counter value based on at least one of a second amount of audio samples received between preceding synchronization signals or an amount of audio samples constructed by the receiver.

[0147] Although several examples have been described above, the features and / or steps of these examples may be combined, divided, omitted, rearranged, modified, and / or enhanced in any desired manner. Various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this specification and are within the spirit and scope of the present disclosure even if not expressly described herein. Accordingly, the foregoing description is by way of example only and not by way of limitation.

Claims

1. 1. A transmitter comprising: An audio clock one or more processors; A memory that stores instructions Including, The instructions, when executed by the one or more processors, cause the transmitter to: receiving a synchronization signal from a receiver; determining a difference between a counter value indicative of a first amount of received audio samples and an expected counter value based on receiving the synchronization signal; adjusting the audio clock based on the difference between the counter value indicative of the first amount of received audio samples and the predicted counter value; A transmitter that causes the

2. The transmitter of claim 1 , wherein the transmitter comprises at least one of a wireless microphone or a lavalier microphone.

3. 3. The transmitter of claim 1 or 2, wherein the instructions, when executed by the one or more processors, cause the transmitter to store an address field of the synchronization signal.

4. The transmitter of claim 3 , wherein storing the address field of the synchronization signal comprises storing the address field in a hardware register.

5. The transmitter of claim 3 , wherein the instructions, when executed by the one or more processors, cause the transmitter to generate an interrupt in response to storing an address field of the synchronization signal.

6. adjusting the audio clock Increasing the rate at which the microphone takes audio samples, or Reducing the rate at which the microphone acquires audio samples. The transmitter of claim 1 , further comprising at least one of:

7. The transmitter of claim 1 , wherein adjusting the audio clock comprises adjusting a frame boundary.

8. The instructions, when executed by the one or more processors, cause the transmitter to: transferring a number of audio samples from an audio sampling queue to a transmit queue; transmitting to the receiver the number of audio samples to the receiver at a second predetermined interval; The transmitter of claim 1 , further comprising:

9. 10. The transmitter of claim 8, further comprising an analog-to-digital converter (ADC) configured to convert digital audio samples to analog audio samples before being sent to the receiver.

10. The transmitter of claim 1 , wherein the predicted counter value is based on a second amount of audio samples received between preceding synchronization signals.

11. The transmitter of claim 1 , wherein the predicted counter value is based on an amount of audio samples constructed by the receiver.

12. The transmitter of claim 1 , further comprising a counter configured to increment in response to detecting an audio sampling event.

13. 1. A system comprising: a receiver configured to transmit a synchronization signal at predetermined intervals; A transmitter according to any one of claims 1 to 12. Including, the system.

14. 1. A method comprising: A transmitter receiving a synchronization signal from a receiver; determining, in response to receiving the synchronization signal, a difference between a counter value indicative of a first amount of received audio samples and an expected counter value; adjusting, by the transmitter, the audio clock based on the difference between a counter value indicating the first amount of received audio samples and the predicted counter value; A method comprising:

15. A non-transitory computer-readable medium containing instructions, The instructions, when executed, cause the transmitter to: receiving a synchronization signal from a receiver; determining a difference between a counter value indicative of a first amount of received audio samples and an expected counter value based on receiving the synchronization signal; adjusting the audio clock based on the difference between the counter value indicative of the first amount of received audio samples and the predicted counter value; A non-transitory computer-readable medium for causing

Citation Information

Patent Citations

  • Data transfer method and wireless terminal

    JP2001186149A

  • Mobile communication terminal apparatus

    JP2003179980A

  • Radio communication system, radio communication apparatus, and control method for radio communication apparatus

    JP2017085384A

  • Wearable camera system and communication control method

    JP2018037965A

  • Microphone with adjustable signal processing

    WO2021101628A1