Robotic system for controlling audio systems
The robotic system addresses the challenge of capturing audio system responses across varying settings by iteratively adjusting controls with a dense sampling process, reducing wear and time, and enabling accurate statistical analysis and emulation.
Patent Information
- Application Number
- DE202021004579
- Authority / Receiving Office
- DE · DE
- Patent Type
- Utility models
- Current Assignee / Owner
- Filing Date
- 2021-02-12
- Publication Date
- 2025-12-31
- Estimated Expiration
- 2031-02-28
AI Technical Summary
Audio systems exhibit varying responses due to different factors such as control settings, topology, and technology, making it time-consuming and mechanically wear-inducing to capture their response behavior across a range of settings.
A robotic system with a control sequencer and motor controllers iteratively adjusts audio system settings, using a sufficiently dense sampling process to determine the response behavior without mechanical adjustments, reducing wear and time by generating a large number of random samples.
The robotic system efficiently captures the audio system's response across various settings, minimizing mechanical wear and time, enabling accurate statistical analysis and machine learning emulation of the system's behavior.
Smart Images

Figure 00000022_0000 
Figure 00000023_0000 
Figure 00000024_0000
Abstract
Description
BACKGROUND OF REVELATION
[0001] The present disclosure relates generally to robotics and robotic systems for controlling audio systems. Aspects thereof relate in particular to robotic systems that adjust the settings of an audio system for the purpose of determining and / or recording the response behavior of the audio system. DESCRIPTION OF THE STATE OF THE ART
[0002] Audio systems (such as audio amplifiers) exhibit different responses based on many different factors. For example, the behavior of an audio system can vary based on the settings of the controls provided by the audio system (e.g., volume, treble, and bass controls). Furthermore, different audio systems provide different types and styles of controls. These differences can vary significantly across different manufacturers. Even further, the response of audio systems can vary based on topology, technology (e.g., vacuum tube, solid-state, hybrid, etc.), and a host of other factors. SUMMARY
[0003] Aspects of the present disclosure provide robotic systems that automatically change the settings of controls provided on an audio system. In some embodiments, a robotic system herein includes a device interface coupled to a control sequencer. The device interface adapts to one or more controls of the audio system that are to be changed. The control sequencer provides a control sequence to the device interface, with each step in the sequence providing one or more control values that cause the device interface to vary the settings on the audio system.
[0004] In practical applications, a combination of sequence values of the control sequence can represent a (sufficiently high) number of samples to determine a response behavior of the audio system, at least over the range of audio system settings characterized by the control sequence.
[0005] In some embodiments, the robotic system may also include a signal generator that provides an input signal to the audio system and a receiver that receives an output signal from the audio system. The output signal represents the audio system's response to the input signal at the current control settings. Thus, by applying an input signal to the audio system that varies across a range of expected inputs (e.g., typically sweeps across variations in amplitude and / or frequency), the robotic system measures the audio system's response to the output at each setting. Furthermore, by iteratively traversing the control sequence and capturing the audio device's response at each iteration, the audio system's responsiveness across different audio system settings can be determined.
[0006] Aspects of the present disclosure also provide robotic systems and automated processes for determining the response behavior of audio systems (e.g., audio amplifiers, audio processors, audio devices (such as effects pedals), passive circuits, loudspeaker enclosures, environments, etc.). One embodiment includes a robotic system that automatically changes settings on an audio system and provides an input to the audio system for each changed setting. The robotic system measures a response for each setting. The embodiment of the robotic system also includes a control sequencer that provides control sequences. Each control sequence modifies at least one variable associated with the audio system. In illustrated examples, the control sequence(s) may correspond to an audio system controller (e.g.,Volume, bass, distortion, treble, other controls that affect a captured output of the audio system, combinations thereof, etc.), each of the individual control sequences having its own sequence values. The sequence values correspond to valid, predetermined control settings for that control. A combination of all sequence values (from all control sequences) represents a sufficiently large number of samples that can be used to determine the response of the audio system, e.g., at least over the range of settings characterized by the control sequence(s).
[0007] In some embodiments, the combination of sequence values from all control sequences is generated from a (sufficiently dense) sampling process. Furthermore, some embodiments, as a robot system, include motor controllers that control motors. The motor controllers receive the sequence values from the control sequencer. Each sequence value is received iteratively and converted into a corresponding motor setting.
[0008] The robot system further includes control couplers that connect to the motors to influence measurements of the audio system's response. For example, the control couplers can connect to audio system controllers, allowing the motors to modify the audio system's control settings. In other embodiments, the control couplers can control the movement or positioning of a microphone that detects a loudspeaker's response, such as influencing its movement along one or more axes, moving a recording device that captures the audio system's environment, and so on.
[0009] Furthermore, in some embodiments, a signal generator provides an input signal to the audio system, and a receiver receives an output signal from the audio system. The output signal represents the audio system's response to the input signal when the control(s) are adjusted.
[0010] Other systems, devices, methods, features, and advantages will be apparent to the person skilled in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages are included in this description, fall within the scope of protection of the present disclosure, and are protected by the accompanying claims.
[0011] Audio systems behave differently based on many different factors. For example, the behavior of an audio system can vary depending on the settings of the controls associated with the system. Furthermore, the controls of many audio systems are interactive, so adjusting one or more controls can have an unusual or unexpected effect on the output sound. Thus, capturing an audio system's response at a single setting may not be representative of how the system will respond across a range of settings. Therefore, this project provides a robotic system capable of capturing an audio system's response across different settings. In this respect, a response behavior is captured that reflects differences in the audio system at various control settings.
[0012] It is time-consuming and problematic to capture every possible combination of settings associated with a typical audio system. Equally problematic as (or even more so than) the time required for all these measurements is the repetitive and mechanical wear on the components. It is not immediately apparent that a systematically iterative approach leads to uneven component wear. To overcome the disadvantage of determining an audio system's response by performing virtually unmanageable numbers of measurements over long periods at the cost of excessive component wear, aspects of this disclosure provide robotic systems and automated processes for determining audio system response without using any settings on the audio system.In fact, some designs sort sample settings to reduce or minimize wear and tear on the audio system's controls.
[0013] With the above as background, a robotic system comprises a control sequencer for providing control sequences, wherein each control sequence corresponds to a controller on an audio system, and wherein each control sequence comprises sequence values, each sequence value corresponding to a valid predetermined controller setting for its corresponding controller. The robotic system also comprises motor controllers, each motor controller being communicatively coupled to the control sequencer, each motor controller being iteratively receiving corresponding sequence values from the control sequencer, and each motor controller being able to convert each sequence value into a corresponding motor setting, each motor setting corresponding to its respective controller setting. The robotic system further comprises motors, each motor being operatively connected to its corresponding motor controller, and each motor responding to its corresponding motor setting.Furthermore, the robot system comprises controller couplers, each controller coupler being mechanically coupled to its corresponding motor, each controller coupler being mechanically coupled to a corresponding controller of an audio system, each controller coupler being mechanically modified to change a corresponding controller setting in response to its corresponding motor setting, the modification of each controller setting influencing a response of the audio system.
[0014] In some embodiments, the robot system is set up such that a combination of the sequence values from all control sequences represents a (sufficiently high) number of samples to (essentially) determine a response behavior of the audio system, and the combination of sequence values from all control sequences further represents a (sufficiently dense) sample.
[0015] In some embodiments, the robot system further comprises a signal generator for providing an input signal to the audio system and a receiver for receiving an output signal from the audio system, wherein the output signal represents the response of the audio system to the input signal in the controller settings.
[0016] In some embodiments, the motors of the robot system include stepper motors.
[0017] In further embodiments, the robot system is configured such that the control sequencer is set up such that a combination of the sequence values from all control sequences represents a (sufficiently large) number of samples to (essentially) determine the response behavior of the audio system, wherein the combination of sequence values from all control sequences further constitutes a (sufficiently dense) sample. The robot system also includes a signal generator for providing an input signal to the audio system and a receiver for receiving an output signal from the audio system, wherein the output signal represents the response of the audio system to the input signal at the controller settings.
[0018] The control sequences may, for example, include at least two (2) sequences selected from the group consisting of a volume control sequence including volume control values, a gain control sequence including gain control values, a treble control sequence including treble control values, a bass control sequence including bass control values, a tone control sequence including tone control values, an equalizer control sequence including equalizer control values, a reverb control sequence including reverb control values, a contour control sequence including contour control values, and a presence control sequence including presence control values.
[0019] Similarly, the controls can be selected, for example, from the group consisting of a toggle switch, a potentiometer, a multi-way switch, a concentric potentiometer, a push-pull potentiometer, a rotary encoder, a foot switch and a slider.
[0020] In some embodiments, the combination of sequence values represents sample values from a random distribution, wherein the sample values are sorted, the sorting reducing or minimizing wear on the controllers.
[0021] In some embodiments, the robot system further includes a frame that connects the robot system to the audio system via an interface. The frame may provide (or be) an adjustable interface.
[0022] In a particular exemplary embodiment, the control sequencer comprises a first control sequence and a second control sequence, wherein the first control sequence corresponds to a first controller associated with the audio system, wherein the second control sequence corresponds to a second controller associated with the audio system, the second controller being different from the first controller, wherein the first control sequence comprises first sequence values, each first sequence value corresponding to a valid predetermined controller setting for the first controller, wherein the second control sequence comprises second sequence values, each second sequence value corresponding to a valid predetermined controller setting for the second controller, and wherein a combination of the first sequence values and the second sequence values represents a (sufficiently large) number of samples to (essentially) determine a response behavior of the audio system.where the combination of the first sequence values and the second sequence values further represents a (sufficiently dense) sample of controller settings. Here, the motor controllers comprise a first motor controller communicatively coupled to the control sequencer, the first motor controller for iteratively receiving each first sequence value from the control sequencer, the first motor controller for converting each first sequence value into a corresponding first motor setting, and a second motor controller communicatively coupled to the control sequencer, the second motor controller for iteratively receiving each second sequence value from the control sequencer, the second motor controller for converting each second sequence value into a corresponding second motor setting. The motors also comprise a first motor operatively coupled to the first motor controller, wherein the first motor responds to the first motor setting.and a second motor operatively connected to the second motor control, wherein the second motor responds to the second motor setting. The control couplers comprise a first control coupler mechanically coupled to the first motor, wherein the first control coupler is further mechanically coupled to the first controller, the first control coupler for mechanically changing a first controller setting in response to the first motor setting, the changing of the first controller setting affecting the response of the audio system, and a second control coupler mechanically coupled to the second motor, wherein the second control coupler is further mechanically coupled to the second controller, the second control coupler for mechanically changing a second controller setting in response to the second motor setting.Changing the second control setting further affects the response of the audio system. In some embodiments, the combination of the first sequence values and the second sequence values represents sample values from a random distribution, the sample values being sorted to reduce or minimize wear on the first and second controls.
[0023] The robot system can further comprise a signal generator for providing an input signal to the audio system and a receiver for receiving an output signal from the audio system, wherein the output signal represents a response of the audio system to the input signal at the first controller setting and the second controller setting, wherein the signal generator and the receiver are controlled to collect the output signal, which represents the response of the audio system for each control sequence implemented by the control sequencer.
[0024] In an exemplary embodiment, the robot system may further include a machine learning system for emulating the response behavior of the audio system, wherein the machine learning system is trained using the input signal, the output signal, the first control sequence and the second control sequence. BRIEF DESCRIPTION OF THE FIGURES
[0025] Many aspects of Revelation can be better understood with reference to the following figures. The components in the figures are not necessarily to scale; instead, the emphasis is on clearly illustrating the principles of the present Revelation. Furthermore, identical reference symbols in the figures denote corresponding parts across the different views. Fig. Figure 1 is a table showing an embodiment of control sequences provided by a control sequencer in a robot system for determining the response behavior of audio systems. Fig. Figure 2 is an illustration showing an embodiment of mechanical components in the robot system for determining the response behavior of audio systems. Fig. Figure 3 shows another embodiment of mechanical components in the robot system for determining the response behavior of audio systems. Fig. Figure 4 is an illustration showing an enlarged view of an embodiment of the motor of Fig. 3 shows. Fig. Figure 5 shows an embodiment of a robot system that is operatively connected to an audio system to measure the response behavior of the audio system. Fig. Figure 6 is a table showing exemplary numerical values that represent mechanical wear for different numbers of controllers when regular grid sampling is used for five (5) equally spaced controller values. Fig. Figure 7 is a table showing exemplary numerical values representing mechanical wear for different numbers of controllers when regular grid sampling is used for eleven (11) evenly spaced controller values. Fig. Figure 8 is a table showing exemplary numerical values when a sufficiently densely sorted path of samples is used instead of regular raster sampling. Fig. 6 and Fig. 7 is used. Fig. Figure 9 is a graph that visually illustrates mechanical wear as a function of the number of samples for different numbers of controllers. Fig. Figure 10 is a table showing an average path over all pairs of consecutive values for a regular raster sampling with five (5) equally spaced controller values. Fig. Figure 11 is a table showing an average path over all pairs of consecutive values for samples generated from a sufficiently dense sampling process. Fig. Figure 12 is a block diagram showing components of a robot system according to aspects of the present disclosure. DETAILED DESCRIPTION OF THE EXECUTION FORMS
[0026] Audio systems behave differently based on many different factors. For example, the behavior of an audio system can vary depending on the settings of the controls (e.g., volume, treble, bass) provided on the audio system. In this respect, audio system controls (and thus the audio system settings) are often adjusted to achieve a desired sound effect for a given application / input source. Furthermore, the controls of many audio systems are interactive, so adjusting one or more controls can have an unusual or unexpected effect on the output sound. Thus, capturing an audio system's response at a single setting may not be representative of how an audio system will respond across a range of settings.Furthermore, capturing a response from an audio system at a single setting may not be representative of how a person, e.g., a musician, interacts with a physical instance of the audio system.
[0027] Therefore, aspects of this system provide a robotic system capable of capturing the response of an audio system across various settings. Such information can lead to an understanding of how a particular audio system behaves in response to different types of input at different settings. Furthermore, the response collected across various settings can be used to generate response captures that more accurately reflect the interaction with a given audio system. In this respect, a response behavior is captured that reflects differences in the audio system at various control settings.
[0028] As used herein, an audio system may include an amplifier, such as a guitar amplifier, bass guitar amplifier, keyboard amplifier, etc. An audio system may also include an effects processor, an effects pedal, a preamplifier, a signal processing device (e.g., an equalizer, compressor, limiter, noise gate, pitch shifter, delay, expander, or filter), or any other device that processes one or more audio signals. Typically, such audio systems include one or more controls. Each control provides two or more settings that affect the operation of the audio system. Often, such controls are implemented by an electromechanical device, such as a potentiometer, encoder, linear / slide potentiometer, switch, rotary switch, push button, etc.
[0029] In some cases, the controller can be "virtual," for example, implemented as a software object on a graphical user interface (e.g., a touchscreen). In this case, the controller can be generalized to a "widget." Additionally, some controllers can rely on an electrical input (e.g., a controller can be a connector for receiving control messages, such as Musical Instrument Digital Interface (MIDI) messages, an expression pedal input, a control voltage input, or other means).
[0030] In other exemplary embodiments, an audio system may include a loudspeaker enclosure that is sensitive to microphone placement when it detects the loudspeaker enclosure's output. In this case, moving the microphone affects how the loudspeaker enclosure is perceived. Similarly, moving a microphone within an environment affects how the audio system is perceived within that environment.
[0031] Notwithstanding the foregoing, as used herein, a “control” of an audio system is any adjustable feature, whether physical (e.g. requiring physical movement) or virtual, and whether user-adjustable or electrically adjustable, to affect the operation of the audio system.
[0032] Furthermore, as used herein, with reference to a control, a "setting" encompasses a particular state of the controller. For example, a potentiometer acting as a volume control may have a range of settings from a minimum potentiometer position to a maximum potentiometer position. This range of positions is often generalized over a simplified set of values, such as 0-10, etc. A push-button switch may have only two settings, whereas a rotary switch may have multiple discrete settings (e.g., 6 or more settings).
[0033] In some embodiments, a controller setting can be defined across the entire range of valid positions of the controller. In other embodiments, a setting can be limited to a range of valid positions, such as a sweep from a predetermined minimum value to a predetermined maximum value. In some exemplary embodiments, settings can have an "imposed" range, defined, for example, by the boundaries of the robot system or otherwise by deliberate and intentional restrictions to a range of settings. For example, when recording a loudspeaker enclosure, a predefined minimum and maximum microphone movement distance can be defined. For a potentiometer acting as a volume control, an artificial minimum value can be set (e.g.,set to a value of 1), since a setting of "off" or zero will result in no sound from the audio system. Other examples are possible.
[0034] When referring to an audio system, a "setting" is a specific state of each control associated with the audio device. In certain applications, some controls and / or control parameters may be considered "do not matter." For example, in a multi-channel amplifier where only one channel is being evaluated, the controls of the unevaluated channels may be "do not matter" controls. In this context, "setting" in relation to an audio system refers to those controls of an audio system that are of interest.
[0035] According to aspects discussed here, one approach to emulating the responsiveness of a given audio system involves measuring the audio system's responses to each (or substantially all) of its settings. In other words, each individual control (e.g., volume control, bass control, treble control, gain control, presence control, contour control, treble boost switch, etc.) is changed incrementally, and a response is measured for each setting. While this approach may be suitable for simple audio systems (e.g., a small number of controls, such as a potentiometer and a switch), it becomes problematic for audio systems with many controls.
[0036] As one can imagine, for an exemplary audio system with five (5) controls, such as potentiometers (which is somewhat common in the guitar and bass amplifier industry), if each control has ten (10) possible settings, the total number of settings necessary to determine a complete response would be 100,000 individual measurements (one for each setting). Furthermore, for linear (continuously variable) devices, such as potentiometers, the range from a minimum value to a maximum value can be divided into more than 10 possible positions, depending on the desired resolution.
[0037] Equally problematic as (or even more problematic than) the time required for all these measurements is the repetitive and mechanical wear on the components. Since a response of the audio device can be measured with each unique adjustment, the audio system settings must be changed in direct proportion to the number of controls (e.g., potentiometer sliders, toggle switches, multi-way switches, concentric potentiometers, push-pull potentiometers, rotary encoders, footswitches, etc.) and the number of settings for each control. Thus, using a sample audio system with a 5-potentiometer configuration again, 10 settings for each sample potentiometer configuration would require at least 100,000 unique control adjustments.
[0038] It is not immediately obvious that a systematically iterative approach leads to uneven component wear. Following the example above, for every turn of a first potentiometer, a second potentiometer would require a minimum of ten (10) turns. Likewise, for every turn of the second potentiometer, a third potentiometer would require a minimum of ten (10) turns; and so on. Thus, mathematically, the fifth potentiometer experiences 10,000 times the number of turns compared to the first. If the controls are implemented with potentiometers, then each control in the audio system has a limited usable lifespan, since potentiometers (which contain mechanical components) have a finite number of duty cycles before failure.As such, the durability of the audio system depends on its most vulnerable component, namely the potentiometer in this example, which has been turned 10,000 times. In practical cases, some audio systems may include 20-30 user-adjustable controls, which exacerbates the problem even further.
[0039] To overcome the disadvantage of determining the response behavior of an audio system by performing almost unmanageable numbers of measurements over long periods of time at the cost of excessive wear on components, aspects of the present disclosure provide robotic systems and automated processes for determining the response behavior of audio systems without using any adjustments to the audio system. General overview
[0040] Aspects of the present disclosure provide robotic systems that automatically change settings on an audio system. As noted in more detail herein, the audio system typically includes one or more controls that affect its operation. In this respect, the robotic system is programmed to adjust the audio system over a predetermined range of settings.
[0041] Here, the "range of settings" can be all settings across all controls, all settings across a subset of controls, a subset of settings across each control, a subset of settings across a subset of controls, a combination of the entire range of settings, a subset of settings per control across all controls, or a subset of controls, and so on. Thus, for non-restrictive illustration, a potentiometer might be adjustable from a range of 1-10, but the desired range of settings might specify that only the range of 1-5 is of interest. As another example, a switch might select different gain ranges at different switch positions, but only a subset of these switch positions might be of interest, and so forth.
[0042] In one exemplary implementation, the robot system includes a device interface coupled to a control sequencer. The device interface adapts to one or more controls of the audio system that are to be modified. The control sequencer provides a control sequence to the device interface, with each step in the sequence providing one or more control values that cause the device interface to vary the settings associated with the audio system. For example, in some embodiments, a control sequence defines a corresponding setting for each control to be adjusted for each iteration / step. In other embodiments, a control sequence is provided for each control to be adjusted (e.g., volume, bass, treble, distortion, etc.).In this respect, each control sequence has a unique / specific set of sequence values for each iteration / step of that control sequence, which takes into account the range of valid setting values for the associated controller. The sequence values correspond to valid, predetermined controller settings for that controller of the audio system.
[0043] In some embodiments, the robot system may also include a signal generator that provides an input signal to the audio system and a receiver that receives an output signal from the audio system. The output signal represents the audio system's response to the input signal at the current control settings. Thus, by applying an input signal to the audio system that varies across a range of expected inputs (e.g., sweeps across variations in amplitude and frequency), the robot system's receiver measures the audio system's response to the input via the output at each setting. Furthermore, by iteratively traversing the control sequence and capturing the audio system's response at each iteration, the system's responsiveness can be determined, reflecting different audio system settings.
[0044] In practical applications, a combination of sequence values from the control sequence(s) can represent a sufficiently high number of samples to determine the response of the audio system, at least over the range of audio system settings defined by the control sequence. The number of samples (steps or iterations of the control sequence) required to be "sufficiently high" depends on the desired accuracy. For example, a "sufficiently high" number of sequence iterations might depend on factors such as the number of controls, the number of settings per control, the desired accuracy of the response to precisely match the audio system, and so on.
[0045] As an example, the combination of sequence values of the control sequence(s) is generated by a sufficiently dense sampling process. In other words, instead of recursively measuring every possible combination of settings, the disclosed embodiments generate a sufficiently large number of samples of settings instead of all possible combinations of samples, thereby reducing the time involved in determining the response behavior of audio systems. For some embodiments, the samples are generated / sorted to reduce wear on the audio systems. Due to the randomization of the sequence values, system-related or process-related artifacts (e.g., time-dependent drift, circuit temperature-dependent drift, etc.) are also reduced. Since a sufficiently large number of samples are collected, the response behavior of the audio system can also be determined by statistical processes.
[0046] For clarity, a sufficiently large number of samples is defined herein as a number high enough to allow for reliable statistical analysis. Although the number may vary depending on the context, the sample size is thus determined as a function of the desired analytical context. Similarly, a sufficiently dense sample means having enough distinct sampling points to allow for reliable statistical analysis. Again, density varies based on the context. Although only a condensed discussion of what constitutes a sufficiently large number of samples is provided herein, specific numerical examples are given with reference to Fig. 6 to Fig. Figure 11 is provided to illustrate the benefits of sufficiently dense sampling.
[0047] As a robotic system, the device interface in some embodiments includes motor controllers that control motors. The motor controllers receive sequence values from the control sequencer. Each sequence value is received iteratively and converted into corresponding motor settings. In this context, a "motor" can refer to a motor, a linear actuator, or any other device capable of effecting movement (including movement along one or more axes) to cause an associated controller, linked to the audio system, to switch to a desired setting. Thus, changes can be effected rotationally, along a defined axis, in multiple axes (X, Y, Z), combinations thereof, and so on. The audio system, the environment, the nature of the audio system's behavior to be evaluated, and other factors can determine the specific configuration.
[0048] The robotic system also includes control couplers that couple the motors to the controllers, allowing the motors to change controller settings. The exact configuration of the control coupler can vary depending on the type of controller in the audio system being controlled. For example, a control coupler designed to adjust a potentiometer, encoder, or rotary switch might be mechanically attached to a shaft of the controller (e.g., a shaft of the potentiometer, encoder, rotary switch, etc.). In this case, the size / shape of the shaft, whether it has a knob or if the knob can be removed, the shaft's position on the audio system relative to the position of the corresponding motor, and other factors dictate the specific configuration of a given control coupler. Alternatively, a control coupler for toggling or pushing a switch might be attached to an actuator / toggle lever of the switch, etc., and thus requires a corresponding configuration.A control coupler for controlling a microphone used to capture a response from the audio system can be mounted on a carriage or other configuration that provides controlled movement along at least one axis. A microphone stand or other support can be connected to the control coupler to control the microphone's positioning.
[0049] The audio system's response to the input signal at various control settings can be used to train machine learning algorithms (such as neural networks) to emulate the behavior of many different types of audio systems. For such a machine learning emulation system, the audio system's response serves as the ground truth. As a non-restrictive example, the audio system's response can be used in conjunction with a neural network model, as described in U.S. Patent Application No. 16 / 738512 entitled "Neural Modeler of Audio Systems," filed on June 25, 2020, which is incorporated herein by reference in its entirety.
[0050] Having provided a broad technical solution to a technical problem, we now refer in detail to the description of the embodiments, as illustrated in the drawings. While several embodiments are described in connection with these drawings, there is no intention to limit the disclosure to the embodiment or embodiments disclosed herein. On the contrary, the intention is to cover all alternatives, modifications, and equivalents. Examples
[0051] With reference to Fig. Figure 1 discloses a table showing an embodiment of control sequences 100 provided by a control sequencer in a robot system for determining the response behavior of audio systems. The Fig. Table 1 shown is exemplary, but can be used with any of the embodiments described herein and can in particular be used with any of the structures described with reference to Fig. 2- Fig. 12 are shown and described.
[0052] For some embodiments, the control sequences 100 are provided in a data format as entries in a spreadsheet, such as a .csv file or other common database formats. The control sequences 100 include input level 110, input wave file 120 (which contains a digital representation of the input signal), first controller label 130, first controller target values 140, second controller label 150, second controller target values 160, raw input wave data 170, and target wave data 180. It is understood that the control sequences 100 can be extended, depending on the number of controllers being configured, to accommodate third controllers, fourth controllers, and so on. In this respect, exemplary values in the control sequences 100 correspond to valid predetermined controller settings for their respective exemplary controllers, and thus the values shown in the figure are for illustrative purposes only and are not intended to be limiting.
[0053] If the controls are potentiometers on an audio system, for example, then the potentiometer positions for each potentiometer are generated from the values of their respective control sequences (100). If one potentiometer is a treble control (e.g., labeled first control 130) and another potentiometer is a distortion control (e.g., labeled second control 150), then the control target values (140, 160) determine the potentiometer positions for treble and distortion, respectively.Although a treble control sequence with target control values of 140 and a distortion control sequence with target control values of 160 are used as illustrative examples, it is understood that the control sequence 100 can include a volume control sequence with volume control values; a gain control sequence with gain control values; a treble control sequence with treble control values; a bass control sequence with bass control values; a tone control sequence with tone control values; an equalizer control sequence with equalizer control values; a reverb control sequence with reverb control values; a contour control sequence with contour control values; a presence control sequence with presence control values, and so on. That is, the control sequence is any control sequence suitable for an associated audio system.
[0054] Continuing with the embodiment of Fig. 1 In some embodiments, such as for potentiometers, controller positions can be expressed as floating-point values between 0 and 1, thus enabling appropriate scaling to accommodate different systems. For example, controllers in some systems may have a total rotation angle of 300 degrees, while other systems may have a total rotation angle of 180 degrees, and so on. Consequently, 0 represents the lowest value for a controller, while 1 represents the highest value for the controller in any given system. It is understood that, depending on the manufacturer and its design specifications, the controller in other embodiments may be a toggle switch (with switch positions) or a slider (with slider positions). Of course, multi-way switches, concentric potentiometers, push-pull potentiometers, rotary encoders, foot switches, touch displays, electronic inputs, positioning systems (e.g.,for a microphone) and other mechanisms were considered.
[0055] Ultimately, the control sequences 100 comprise a combination of sequence values that represents a sufficiently large number of samples used to determine the response behavior of the audio system. Furthermore, the combination of sequence values from all control sequences can be generated by a sufficiently dense sample of controller points. Preferably, the control sequences 100 provide a minimum acceptable and sufficiently large number of samples for changing each controller setting to reduce mechanical wear of the controllers. In other words, instead of recursively measuring every possible combination of settings, the disclosed embodiments only try a subset of all combinations, thereby reducing the time required to obtain a sufficient number of samples.
[0056] For example, in some embodiments, the combination sequence values for each controller represent sample values from a random distribution. These sample values can be sorted to reduce or minimize wear on the audio system's controllers. As another example, the combinations of values can represent Markov chain Monte Carlo (MCMC) sample values for a sufficiently dense sample of controller settings. Insofar as those skilled in the art understand how to implement MCMC (or other probabilistic) sampling, further discussion of MCMC is omitted here.
[0057] In operation, a device interface can include a control device that reads control position information from the control sequences 100. The control position information is optionally processed and transmitted to corresponding motor controllers (described in more detail below). The motor controllers control associated motors, which are coupled via corresponding controller couplers to associated amplifier controllers in order to set the controls belonging to the audio system to control values corresponding to the read control positions.
[0058] Due to the randomization of the sequence values, the effects of system-related or process-related artifacts (such as drift) are reduced. Furthermore, since a sufficiently large number of samples are collected, the response of the audio system can be determined through statistical processes. After the amplifier control value is set according to the read value (e.g., after all motors have stopped), a signal generator (also described in more detail below) provides an input signal to the audio system. A receiver (described below) receives an output signal from the audio system, the output signal representing the audio system's response to the input signal at the control settings. The response is recorded and stored. In some embodiments, each step in a sequence can specify one or more audio files to be used for recording.Thus, the input signal can be the same or different at each step of a sequence.
[0059] The system repeats this process until all values in the control sequences have been applied and their respective responses recorded. The process can be started, stopped, restarted, and so on. Furthermore, if an audio system is implemented in two or more identical instances, it may be possible to split the control sequence file into two or more files, each running on an associated instance of the audio system. The results from the collection of iterations can then be combined to provide a description of the audio system's responsiveness.
[0060] Once all responses have been collected and stored, they can be used to determine the audio system's responsiveness. Alternatively, the collected responses can be used to train neural network-based models to emulate and understand the audio system's responsiveness, distinguishing the behavior of one type of amplifier (or system) from another, differentiating one manufacturer from another, or identifying characteristic differences across a variety of other variables. Such a model can learn to emulate the audio system's responsiveness for any given controller setting within the control space defined by the automated recording process.
[0061] With reference to Fig. Figure 2 illustrates an embodiment of mechanical components in a robot system 200. The illustrated mechanical components can be integrated into an implementation of the device interface and can be used to determine the response behavior of audio systems, as detailed herein. Furthermore, the components shown in Fig. The illustrated mechanical components shown in section 2 can be used with any of the embodiments described herein and can in particular be used with any of the structures, processes, etc., which are described with reference to Fig. 1 and Fig. 3- Fig. 12 are shown and described. Furthermore, although illustrated as a single instance, the structures of Fig. 2 can be scaled to accommodate audio systems of varying complexity.
[0062] The robot system 200 comprises a control device 205, such as a Raspberry Pi® system, computer, dedicated microcontroller, or other type of programmable processor. For the embodiment of Fig. 2 The control device may include 205 circuits for implementing sequence control, motor control and other control / processing as described in more detail herein.
[0063] For example, the control device 205 may include motor control(s), which are implemented, for example, using discrete logic circuits (e.g., application-specific integrated circuits (ASICs) with suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.). If the control device 205 is, for example, a Raspberry Pi® system, then a 16-channel pulse-width modulated (PWM) servobonnet for Raspberry Pi® from Adafruit Industries LLC, in conjunction with available Python® libraries, can be used to program the motor control(s). As another example, the motor control for a stepper motor may be a low-voltage stepper motor driver, such as the DRV8834 module from Texas Instruments, Inc.
[0064] As illustrated, a motor control unit within the control device 205 is communicatively coupled to a motor 210. Insofar as communication (wired or wireless) between the control device 205 and the motor 210 is known in the art, further discussion of the interface is omitted here.
[0065] Each motor controller iteratively receives its respective sequence values from the control sequencer (also implemented using suitable logic circuits). Upon receiving the sequence value, each motor controller converts the sequence value into a corresponding motor setting, with each motor setting corresponding to its respective controller setting. It is understood that, in some embodiments, the control device 205 may also include a signal generator and / or receiver and thus also record and / or store the response from the audio system using, for example, a Universal Serial Bus (USB) audio interface between an audio system (not shown) and the control device 205.
[0066] In the illustrated robot system 200, the motor 210 is operatively connected to its corresponding motor controller (in the control device 205), for example, by an electrical connection 215 (e.g., wiring). In some embodiments, the motor 210 can be controlled by the control device 205 using wireless communication protocols. Ultimately, the control of the motor 210 is determined by the values from the control sequences 100 ( Fig. 1) determined.
[0067] Furthermore, the motor 210 is mechanically connected to a set of gears 220 and 225, which are driven and rotated by the motor 210. The motor 210 and the gears 220 and 225 are mechanically connected to each other by a housing 230, which fixes the gears 220 and 225 relative to the motor 210. It is understood that the gear ratio can be adjusted to increase or decrease the number of rotations required by the motor 210 to appropriately change the controller settings. For example, when using the Adafruit device, the rotation range is approximately 120 degrees (~120°). Thus, to extend the rotation range to ~270°, a gear ratio of approximately 9:4 should be applied.As another example, if an HS-422 servo motor (from Hitec) is used, which has a rotation angle of approximately 180°, a gear ratio of about 15:9 should be applied to ultimately obtain a movement range of approximately 300° at the controller. It is understood that, depending on the final rotation range, the gear ratios can be changed proportionally.
[0068] In some embodiments, the motor 210 is a servo motor, while in other embodiments, the motor 210 is a stepper motor. It is understood that, given the limitations of any choice, the type of motor 210 largely depends on the design and, in practice, may include a motor, linear actuator, or other device capable of motion response. Servo motors can cover a continuous range of angles, although they are typically limited by the maximum angle (e.g., less than 180 degrees), which in turn necessitates the use of gears. In contrast, stepper motors have no such angular limitations. Although stepper motors have a discrete number of steps per resolution (e.g., 360 degrees), the accuracy of stepper motors is sufficient for most (if not all) practical settings, insofar as these settings are typically adjusted by the human hand.Some servomotors have a fourth wire that enables feedback control of the motor position, allowing the user to quantify the controller positioning error. Other motor types may also have or be used in conjunction with analog-to-digital converters (ADCs), enabling feedback reading by the control device 205.
[0069] A mechanical rod 235 (or other connector) is fixed to the final gear 225, and a regulator coupler 240 is mechanically fixed to the rod 235. As such, the regulator coupler 240 is mechanically connected to its corresponding motor 210 via the rod 235 and the gears 220, 225. In operation, the regulator coupler 240 is mechanically connected to a corresponding controller of an audio system (in Fig. (2 not shown, but described in detail below). This allows the controller coupler to mechanically change a corresponding controller setting in direct relation to (and in response to) its corresponding motor setting. Changing any controller setting affects the response of the audio system.
[0070] In the embodiment of Fig. 2 The regulator coupler 240 is mechanically coupled to the rod 235 by a universal joint 245. The universal joint 245 allows compensation for misalignments and sometimes for larger tolerances when different audio systems have slightly different regulator distances.
[0071] With reference to Fig. Figure 3 shows a further embodiment of mechanical components in a robot system 300 for determining the response behavior of audio systems. The in Fig. The 3 illustrated mechanical components can be used with any of the embodiments described herein and can in particular be used with any of the structures, processes, etc., referred to in Fig. 1- Fig. 2 and Fig. 4- Fig. 12 are shown and described.
[0072] In contrast to System 200 from Fig. Figure 2, which shows gears 220, 225 with parallel axes, shows the robot system 300 from Fig. 3 Gears 320, 325 with intersecting axes, in particular bevel gears 320, 325. The use of bevel gears 320, 325 provides a more compact design and a certain degree of space saving (compared to gears 220, 225 with parallel axes).
[0073] Similar to Fig. 2 includes the robot system 300 from Fig. 3 a control device 305 which is coupled to a motor 310 via an electrical connection 315 (e.g. wiring). In this respect, the control device 305 can be analogous to the control device 200 of Fig. 2 be implemented. Likewise, motor 310 can be added to motor 210 from Fig. 2 be implemented.
[0074] A housing 330 is provided for fixing the gears 320 and 325 relative to the motor 310. Furthermore, a mechanical rod 335 is mechanically coupled to the gear 325, such that a rotation of the gear 325 causes a corresponding rotation of the mechanical rod 335. A governor coupler 340 extends from the end of the mechanical rod 335 via a universal joint 345, analogous to similar structures described with reference to Fig. 2 are described. Insofar as analogous components to the control device 305, the motor 310, the connection 315, the housing 330, the mechanical rod 335, the regulator coupler 340 and the cardan joint 345 are described with reference to Fig. The illustrated components are described in detail in section 2, with reference to... Fig. 3 not discussed further.
[0075] With reference to Fig. Figure 4 illustrates an enlarged view of an embodiment of a motor 410. The one in Fig. The illustrated motor shown in Figure 4 can be used with any of the embodiments described herein and can in particular be used with any of the structures, processes, etc., referred to in Figure 4. Fig. 1- Fig. 3 and Fig. 5- Fig. 12 are shown and described. For example, motor 410 can be considered motor 210 from Fig. 2 or the 310 engine from Fig. 3 can be used.
[0076] As illustrated, a perspective view of the motor 410 from the direction of the mounting points 450 and the axle 460 is shown. The axle 460 can be mechanically connected to one of the gears 220, 320 ( Fig. 2 or Fig. 3) be coupled, while the mounting points 450 are used to mount the motor 410 in its suitable position in the housing 230, 330 ( Fig. 2 or Fig. 3) to secure.
[0077] In alternative embodiments, the use of a 410 stepper motor, such as a National Electrical Manufacturers Association (NEMA)-8 stepper motor, allows for more precise control while eliminating the need for gears (since the stepper motor can rotate at any desired angle). In some embodiments, the 410 stepper motor features two hundred (200) steps per revolution with microstepping (which can be increased as desired). The 410 stepper motor also allows direct control of the motor settings from the control sequencer.
[0078] Taking into account the systems in Fig. 1 to Fig. 4 will be on Fig. Figure 5 refers to a robot system connected to an audio system 560. The in Fig. The illustrated components shown in Figure 5 can be used with any of the embodiments described herein or otherwise analogously to them, and in particular can be used with any of the structures, processes, etc., referred to in Figure 5. Fig. 1- Fig. 4 and Fig. 6- Fig. 12 are shown and described.
[0079] As illustrated, the robot system includes a set of robot arm assemblies. In this case, not every robot arm assembly of the robot system is used. Since the example audio system 560 includes seven potentiometers, only seven robot arm assemblies 500a–500g (500 in total) are used instead.
[0080] Furthermore, a control device 505 is coupled via suitable cabling 515 to motors 510a-510g (together 510) of the robot arm assemblies 500a-500g. In this respect, the control device 505 is analogous to the control device 205 ( Fig. 2) and / or control device 305 ( Fig. 3), except that the control device 505 is extended to independently control all seven (in this example) robot arm assemblies 500a–500g. In this exemplary implementation, the control device 505 processes one or more control sequences (see, for example, control sequence 100, Fig. 1), except that the control sequence(s) is / are extended to define settings for all seven controls of the Audio System 560. In this respect, depending on the implementation, the control sequences can be dynamically generated by the Control Device 505, e.g., at runtime. In other exemplary implementations, the control sequence is generated prior to operation. For example, control sequences can be generated in advance by the Control Device 505, or the control sequences can be generated by a remote processing device and then loaded into the Control Device 505.
[0081] In this respect, the motors 510a-510g (together 510) of the robot arm assemblies 500a-500g can be configured analogously to any of the motor structures described in more detail herein, including those embodiments of Fig. 2- Fig. 4. be implemented. In this respect, gears and other suitable mechanical coupling / connection structures can also be provided (not explicitly in Fig. 5 shown), e.g. depending on the engine configuration.
[0082] As in Fig. As shown in Figure 5, the audio system 560 (illustrated, for example, as a guitar amplifier) comprises several controllers 565a–565g (collectively 565), each controller 565 corresponding to one of the robot arm assemblies 500a–500g. The robot arm assemblies 500a–500g are connected by mechanical rods 570a–570g (collectively 570) with connectors 575a–575g (collectively 575—with or without gimbal joints) in a manner similar to analogous components in Fig. 2 and Fig. 3 mechanically coupled to their respective controllers 565.
[0083] Furthermore, in some embodiments, an additional connector 580a-580g may be attached to the base of each mechanical rod 570a-570g. Each additional connector 580a-580g may have a universal joint to allow greater variance and flexibility in adapting the system to different audio systems.
[0084] As also illustrated, the robot arm assemblies 500a-500g are positioned relative to each other using a frame 585. Thus, as can be seen, a different (but suitable) frame 585 can be used for different types of audio systems (with different configurations) to align the robot arm assemblies 500a-500g with their respective controllers 565a-565g. In some embodiments, an adjustable frame 585 and / or an adjustable interface on the frame 585 (such as universal joints) can be used, so that a single frame can accommodate multiple audio system configurations. For example, in some embodiments, it may be possible to reposition each robot arm assembly 500a-500g along the length of the frame 585 using set screws or other fasteners.
[0085] The mechanical coupling of the robot arm assemblies 500a-500g with their respective controllers 565a-565g enables the control of the audio system settings according to the control sequences, as described in reference to Fig. 1 explained. For example, if the controls 565a - 565g include a volume control, a gain control, a treble control, a bass control, a tone control, a reverb control, a contour control, a presence control, or any other type of control, then each of these controls 565 can be set according to their respective control sequences.
[0086] In some embodiments, a signal generator (not explicitly mentioned) is used for each setting. Fig. (as shown in section 5) provides an input signal to the 560 audio system, and then a receiver receives it (not explicitly in the description). Fig. 5 shown) an output signal from the audio system 560, where the output represents the response of the audio system 560 to the input signal at the settings of the controls 565.
[0087] As in Fig. 1 to Fig. As shown in Figure 5, aspects of the present disclosure teach systems and processes for determining the response behavior of audio systems without using any settings on the audio system. For example, disclosed embodiments of the robotic systems teach a control sequencer that provides control sequences. In some embodiments, the control sequence(s) use combinations of sequence values that represent a sufficiently large number of samples to adequately generate a response behavior that reflects the actual audio system, even over a full range of control settings in some cases.
[0088] Since the combinations of sequence values do not recursively measure every possible combination, but instead only try a subset of all combinations, the disclosed embodiments reduce the time and wear associated with determining the response behavior of audio systems. System-related or process-related artifacts are also reduced due to the randomization of the sequence values. Furthermore, since a sufficiently large number of samples are collected, the response behavior of the audio system can be determined using known statistical processes.
[0089] To illustrate the advantages associated with a sufficiently dense sample, we will refer to Fig. 6 to Fig. Reference is made to section 10. First, it should be noted that a sufficiently dense sample should also take into account the total permissible mechanical wear, which can be determined, for example, from datasheets for the hardware (e.g., potentiometers or other hardware controls). Thus, for example, a particular potentiometer might have a nominal lifetime expectation of between one million (1,000,000) and two million (2,000,000) cycles (fully clockwise and fully counterclockwise). Given that the process of performing measurements for the audio system should not induce a significant amount of mechanical wear, for this example, one percent (1%) of the nominal lifetime expectation would correspond to between ten thousand (10,000) and twenty thousand (20,000) cycles.In the present disclosure, mechanical wear is reported in a unidirectional manner, such that one (1) cycle is defined as one complete rotation, either completely clockwise or completely counterclockwise. Thus, mechanical wear of 1% of the nominal expected lifetime would allow approximately forty thousand (40,000) complete rotations. Therefore, for this example, a sufficiently dense sample would have a sample size of less than 40,000.
[0090] Another consideration relates to the data itself. For example, for twenty thousand (20,000) samples of input and output audio pairs, if each sample is forty-eight (48) kilohertz (kHz) at sixteen (16) bits resolution, the input and output data alone would occupy approximately 17.8 gigabytes (GB) of data.
[0091] Using these exemplary figures from this example as context, we will refer to Fig. Reference 6 shows exemplary numerical values representing mechanical wear for different numbers of controllers when regular grid sampling is used for five (5) equally spaced controller values. For example, for two controllers with five controller values each (in the first row of the table in Fig. (as shown in Figure 6) the total number of samples is 25, with a maximum wear of 9 and an average calculated wear of 5. As shown in Figure 6, the total number of samples is 25, with a maximum wear of 9 and an average calculated wear of 5. Fig. As can be seen in Figure 6, a linear increase in the number of controllers leads to an exponential increase in the number of samples, the maximum wear, and the average wear. At the time when ten (10) controllers are considered, there are almost ten million samples (specifically 9,765,625 samples), resulting in maximum wear and average wear of 3,906,249 and 488,280, respectively.
[0092] Expanding the number of possible settings from five (5) values to eleven (11) values leads to even greater hardware wear. As in Fig. As shown in Figure 7, a configuration with 2 controllers and 11 settings results in 121 samples, with wear being more than double that of the configuration with 2 controllers and 5 settings. Fig. 6 is shown. A configuration with 7-controller-11 settings (in Fig. 7) has approximately twice the number of samples as a 10-controller-5-setting configuration (in Fig. 6), where the maximum wear and the average wear in Fig. 7 the corresponding values in Fig. 6. Overshadow. As can easily be observed, the number of samples becomes impractically high, even exceeding the entire lifetime cycle of some hardware components, as either the number of controllers or the number of settings increases.
[0093] For comparison, numerical examples for sufficiently dense samples are presented in Fig. 8 shown. In particular, shows Fig. 8. A table for different controllers with 5 settings. In contrast to Fig. 6. The configuration with 2-controller-5 settings results in a maximum wear of 3 (compared to 9 in Fig. 6) and an average wear of 2 (compared to 5 in Fig. 6) Similarly, a comparison of the configuration with 5-controller-5 settings shows that the sufficiently dense sorted sample (in Fig. 8) a remarkable reduction in maximum and average wear compared to regular grid scanning (in Fig. 6) provides. In other words, a sufficiently dense sorted sample results in less mechanical wear while simultaneously enabling a substantially uniform distribution of sample values.
[0094] Fig. Figure 9 is a graph that visually illustrates mechanical wear as a function of the number of samples for different numbers of controllers. As shown in Fig. As shown in Figure 9, mechanical wear behaves linearly (rather than exponentially) with respect to the number of samples in the sufficiently densely sorted sample. Thus, in contrast to regular raster scanning, wear of hardware components is significantly reduced, even by several orders of magnitude.
[0095] An additional advantage of sufficiently dense sorted sampling is its ability to cover a dense sampling space with few (if any) duplicated values. Furthermore, random sorted sampling allows for better interpolation and shorter paths between successive settings. Comparisons of regular raster sampling and sufficiently dense sorted sampling are discussed in Fig. 10 and Fig. 11 shown. In particular, shows Fig. 10 numerical examples of an average path over all pairs of consecutive values for a regular grid sampling with five (5) equally spaced controller values, while Fig. 11 corresponding values for a sufficiently dense sample are shown. As in Fig. 10 and Fig. As shown in Figure 11, the maximum path distance, the minimum path distance, and the average path distances for the randomly sorted sample are much better than those for regular (exhaustive) raster scanning.
[0096] It should also be noted that, due to such a significant reduction in sample size, the randomly sorted sample offers the additional advantage of saving both time and data storage. As explained in more detail here, in some embodiments the combination sequence values for each controller represent sample values from a random distribution. These sample values are then sorted to reduce or minimize wear on the audio system's controllers.
[0097] With reference to Fig. Figure 12 illustrates a block diagram of an example robotic system that can reduce the time, wear, and data storage requirements associated with determining the response behavior of audio systems. The diagram in Fig. The illustrated block diagram shown in Figure 12 can be used with any of the embodiments described herein and can in particular be used with any of the structures, processes, etc., referred to in Figure 12. Fig. 1- Fig. 11 are shown and described.
[0098] In particular, the systems and processes can be described as follows: Fig. 1 to Fig. 11 discusses, in a robot system 1200 generally represented, such as in an embodiment which is in Fig. Figure 12 shows that the system 1200 comprises a control device 1205, which is operatively connected to a control sequencer 1210, motor control(s) 1215, a signal generator 1220, and a receiver 1225. The motor control(s) 1215 are operatively connected to motors 1230, which in turn are mechanically connected to regulators 1260 associated with an audio system 1265. The signal generator 1220 is operatively connected to an input 1270 of the audio system 1265, and the receiver 1225 is operatively connected to an output 1275 of the audio system 1265.
[0099] In particular, the in Fig. The 12 illustrated blocks do not correspond literally to the structure shown in the preceding FIGURES. For example, shows Fig. Figure 12 shows a control device 1205 in a separate box to demonstrate how a monitoring processor can control the various components, including the signal generator 1220, the control sequencer 1210, the motor controllers 1215, and the receiver 12225. In practice, however, any combination of these functions can be implemented in one or more devices, including a single device, as demonstrated by the control device 205 of Figure 12. Fig. 2 and / or the control device 305 of Fig. 3 illustrated. In addition, the device interface generally described herein can be implemented by the hardware that couples the control sequencer values to the audio system, e.g. the motor controllers 1215, motors 1230 and any additional structures (e.g. cardan joints, mechanical arms / linkages, etc.).
[0100] During operation, the control device 1205 reads control sequences from the control sequencer 1210 (which may be implemented in either hardware or software). Using the control sequences, the control device 1205 provides instructions to the motor controllers 1215 to rotate their respective motors 1230, thereby adjusting the controllers 1260 associated with the audio system 1265 accordingly. As discussed in more detail herein, the adjustments to the controllers 1260 may include adjusting a potentiometer, adjusting an encoder, selecting a switch position, adjusting a microphone to a desired position to record the output of an associated loudspeaker enclosure (positioning a microphone along one or more axes relative to a loudspeaker), adjusting a microphone to capture an environment associated with the audio system, and so on.
[0101] After setting the controllers 1260 according to the control sequencer 1210, the control device 1205 instructs the signal generator 1220 to provide a signal to the audio system 1265 via its input 1270 (e.g., input jack or other known input connection). The audio system 1265 outputs a response via its output connection 1275, and the receiver 1225 receives this response. The control device 1205 then records and stores the response.
[0102] In some embodiments, the control device 1205 analyzes the information collected by the receiver to determine the response behavior of the audio system 1265. In other embodiments, the data is output by the system 1200 to a remote processing device for analysis and generation of the audio system's response behavior.
[0103] It is understood that the control device 1205 may be implemented for some embodiments using the Raspberry Pi® processor, which is described with reference to Fig. 2 is described in detail. Likewise, the motor control unit 1215 and the motors 1230 can be operated using the motor control unit and the motors described with reference to Fig. 2, Fig. 3, Fig. 4, Fig. 5, or any combination of the corresponding components described in these figures. Likewise, the audio system 1265 and the controllers 1260 can be implemented using the components shown in the embodiment of Fig. 5 are shown. As experts will understand, the various components that are in Fig. 1 to Fig. Figure 5 shows how a general robot system 1200 can be set up, as in Fig. 12 shown.
[0104] As an illustrative example, let us assume that the Audio System 1265 includes two controls. Here, the control sequence 1210 provides a first control sequence and a second control sequence, where the first control sequence corresponds to a first control associated with the Audio System 1265, and the second control sequence is associated with a second control on the Audio System 1265.
[0105] The second control typically differs from the first, for example, a volume control and a tone control, a volume control and a treble boost switch, a gain control and microphone placement relative to a speaker, etc. Regardless of the control's purpose, the first control sequence comprises a first sequence of values, each value corresponding to a valid predetermined control setting for the first control. Similarly, the second control sequence comprises a second sequence of values, each value corresponding to a valid predetermined control setting for the second control.
[0106] In some embodiments, a combination of the first sequence values and the second sequence values represents a sufficiently large number of samples to essentially determine a response behavior of the audio system, wherein the combination of the first sequence values and the second sequence values can furthermore represent a sufficiently dense sample of controller settings.
[0107] A first motor controller 1215 is communicatively coupled to the control sequencer 1210 to iteratively receive each first sequence value from the control sequencer 1210. The first motor controller 1215 converts each first sequence value into a corresponding first motor setting. Here, a first motor 1230 is operatively connected to the first motor controller 1215, with the first motor 1230 reacting to the first motor setting. How best to explain this is with reference to... Fig. 2- Fig. As described in section 5, a first control coupler is mechanically coupled to the first motor 1230, and the first control coupler is also mechanically coupled to the first controller. The first control coupler mechanically modifies a first controller setting of the first controller in response to the first motor setting, whereby the change in the first controller setting affects the response behavior of the audio system.
[0108] Similarly, a second motor controller 1215 is communicatively coupled to the control sequencer 1210 to iteratively receive every second sequence value from the control sequencer 1210. The second motor controller 1215 converts every second sequence value into a corresponding second motor setting. Here, a second motor 1230 is operatively connected to the second motor controller 1215, with the second motor 1230 reacting to the second motor setting. The best way to explain this is with reference to... Fig. 2- Fig. As described in section 5, a second control coupler is mechanically coupled to the second motor 1230, and the second control coupler is also mechanically coupled to the second controller. The second control coupler mechanically modifies a second control setting of the second controller in response to the second motor setting, whereby the change in the second control setting affects the response behavior of the audio system.
[0109] The signal generator 1220 provides an input signal to the audio system 1265, and the receiver 1225 receives an output signal from the audio system 1265. The output signal represents the response of the audio system 1265 to the input signal at the first and second control settings.
[0110] Analogous to the one referring to Fig.As described in section 5, in some embodiments a frame can connect the robot system to the audio system 1265 via an interface. Furthermore, in some embodiments the frame is an adjustable interface.
[0111] As noted in more detail herein, the response of the audio system 1265 to the input signal at the various controller settings can be used to train machine learning algorithms (such as neural networks) to emulate the behavior of the audio system. For such a machine learning emulation system, the response of the audio system serves as the ground truth. In this respect, the control device 1205 (or a remote processing device—not shown) can implement a machine learning system to emulate the response behavior of the audio system. Here, the machine learning system is trained using the input signal, the output signal, the first control sequence, and the second control sequence.
[0112] The control device can be implemented in hardware, software, firmware, or a combination thereof. In the preferred embodiment(s), the control device is implemented in software or firmware stored in memory and executed by a suitable instruction execution system. If implemented in hardware, as in an alternative embodiment, the control device can be implemented using any or a combination of the following technologies, all of which are well known in the art: discrete logic circuit(s) with logic gates for implementing logic functions on data signals, an application-specific integrated circuit (ASIC) with suitable combinational logic gates, a programmable gate array (PGA), a field-programmable gate array (FPGA), etc.
[0113] Any process descriptions or blocks in flowcharts should be understood as executable out of sequence from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as understood by an average person skilled in the field of the present disclosure.
[0114] The control sequences 100 can be applied by a computer program comprising an ordered list of executable instructions for implementing logical functions. They can be embodied in any computer-readable medium for use by or in conjunction with an instruction execution system, apparatus, or device, such as a computer-based system, a processor-encompassing system, or any other system capable of retrieving the instructions from the instruction execution system, apparatus, or device and executing the instructions. In the context of this document, "computer-readable medium" can be any means capable of containing, storing, communicating, disseminating, or transporting the program for use by or in conjunction with the instruction execution system, apparatus, or device.The computer-readable medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or dissemination medium. More specific examples (a non-exhaustive list) of computer-readable medium would include: an electrical connection (electronic) with one or more wires, a portable computer disk (magnetic), random-access memory (RAM) (electronic), read-only memory (ROM) (electronic), erasable programmable read-only memory (EPROM or flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only storage device (CD-ROM) (optical).It should be noted that the computer-readable medium could even be paper or another suitable medium onto which the program is printed, since the program can be captured electronically, for example by optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
[0115] Although exemplary embodiments have been shown and described, it will be clear to those skilled in the art that changes, modifications, or adaptations to the disclosure as described are possible. All such changes, modifications, and adaptations should therefore remain within the scope of protection of the disclosure. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] US 16 / 738512
[0049]
Claims
[1] Robot system, comprising: a control sequencer for providing control sequences, wherein each control sequence corresponds to a control on an audio system, wherein each control sequence comprises sequence values, each sequence value corresponding to a valid predetermined control setting for its corresponding control; Motor controllers, each motor controller being communicatively coupled to the control sequencer, each motor controller for iteratively receiving corresponding sequence values from the control sequencer, each motor controller for converting each sequence value into a corresponding motor setting, each motor setting corresponding to its respective controller setting; Motors, each motor being operatively connected to its corresponding motor control, each motor responding to its corresponding motor setting; and Control coupler, wherein each control coupler is mechanically coupled to its corresponding motor, wherein each control coupler is further adapted to be mechanically coupled to a corresponding control of an audio system, wherein each control coupler serves to mechanically change a corresponding control setting in response to its corresponding motor setting, wherein changing each control setting affects a response of the audio system. [2] Robot system according to claim 1, wherein: a combination of sequence values from all control sequences represents a number of samples to determine the response behavior of the audio system, and the combination of sequence values from all control sequences further represents a sample. [3] Robot system according to any one of the preceding claims, further comprising: a signal generator to provide an input signal for the audio system; and a receiver for receiving an output signal from the audio system, wherein the output signal represents the response of the audio system to the input signal during the control settings. [4] Robot system according to one of the preceding claims, wherein the motors comprise stepper motors. [5] Robot system according to any one of the preceding claims, wherein: the control sequencer is configured such that a combination of the sequence values from all control sequences represents a number of samples to determine a response behavior of the audio system, wherein the combination of sequence values from all control sequences further represents a sample; furthermore comprehensive: a signal generator to provide an input signal for the audio system; and a receiver for receiving an output signal from the audio system, wherein the output signal represents the response of the audio system to the input signal during the control settings. [6] Robot system according to any of the preceding claims, wherein the control sequences comprise at least two sequences selected from the group consisting of: a volume control sequence that includes volume control values; a gain control sequence that includes gain controller values; an altitude control sequence that includes altitude controller values; a bass control sequence that includes bass control values; a tone control sequence that includes tone control values; an equalizer control sequence that includes equalizer control values; a Hall control sequence that includes Hall controller values; a contour control sequence that includes contour controller values; and a presence control sequence that includes presence controller values. [7] Robot system according to one of the preceding claims, wherein the combination of the sequence values represents sample values from a random distribution, wherein the sample values are sorted, wherein the sorting reduces or minimizes wear of the controller. [8] Robot system according to any of the preceding claims, wherein the controllers are selected from the group consisting of: a toggle switch; a potentiometer; a multi-way switch; a concentric potentiometer; a push-pull potentiometer; a rotary encoder; a foot switch; and a slider. [9] Robot system according to one of the preceding claims, further comprising a frame that connects the robot system to the audio system via an interface. [10] Robot system according to claim 9, wherein the frame provides an adjustable interface. [11] Robot system according to any one of the preceding claims, wherein: The control sequencer comprises a first control sequence and a second control sequence, wherein the first control sequence corresponds to a first controller associated with the audio system, wherein the second control sequence corresponds to a second controller associated with the audio system, the second controller being different from the first controller, wherein the first control sequence comprises first sequence values, each first sequence value corresponding to a valid predetermined controller setting for the first controller, wherein the second control sequence comprises second sequence values, each second sequence value corresponding to a valid predetermined controller setting for the second controller, and wherein a combination of the first sequence values and the second sequence values represents a number of samples to determine a response behavior of the audio system.where the combination of the first sequence values and the second sequence values further represents a sample of controller settings; the motor controllers comprise a first motor controller that is communicatively coupled with the control sequencer, the first motor controller for iteratively receiving each first sequence value from the control sequencer, the first motor controller for converting each first sequence value into a corresponding first motor setting, and a second motor controller that is communicatively coupled with the control sequencer, wherein the second motor controller is for iteratively receiving each second sequence value from the control sequencer, and the second motor controller is for converting each second sequence value into a corresponding second motor setting; wherein the motors comprise a first motor operatively connected to the first motor control, wherein the first motor responds to the first motor setting, and a second motor operatively connected to the second motor control, wherein the second motor responds to the second motor setting; the controller couplers include the following: a first control coupler mechanically coupled to the first motor, wherein the first control coupler is further adapted to be mechanically coupled to the first controller, the first control coupler serving to mechanically change a first controller setting in response to the first motor setting, wherein changing the first controller setting affects the response of the audio system; a second control coupler mechanically coupled to the second motor, wherein the second control coupler is further adapted to be mechanically coupled to the second controller, wherein the second control coupler serves to mechanically change a second controller setting in response to the second motor setting, wherein changing the second controller setting further affects the response of the audio system. [12] Robot system according to claim 11, further comprising: a signal generator to provide an input signal for the audio system; and a receiver for receiving an output signal from the audio system, wherein the output signal represents a response of the audio system to the input signal at the first control setting and the second control setting, wherein: The signal generator and receiver are controlled to collect the output signal, which represents the response of the audio system for each control sequence implemented by the control sequencer. [13] Robot system according to one of claims 11 to 12, further comprising a machine learning system for emulating the response behavior of the audio system, wherein the machine learning system is trained using the input signal, the output signal, the first control sequence and the second control sequence. [14] Robot system according to one of claims 11 to 13, wherein the combination of the first sequence values and the second sequence values represents sample values from a random distribution, wherein the sample values are sorted to reduce or minimize wear of the first controller and the second controller. [15] Robot system according to any one of claims 11 to 14, wherein the first controller is one selected from the group consisting of: a toggle switch; a potentiometer; a multi-way switch; a concentric potentiometer; a push-pull potentiometer; a rotary encoder; a foot switch; and a slider. [16] Robot system according to any one of claims 11 to 15, wherein the second controller is one selected from the group consisting of: a toggle switch; a potentiometer; a multi-way switch; a concentric potentiometer; a push-pull potentiometer; a rotary encoder; a foot switch; and a slider. [17] Robot system according to any one of claims 11 to 16, wherein the first control sequence comprises one selected from the group consisting of: a volume control sequence that includes volume control values; a gain control sequence that includes gain controller values; an altitude control sequence that includes altitude controller values; a bass control sequence that includes bass control values; a tone control sequence that includes tone control values; an equalizer control sequence that includes equalizer control values; a Hall control sequence that includes Hall controller values; a contour control sequence that includes contour controller values; and a presence control sequence that includes presence controller values. [18] Robot system according to any one of claims 11 to 17, wherein the second control sequence comprises one selected from the group consisting of: a volume control sequence that includes volume control values; a gain control sequence that includes gain controller values; an altitude control sequence that includes altitude controller values; a bass control sequence that includes bass control values; a tone control sequence that includes tone control values; an equalizer control sequence that includes equalizer control values; a Hall control sequence that includes Hall controller values; a contour control sequence that includes contour controller values; and a presence control sequence that includes presence controller values. [19] Audio system setup comprising a robot system according to any of the preceding claims and the audio system.