Audio system and method for a kitchen appliance
A controller-based system for passive buzzers in kitchen appliances allows independent control of pitch and volume, overcoming the limitations of passive buzzers to produce complex audio without additional hardware, achieving cost-effective and reliable audio output.
Patent Information
- Application Number
- PCT/AU2025/050839
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-06
- Filing Date
- 2025-08-06
- Publication Date
- 2026-02-12
AI Technical Summary
Passive buzzers in kitchen appliances are limited to producing simple, high-pitch tones that can be uncomfortable and damaging to the ear, and upgrading to more complex audio systems would increase manufacturing costs.
A method and system using a passive buzzer controlled by a controller with a processor and memory to generate a drive signal for producing musical notes, allowing independent control of pitch and volume through duty cycle, frequency, and temporal parameters, enabling complex audio output without requiring additional hardware.
Enables cost-effective, reliable, and complex audio output from passive buzzers in kitchen appliances, avoiding the need for expensive audio file storage and playback capabilities while maintaining reliability and simplicity.
Smart Images

Figure AU2025050839_12022026_PF_FP_ABST
Abstract
Description
AUDIO SYSTEM AND METHOD FOR A KITCHEN APPLIANCECROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The current application claims priority to Australian Provisional Patent Application No. 2024902432, filed 6 August 2024, the disclosure of which is incorporated by referenced in entirety.TECHNICAL FIELD
[0002] The present disclosure relates to audio systems for kitchen appliances.BACKGROUND
[0003] Passive buzzers (also known as “beepers”) are mainly found in kitchen appliances that only require them to produce high pitch notification and / or alarm tones. Passive buzzers include electromagnetic passive buzzers and piezoelectric passive buzzers. Manufacturers of kitchen appliances favour passive buzzers due to being cost effective, compact, durable, reliable and having a low power consumption. Replacing passive buzzers in current manufacturing practices of kitchen appliances is unlikely to adopted due to the above advantages of passive buzzers. However, as user feedback systems for kitchen appliances have become more complex, it is desirable to provide an audio system and method that is able to provide more complex user feedback using a passive buzzer for kitchen appliances. However, passive buzzers are not typically used for producing complex audio output. Due to the design of passive buzzers, there are two tones mainly produced, namely a 2kHz tone and a 4 kHz tone, both of which are in the pitch range where an excess of volume to the human ear is profoundly uncomfortable and even damaging. Furthermore, kitchen appliances generally have very simplistic electronic hardware arrangements to minimise the cost of manufacture. The storage and playback of an audio file using simplistic and basic hardware is extremely challenging or in some instances not possible or is undesirable given a priority to the primary function of the kitchen appliance. Whilst upgrading the hardware of appliances to have greater storage capacity and more complex processing capabilities is possible, this is a deterrent when considering manufacturing costs for kitchen appliances.SUMMARY
[0004] The present invention seeks to alleviate one or more of the above-mentioned problems or provide a useful alternative.
[0005] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0006] According to a first aspect of the present disclosure, there is provided a method performed by an audio system of a kitchen appliance. The audio system comprises a passive buzzer coupled to a controller including a processor and a memory having stored therein executable instructions. Execution of the executable instructions by the processor configures the controller to perform steps of generating a drive signal for driving the passive buzzer to produce a sequence of musical notes forming a musical composition. The executable instructions configure the controller to generate the drive signal according to one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters for each musical note. The controller controls the passive buzzer according to the drive signal to produce the sequence of musical notes. During a duration of each musical note defined by the one or more temporal parameters, the drive signal controls a pitch of each musical note based on the one or more frequency parameters and a volume of each musical note based on the one or more duty cycle parameters. The pitch and volume of each musical note are independently controllable such that the volume of a musical note can be set independently of the pitch of that musical note.
[0007] In one or more embodiments, the method may include one or more of the following features. The one or more duty cycle parameters for at least some of the musical notes may include a starting duty cycle, a transition duty cycle, and an end duty cycle. The method may include generating the drive signal for each musical note by using the starting duty cycle, the transition duty cycle, the end duty cycle and the one or more temporal parameters of a respective musical note to thereby vary the volume during the duration of the respective musical note.
[0008] In one or more embodiments, the method may include generating the drive signal for at least some of the musical notes by interpolation using the starting duty cycle, the transition duty cycle, and the end duty cycle and the one or more temporal parameters to thereby vary the volume during the duration of the respective musical note.
[0009] In one or more embodiments, the one or more frequency parameters for at least some of the musical notes may include a starting frequency, a transition frequency, and an end frequency. The method may include generating the drive signal for each musical note using the starting frequency, the transition frequency, the end frequency and the one or more temporal parameters of a respective musical note to thereby vary the pitch during a duration of the respective musical note.
[0010] In one or more embodiments, the method may include generating the drive signal for at least some of the musical notes by interpolation using the starting frequency, the transition frequency and the end frequency to thereby vary the pitch during the duration of the respective musical note.
[0011] In one or more embodiments, the one or more temporal parameters for at least some of the musical notes may include a fade-in time, a frequency fade time, and a note duration. The method may include generating the drive signal for the at least some of the musical notes by interpolation using at least some of the fade-in time, the frequency fade time and the note duration to thereby vary a timing in a change of at least one of the volume and pitch during a duration of the respective musical note.
[0012] In one or more embodiments, the method may include scaling the one or more duty cycle parameters such that a linear variance of the one or more duty cycle parameters for at least some of the musical notes results in a perceived substantially linear variance in volume for the at least some of the musical notes.
[0013] In one or more embodiments, the one or more duty cycle parameters of at least some of the musical notes may be scaled to range between 0% to 50%.
[0014] In one or more embodiments, the controller may include or be coupled to a pulse width modulation (PWM) module which is in turn coupled to the passive buzzer. The method may include controlling the PWM module to generate the drive signal.
[0015] In one or more embodiments, the processor of the controller may be configured to control the PWM module according to a PWM frequency. Some of the one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters may be temporally scaled according to the PWM frequency.
[0016] In one or more embodiments, the executable instructions may define a plurality of channels. The method may include generating a plurality of output signals, wherein each output signal corresponds to a respective channel, and combining the plurality of output signals to generate the drive signal to control the passive buzzer.
[0017] In one or more embodiments, the controller may include or be coupled to a plurality of pulse width modulation (PWM) modules. The audio system may include a plurality of passive buzzers. The executable instructions may define a plurality of channels, wherein each PWM module is dedicated to a respective channel. The method may include generating a plurality of drive signals, wherein each drive signal corresponds to a respective channel, and controlling each passive buzzer according to a respective drive signal of the plurality of drive signals.
[0018] In one or more embodiments, the method may include storing the one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters for each musical note in non-executable data in the memory. The executable instructions may retrieve the parameters from the non-executable data during generation of the drive signal.
[0019] In one or more embodiments, the method may include defining silent periods within the sequence of musical notes. Each silent period may include a temporal reference parameter and a duration parameter without frequency or duty cycle parameters. The controller may maintain timing continuity during the silent periods.
[0020] In one or more embodiments, the temporal reference parameter may be a temporal offset from a beginning of the musical composition.
[0021] In one or more embodiments, the method may include adjusting the one or more temporal parameters to compensate for processing overhead during generation of the drive signal.
[0022] In one or more embodiments, the one or more duty cycle parameters may be processed using integer arithmetic.
[0023] In one or more embodiments, the musical composition may have a defined temporal length. The method may include controlling the sequence of musical notes within the defined temporal length.
[0024] According to a second aspect of the present disclosure, there is provided an audio system for a kitchen appliance. The audio system comprises a passive buzzer and a controller coupled to the passive buzzer. The controller includes a processor and a memory having stored therein executable instructions. Execution of the executable instructions by the processor configures the controller to perform the method of any one of the preceding method claims.
[0025] In a third aspect there is provided a kitchen appliance including an audio system configured according to the second aspect.
[0026] The foregoing is a general description of the illustrative aspects and embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure and are not restrictive. Other aspects and embodiments will be appreciated throughout the detailed description.BRIEF DESCRIPTION OF FIGURES
[0027] Non-limiting and non-exhaustive examples are described with reference to the following figures.
[0028] FIG. 1 is a functional block diagram of an example of a kitchen appliance.
[0029] FIG. 2 is a flowchart representing an example method of controlling a passive buzzer of a kitchen appliance.
[0030] FIG. 3 is a graphical representation of a musical note used to control the passive buzzer of FIG.1.
[0031] FIG. 4 is a multi-channel representation of musical composition data used to control the passive buzzer of FIG. 1.
[0032] FIG. 5 is a code sample defining an example of musical composition data used to control the passive buzzer of FIG. 1.
[0033] FIG. 6 is a spectrographic representation of a plurality of musical notes produced by a passive buzzer of the kitchen appliance of FIG. 1.
[0034] FIG. 7 is a flowchart representing a method of controlling the production of a musical composition defined by musical composition data via a passive buzzer of the kitchen appliance of FIG. 1.
[0035] FIGs. 8A, 8B, and 8C are further code samples defining an example method to control the passive buzzer of FIG. 1 to produce a musical composition.
[0036] FIG. 9 is a graphical representation of a plurality of channels being combined to generate a drive signal to control a passive buzzer.
[0037] FIG. 10 is a graphical representation of a plurality of channels being used to control a corresponding plurality of passive buzzers.DETAILED DESCRIPTION
[0038] The following description sets forth exemplary aspects of the present disclosure. It should be recognized, however, that such description is not intended as a limitation on the scope of the present disclosure. Rather, the description also encompasses combinations and modifications to those exemplary aspects described herein.
[0039] Referring to FIG. 1 there is shown a functional block diagram of an audio system 5 for a kitchen appliance 10. The audio system 5 includes a passive buzzer 150 coupled to a controller 100. The passive buzzer can be a piezoelectric buzzer or an electromagnetic buzzer. The controller 100 includes a processor 110 coupled to a memory 120 via a bus 140.The controller 100 generally includes an input / output (i / o) interface 130, wherein the processor 110 is electrically coupled to the passive buzzer 150 via the i / o interface 130. The memory 120 has stored therein executable instructions, such as an executable program.
[0040] Referring to FIG. 2 there is shown a flowchart of an example method 200 performed by the controller 100 of the audio system 5 of FIG. 1. In particular, the flowchart represents the method 200 performed by the controller 100 in response to execution of the executable instructions by the processor 110 of the controller 100.
[0041] In particular, at step 210 the method 200 includes the controller 100 generating a drive signal 1000 for driving the passive buzzer 150 to produce a sequence of notes forming a musical composition. The executable instructions configure the controller 100 to generate the drive signal 1000 according to one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters for each musical note.
[0042] At step 220, the method 200 includes the controller 100 controlling the passive buzzer 150 according to the drive signal 1000 to produce the sequence of notes. During the duration of each musical note as defined by the one or more temporal parameters, the drive signal 1000 controls a pitch of each musical note based on the one or more frequency parameters and a volume of each musical note based on the one or more duty cycle parameters. The pitch and volume of each musical note are independently controllable such that the volume of a musical note can be set independently of the pitch of that musical note.
[0043] Advantageously, as the drive signal 1000 is generated by the controller 100 via the execution of the executable instructions, a retrievable and playable audio file, like an MP4 file or WAV file does not need to be stored in the limited memory 120 of the kitchen appliance 10. In addition, due to the drive signal 1000 being generated according to one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters for each musical note to be produced, more complex audio can be produced by the passive buzzer 150 of the kitchen appliance 10. Moreover, the pitch and volume can be independently controllable, thereby allowing for greater control of musical notes during the musical composition. This configuration advantageously enables complex audio output from a passive buzzer using simple hardware, avoiding the need for expensive audio file storageand playback capabilities while maintaining the cost-effectiveness and reliability of passive buzzers in kitchen appliances.
[0044] Referring back to FIG. 1, the controller 100 can further include or is coupled to one or more pulse width modulation (PWM) modules 160 which is in turn coupled to the passive buzzer 150. The PWM module 160 can be coupled to the i / o interface 130 of the controller 100. The processor 110 of the controller 100 is configured to control the PWM module 160 to generate the drive signal 1000. The processor 110 generates a PWM digital signal which is provided as input to the PWM module 160 to generate the drive signal 1000 which is an analogue signal for driving the passive buzzer 150. In one form, the controller 100 can include a plurality of PWM modules 160 for generating a plurality of drive signals 1000a, 1000b, 1000c which can be used for producing polyphonic sound as discussed in later examples. In some instances, the controller 100 may be coupled, via the i / o interface 130, to a plurality of passive buzzers 150a, 150b, 150c. This PWM implementation advantageously leverages standard microcontroller hardware capabilities, keeping system costs low while enabling precise control of both frequency and duty cycle.
[0045] Referring to FIG. 3 and FIG. 4 there is shown a graphical representation of a musical note 300. As noted earlier, the executable instructions generate the drive signal 1000 for the sequence of musical notes 300, where each musical note 300 is defined by one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters. Each of these parameters will be discussed in detail below. FIG. 4 shows various musical notes which indicate the respective frequency using scientific pitch notation (e.g., D6, C3, etc.).
[0046] The one or more duty cycle parameters include a starting duty cycle 330, a transition duty cycle 335, and an end duty cycle 340. The controller 100 is configured to generate the drive signal 1000 for each musical note using the starting duty cycle 330, the transition duty cycle 335, the end duty cycle 340, and the one or more temporal parameters of a respective musical note to thereby vary the volume during a duration of the respective musical note. In one form, the controller 100 is configured to generate the drive signal 1000 for the at least some of the musical notes by interpolation using the starting duty cycle 330, the transition duty cycle 335, the end duty cycle 340, and the one or more temporalparameters of a respective musical note to thereby vary the volume during a duration of the respective musical note. In particular, as shown in FIG. 3 the musical note 300 has a profile including a ramped increase in duty cycle between the starting duty cycle 330 and the transition duty cycle 335, and a ramped decrease in duty cycle between the transition duty cycle 335 and the end duty cycle 340. Execution of the executable instructions calculate, using interpolation, values therebetween to define the ramped increase in duty cycle and as well as values therebetween to define the ramped decrease in duty cycle. In this example, linear interpolation is used. However, other more forms of interpolative functions can be used if considered desirable for the produced output by the passive buzzer 150. It will be appreciated that the fade in time 345 parameter and the duration parameter 305 of the one or more temporal parameters are used for the interpolation of the ramped increase in duty cycle and the ramped decrease in duty cycle. This feature advantageously allows for smooth volume transitions within individual musical notes, creating more natural and pleasant audio feedback compared to simple on / off buzzer operation. This interpolation approach advantageously provides smooth volume changes without requiring complex audio processing hardware or stored waveform data.
[0047] For the one or more frequency parameters for at least some of the musical notes include a starting frequency 310, a transition frequency 315, and an end frequency 320. The controller 100 is configured to generate the drive signal 1000 for each musical note using the starting frequency 310, the transition frequency 315, the end frequency 320 and the one or more temporal parameters of a respective musical note to thereby vary the pitch during a duration of the respective musical note 300. In one form, the controller 100 is configured to generate the drive signal 1000 for the at least some of the musical notes by interpolation using the starting frequency 310, the transition frequency 315, the end frequency 320 and the one or more temporal parameters of a respective musical note to thereby vary the pitch during a duration of the respective musical note 300. In several instances, the frequency may remain constant over the duration of the musical note 300 to thereby maintain the same tone over the musical note duration. However, in some instances it may be desired to vary the frequency from a starting tone to a finishing tone. It will be appreciated that the frequency fade time parameter and the musical note duration parameter of the one or more temporal parameters are used for the interpolation of the change in frequency of the drive signal 1000. This featureadvantageously enables pitch bending and frequency sweeps within individual musical notes, greatly expanding the musical expressiveness possible with a simple passive buzzer. This interpolation capability advantageously creates smooth pitch transitions without requiring complex signal processing or audio synthesis hardware.
[0048] As noted above, the one or more temporal parameters for at least some of the musical notes include a fade-in time 345, a frequency fade time 325, and a musical note duration time 305. The controller 100 is configured to generate the drive signal 1000 for the at least some of the musical notes by interpolation using the fade-in time 345 and the frequency fade time 325 to thereby vary the pitch during a duration of the respective musical note. The one or more temporal parameters can also include a temporal reference parameter which is indicative of the start time of the musical note relative to the start of the produced audio of the sequence of musical notes. The temporal reference parameter is used by the processor 110 to accurately time the control of the passive buzzer 150 to produce the sequence of musical notes. This timing control advantageously allows for precise control over when volume and pitch changes occur within each musical note, enabling sophisticated audio effects and musical expression.
[0049] In one embodiment, the parameter data for each musical note 300 are stored as non-executable data, such as a non-executable file, in memory 120 of the controller 100. An executable control program can retrieve the musical note parameters from the non-executable file to generate the drive signal 1000. This file-based storage provides the advantage of simplified data management and the ability to easily replace or update musical compositions through file replacement.
[0050] As shown in FIG. 5, there is shown a code snippet defining the various parameters of a sequence of musical notes for controlling the generation of a drive signal 1000 for controlling the passive buzzer 150 of the kitchen appliance 10 to produce the sequence of musical notes. As can be seen in the code snippet, the sequence of musical notes can form a musical composition data structure. The musical composition data structure can include a plurality of channels 410, wherein a musical composition portion is produced via a dedicated channel 410a, 410b, 410c. Thus, in the example of audio system 5 of a kitchen appliance 10 including a plurality of passive buzzers 150, different musical compositionportions may be produced by different buzzers 150. The musical composition data structure also includes a duration variable indicative of the temporal length of the musical composition. As can be seen from the code snippet, the parameters of each musical note 300 can be defined as a struct data structure including the parameters discussed above. In this example, each channel includes one to four musical notes 300. As can be seen in the code snippet of FIG. 5, in some instances the programmer composing the musical composition may wish to define a silent note. In this instance, the temporal offset relative to the start of the musical composition and the duration of the silence are defined, and the remaining parameters are merely defined as 'Silence' in the struct data structure. As shown in FIG. 5, multiple musical composition data structures may be defined in an array, wherein a specific musical composition can be referenced by an index of the array. This method of defining the sequence of musical notes is highly advantageous. Defining a musical composition as a sequence of musical notes allows the programmer to understand the musical composition at first glance, create and change parameters quickly. These musical compositions are then able to be processed quite efficiently. Processing efficiency is achieved by the user delegating which PWM channel 410a, 410b, 410c is producing what musical note during the composition stage whilst also allowing the user to define the silent sections. Since many calculations need to be performed by the processor 110 of the controller 100, the user taking the load of channel delegation and blank space creation saves processing power. This multichannel approach advantageously enables polyphonic audio output from a single passive buzzer, allowing multiple notes to be played simultaneously for richer musical compositions.
[0051] As can be appreciated from the code snippet of FIG. 5, three frequency parameters and three volume parameters of a musical note can be controlled, thereby providing complex audio composition and enabling complex audio production via a passive buzzer 150 with minimal processing and storage capability.
[0052] Referring to FIG. 6 there is shown a spectrographic representation of a recording of the passive buzzer 150 being controlled to produce Song[0] of the code snippet of FIG. 5, wherein the spectrographic representation shows the control of frequency and volume of multiple musical notes. It will be appreciated that the reason for many lines, as opposed to three lines for the three musical notes being produced) is due to passive buzzers 150 producing overtones. It will also be appreciated that the existence of diagonal lines withdifferent gradients in Song[0] is because channel 2 transitions from a D pitch to a C pitch which is a whole tone, while channel 3 transitions from an F pitch to an E pitch, which is a semi tone step. It will also be appreciated from the spectrographic representation of FIG. 6 the fade-in and fade-out of musical notes are clearly visible as defined with the code snippet for Song[0].
[0053] Referring to FIG. 7 there is shown a flowchart representing an example method 700 of controlling the emission of a plurality of notes 300 via a passive buzzer 150 of the audio system 5 of FIG. 1. In general, a loop is established to continually interpolate a new set of values for each given time. The loop is based around the duration parameter of the musical composition, indicating that as soon as the counting value exceeds the duration parameter, the one or more PWM modules 160 are reset and the musical composition is complete.
[0054] At step 710, the method 700 includes the controller 100 receiving an instruction to produce a song via the passive buzzer 150. For example, the controller 100 may receive an interrupt signal from an input or output device of the kitchen appliance 10 which is indicative of the instruction to produce a musical composition via the passive buzzer 150. The method then proceeds to step 720.
[0055] At step 720, the method 700 includes the controller 100 retrieving from memory 120 the musical note parameter data including the one or more duty cycle parameters, the one or more frequency parameters, and the one or more temporal parameters. The method then proceeds to step 730.
[0056] At step 730, the method 700 includes the controller 100 determining whether the current time of a musical note is within the duration of the musical composition. In response to a positive determination, the method proceeds to step 740. In response to a negative determination, the method proceeds to step 780.
[0057] At step 740, the method 700 includes the processor 110 of the controller 100 calculating frequency and PWM duty cycle values for each PWM module 160 based on the current time of the musical note. As discussed, this can involve interpolation using various parameters to determine the PWM duty cycle and frequency values. The method then proceeds to step 750.
[0058] At step 750, the method 700 includes the processor 110 of the controller 100 configuring the one or more PWM modules 160 based on the PWM duty cycle and frequency values. In one form, the one or more PWM modules 160 can be part of the controller 100, wherein the method includes the processor 110 loading the PWM duty cycle and frequency values into the one or more PWM modules 160. The method then proceeds to step 760.
[0059] Effectively, steps 740 and 750 are updating the PWM duty cycle and frequency values during each iteration that is performed. In one example, this updating could occur approximately every millisecond.
[0060] At step 760, the method 700 includes the PWM module 160 outputting a drive signal 1000 which is output to the passive buzzer 150 to produce the musical note. The method 700 then proceeds to step 770.
[0061] At step 770, the method 700 includes the controller 100 waiting a predefined period. After the predefined period has elapsed, the method proceeds back to step 730.
[0062] At step 780, the method 700 includes resetting the one or more PWM modules 160 as the musical composition is complete. After step 780, the method 700 ends.
[0063] Referring to FIG. 8, there is shown a code sample for implementing the method 700. The function that produces the musical composition is PlayTune(x), with 'x' representing the selected musical composition to be played. Once the initialisation is complete, the sequence of musical notes are produced inside the "while(durationCount < DurAdjust) " statement, where a loop is run, cycling through the three PWM channels 410 for each durationCount.
[0064] The code sample of FIG. 8 includes additional features to address various technical problems. In particular, the specified timings of the musical notes in a musical composition need to match what is being played, otherwise there is a lack of temporal alignment. For example, a one second musical composition can take three seconds to play. This occurs because the time taken to process one loop (i.e., update the values of all three PWM channels 410), can be much greater than the intended 1 millisecond.
[0065] To address this issue, a form of timing adjustment can be implemented to ensure the correct timings of the musical compositions. In one form, the processor 110 of thecontroller 100 is configured to control the PWM module 160 according to a PWM frequency, wherein the at least some of one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters are temporally scaled according to the PWM frequency. This temporal scaling advantageously ensures accurate timing regardless of the PWM frequency used, maintaining musical timing precision across different hardware configurations.
[0066] In one form, the processor 110 can utilise an equation, stored in memory 120, to calculate the expected duration of 'n' number of loops. In particular, the equation is defined by Equation 1 below. time] H ) "• (n • A l ) + A'2 Equation 1
[0067] Due to the controller 100 needing time to initialise and check the loop conditions, timing predictions are more complicated than just a simple equation of n loops multiplied by duration of 1 loop. Equation 1 takes into account these overhead factors, kl being the timing of one loop, and k2 being the timing of processing overheads. Once kl and k2 are found, Equation 1 can be arranged to find the value of 'n', which is performed at the beginning of the PlayTune() function. Based on experiments, k2 >= -0.0216, and kl >= 2.8535. These values were calculated through measuring the timing of 1 and 2 loops, providing the time difference values needed to calculate kl and k2. These values arranged in this way outputs the number of loops required to achieve the right timing, given this specific functions and the controller 100's processing times. This results in a universal scaling of all the timing based parameters inside the musical composition. This needs to happen because the number of processing loops has dropped to meet the desired duration, therefore every other timing related parameter needs to be scaled down as well. Every timing-based parameter is scaled to a ratio of the new duration divided by the old duration as defined by Equation 2:Equation 2
[0068] This adjustment takes place inside the separate Timing Adj ust() function, where the Shift value is a percentage multiplied by 10000. This allows for sufficient accurate calculations using integers, which is significantly faster to calculate for the processor 110 ofthe controller 100 compared to using floating point arithmetic. Finding the new number of loops, then scaling all of the timing values down accurately achieves the desired duration and timing alignment for each musical composition being played.
[0069] Another technical problem identified related to the perceived volume of the sound produced by the passive buzzer 150. Through testing with volumes and duty cycles, it was found out that the volume of a passive buzzer 150 was not linearly related to the duty cycle. For instance, there is a significant volume change going from 0% to 10% duty cycle, but a less significant change in volume occurs when the duty cycle is adjusted from 25% to 50%. This effect is undesirable. For example, fading the volume smoothly can be difficult to achieve without the perceived volume be adjusted in a linear manner.
[0070] To address this issue, in one form, the controller 100 can be configured to scale the one or more duty cycle parameters such that a linear variance of the one or more duty cycle parameters for at least some of the musical notes, resulting in a perceived substantially linear variance in volume for the at least some of the musical notes. More specifically, the controller 100 can be configured to scale the one or more duty cycle parameters of the at least some of the one or more musical notes to have a duty cycle ranging between one of: 0% to 50%. This scaling advantageously compensates for the non-linear relationship between duty cycle and perceived volume in passive buzzers, providing more intuitive and predictable volume control. This duty cycle range advantageously operates within the optimal range where passive buzzers provide linear volume response, avoiding the uncomfortable high- volume region while maintaining good volume control resolution.
[0071] In one form, the output duty cycle can be adjusted with an equation that shifts the desired output duty cycle down to a level that allows the perceived volume to be linearly controlled. Since the volume is dependent on duty cycle, and duty cycle is dependent on the size of the period register, the controller 100 can use an equation which scales the duty cycle to accommodate the changing variable sizes of different frequencies. The equation is shown below as Equation 3.Equation 3
[0072] As noted, there is a point where increasing duty cycle does not increase volume. This point is approximately equal to 0 to 50%. Equation 3 is defined as 25%, however, it will be appreciated that this value can be changed to be within the 0-50% range. Equation 3 is implemented in the sample code of FIG. 8 before the switch(PWMchannel) statement. This adjustment takes into account the frequency value forthat current iteration, to ensure the volume is consistently the same. It is done individually for each channel.
[0073] As noted above, once the one or more PWM channels 410 have their duty cycles and frequencies updated, one or more drive signals 1000 need to be output to the passive buzzer 150. There are two approaches to process. In a first form, the method includes generating a plurality of signals 910a, 910b, 910c, wherein each signal 910a, 910b, 910c corresponds to a respective channel 410a, 410b, 410c, and combining the plurality of signals into a combined signal used to generate the drive signal 1000 to control the passive buzzer 150. The second approach includes generating a plurality of drive signals 1000a, 1000b, 1000c, wherein each drive signal 1000a, 1000b, 1000c corresponds to a respective channel 410a, 410b, 410c, and controlling each passive buzzer 150 according to a respective drive signal 1000 of the plurality of drive signal 1000s.
[0074] In relation to the first approach, referring to FIG. 9 there is shown a graphical representation of three PWM channels 410a, 410b, 410c summed into a single PWM output 420 which is then output as a drive signal by the PWM module 160. The advantage of this approach is that the sounds can still be played using only one passive buzzer 150. In relation to the second approach, referring to FIG. 10 there is shown a graphical representation of three PWM channels 410a, 410b, 410c having corresponding PWM output signals 910a, 910b, 910c that are output to three passive buzzers 150 via three PWM modules 920a, 920b, 920c which generate three drive signals 1000a, 1000b, 1000c. This multi -buzzer configuration advantageously enables true polyphonic audio with spatial separation, providing enhanced audio feedback capabilities while maintaining the cost and reliability benefits of passive buzzers.
[0075] In some embodiments, the controller 100 may implement adaptive timing compensation that dynamically adjusts the timing parameters based on real-time processing load measurements. The processor 110 may monitor the actual execution time of each loopiteration and automatically adjust the scaling factors kl and k2 to maintain temporal accuracy under varying system conditions.
[0076] In some aspects, the audio system 5 may include a digital signal processor (DSP) module coupled to the controller 100 to provide enhanced audio processing capabilities. The DSP module may perform real-time filtering, echo effects, or harmonic enhancement of the drive signals before they are output to the passive buzzer 150.
[0077] In some cases, the memory 120 may store multiple sets of scaling equations for different types of passive buzzers, allowing the controller 100 to automatically select the appropriate scaling parameters based on buzzer identification data or user configuration settings. This may enable the same audio system 5 to work optimally with various buzzer models having different frequency response characteristics.
[0078] In some embodiments, the controller 100 may implement a feedback control system that monitors the actual audio output from the passive buzzer 150 using a microphone or acoustic sensor. The feedback signal may be used to automatically adjust the duty cycle parameters in real-time to compensate for variations in buzzer performance due to temperature, aging, or manufacturing tolerances.
[0079] In some aspects, the executable instructions may define a library of pre-composed musical segments that can be dynamically combined to create longer compositions. The controller 100 may select and sequence these segments based on the operational state of the kitchen appliance 10, creating contextually appropriate audio feedback.
[0080] In some cases, the PWM modules 160 may operate at different PWM frequencies to optimize performance for different frequency ranges of the musical notes. Higher PWM frequencies may be used for higher pitch notes to reduce audible PWM artifacts, while lower PWM frequencies may be used for lower pitch notes to improve power efficiency.
[0081] In some embodiments, the audio system 5 may include a volume control interface that allows users to adjust the overall volume level of the musical compositions. The controller 100 may apply a global scaling factor to all duty cycle parameters while maintaining the relative volume relationships between different musical notes.
[0082] In some aspects, the controller 100 may implement envelope shaping algorithms that apply attack, decay, sustain, and release (AD SR) characteristics to individual musical notes. These algorithms may modify the duty cycle parameters over time to create more sophisticated volume profdes that enhance the musical quality of the audio output.
[0083] In some cases, the musical composition data may include metadata that specifies the intended emotional tone or urgency level of the audio feedback. The controller 100 may automatically adjust the tempo, volume, or frequency parameters based on this metadata to create appropriate audio responses for different kitchen appliance states.
[0084] In some embodiments, the audio system 5 may support wireless communication protocols that allow remote updating of the musical composition data stored in memory 120. This may enable manufacturers to provide new audio themes or seasonal variations without requiring hardware modifications to the kitchen appliance 10.
[0085] The above description of various embodiments of the present invention is provided for purposes of description to one of ordinary skill in the related art. It is not intended to be exhaustive or to limit the invention to a single disclosed embodiment. As mentioned above, numerous alternatives and variations to the present invention will be apparent to those skilled in the art of the above teaching. Accordingly, while some alternative embodiments have been discussed specifically, other embodiments will be apparent or relatively easily developed by those of ordinary skill in the art. The invention is intended to embrace all alternatives, modifications, and variations of the present invention that have been discussed herein, and other embodiments that fall within the spirit and scope of the abovedescribed invention.
[0086] In this specification, the terms 'comprises', 'comprising', 'includes', 'including', or similar terms are intended to mean a non-exclusive inclusion, such that a method, system, or apparatus that comprises a list of elements does not include those elements solely but may well include other elements not listed.
[0087] It should be appreciated that the term connected, when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a deviceA connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Connected" may mean that two or more elements are either in direct physical contact, or that two or more elements are not in direct contact with each other but yet still cooperate or interact with each other, unless otherwise specified.
[0088] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.
Claims
CLAIMS1. A method performed by an audio system of a kitchen appliance, wherein the audio system comprises a passive buzzer coupled to a controller including a processor and a memory having stored therein executable instructions, wherein execution of the executable instructions by the processor configures the controller to perform steps of: generating a drive signal for driving the passive buzzer to produce a sequence of musical notes forming a musical composition, wherein the executable instructions configure the controller to generate the drive signal according to one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters for each musical note; and controlling the passive buzzer according to the drive signal to produce the sequence of musical notes, wherein during a duration of each musical note defined by the one or more temporal parameters, the drive signal controls a pitch of each musical note based on the one or more frequency parameters and a volume of each musical note based on the one or more duty cycle parameters, wherein the pitch and volume of each musical note are independently controllable such that the volume of a musical note can be set independently of the pitch of that musical note.
2. The method of claim 1, wherein the one or more duty cycle parameters for at least some of the musical notes includes a starting duty cycle, a transition duty cycle, and an end duty cycle, wherein the method includes generating the drive signal for each musical note by using the starting duty cycle, the transition duty cycle, the end duty cycle and the one or more temporal parameters of a respective musical note to thereby vary the volume during the duration of the respective musical note.
3. The method of claim 2, wherein generating the drive signal for at least some of the musical notes is by interpolation using the starting duty cycle, the transition duty cycle, and the end duty cycle and the one or more temporal parameters to thereby vary the volume during the duration of the respective musical note.
4. The method of claim 1 or 2, wherein the one or more frequency parameters for at least some of the musical notes includes a starting frequency, a transition frequency, and an endfrequency, wherein the method includes generating the drive signal for each musical note using the starting frequency, the transition frequency, the end frequency and the one or more temporal parameters of a respective musical note to thereby vary the pitch during a duration of the respective musical note.
5. The method of claim 4, wherein generating the drive signal for at least some of the musical notes is by interpolation using the starting frequency, the transition frequency and the end frequency to thereby vary the pitch during the duration of the respective musical note.
6. The method of any one of claims 1 to 5, wherein the one or more temporal parameters for at least some of the musical notes include a fade-in time, a frequency fade time, and a note duration, wherein the method includes generating the drive signal for the at least some of the musical notes by interpolation using at least some of the fade-in time, the frequency fade time and the note duration to thereby vary a timing in a change of at least one of the volume and pitch during a duration of the respective musical note.
7. The method of any one of claims 1 to 6, wherein the method includes scaling the one or more duty cycle parameters such that a linear variance of the one or more duty cycle parameters for at least some of the musical notes results in a perceived substantially linear variance in volume for the at least some of the musical notes.
8. The method of claim 7, wherein the one or more duty cycle parameters of at least some of the musical notes are scaled to range between 0% to 50%.
9. The method of any one of claims 1 to 8, wherein the controller includes or is coupled to a pulse width modulation (PWM) module which is in turn coupled to the passive buzzer, wherein the method includes controlling the PWM module to generate the drive signal.
10. The method of claim 9, wherein the processor of the controller is configured to control the PWM module according to a PWM frequency, wherein some of the one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters are temporally scaled according to the PWM frequency.
11. The method of any one of claims 1 to 10, wherein the executable instructions define a plurality of channels, wherein the method includes:generating a plurality of output signals, wherein each output signal corresponds to a respective channel; and combining the plurality of output signals to generate the drive signal to control the passive buzzer.
12. The method of any one of claims 1 to 11, wherein the controller includes or is coupled to a plurality of pulse width modulation (PWM) modules, wherein the audio system includes a plurality of passive buzzers, wherein the executable instructions define a plurality of channels, wherein each PWM module is dedicated to a respective channel, wherein the method includes: generating a plurality of drive signals, wherein each drive signal corresponds to a respective channel; and controlling each passive buzzer according to a respective drive signal of the plurality of drive signals.
13. The method of any one of claims 1 to 12, wherein the method includes storing the one or more duty cycle parameters, one or more frequency parameters, and one or more temporal parameters for each musical note in non-executable data in the memory, wherein the executable instructions retrieve the parameters from the non-executable data during generation of the drive signal.
14. The method of any one of claims 1 to 13, wherein the method includes defining silent periods within the sequence of musical notes, wherein each silent period includes a temporal reference parameter and a duration parameter without frequency or duty cycle parameters, wherein the controller maintains timing continuity during the silent periods.
15. The method of claim 14, wherein the temporal reference parameter is a temporal offset from a beginning of the musical composition.
16. The method of any one of claims 1 to 15, wherein the method includes adjusting the one or more temporal parameters to compensate for processing overhead during generation of the drive signal.
17. The method of any one of claims 1 to 16, wherein the one or more duty cycle parameters are processed using integer arithmetic.
18. The method of any one of claims 1 to 17, wherein the musical composition has a defined temporal length, and wherein the method includes controlling the sequence of musical notes within the defined temporal length.
19. An audio system for a kitchen appliance, comprising: a passive buzzer; and a controller, coupled to the passive buzzer, including: a processor; a memory having stored therein executable instructions, wherein execution of the executable instructions by the processor configures the controller to perform the method of any one of claims 1 to 18.
20. A kitchen appliance including an audio system configured according to claim 19.