Traceless loading method, device, equipment and medium for ultra-long pulse response

By performing segmented convolution on ultra-long impulse response files and outputting them in real time, the loading time problem when switching ultra-long impulse responses in the existing technology is solved, seamless loading is achieved, and the real-time nature of the sound effects and the convenience of operation are ensured.

CN119088334BActive Publication Date: 2025-09-19CHANGSHA HOTONE AUDIO
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411280102.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2025-09-19
Estimated Expiration
2044-09-12

AI Technical Summary

Technical Problem

Existing technologies require loading time when switching ultra-long impulse responses, resulting in unnatural sound and reduced operational fluency, especially affecting the effect in professional scenarios such as performances and recordings.

Method used

By segmenting the ultra-long impulse response file, performing segmented convolution according to the order of the file segments, and outputting them in real time, seamless loading is achieved.

Benefits of technology

The loading and switching time of convolution reverb is eliminated, so that no loading time is required even for the longest convolution, ensuring the real-time effect switching and ease of operation of the product in professional scenarios such as live performances and recordings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119088334B_ABST
    Figure CN119088334B_ABST
Patent Text Reader

Abstract

The present application belongs to the field of music equipment technology, and relates to a method, device, equipment and medium for seamless loading of ultra-long pulse responses. The method includes: obtaining an input signal and an ultra-long pulse response file to be loaded; segmenting the ultra-long pulse response file to obtain multiple file segments; when receiving a signal for switching the pulse response, performing a convolution operation on the input signal and the first file segment to obtain the first signal segment, and outputting it in real time; traversing each file segment in turn according to the order of the file segments, and outputting the corresponding signal segments in real time, so that when the previous signal segment is loaded, the next signal segment has been output to achieve seamless loading. The present application can realize real-time convolution and achieve seamless loading of ultra-long pulse responses.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of music equipment, and in particular to a method, apparatus, device and medium for seamlessly loading ultra-long impulse responses. Background Art

[0002] Ultra-long impulse response technology is generally used for impulse response reverberation. It directly uses the device input signal to perform convolution operations with an ultra-long impulse response file (typically more than 3 seconds in length) within the device and outputs it in real time.

[0003] In the prior art, when a device switches pulses, it loads pulses from a storage device into a memory.

[0004] However, loading impulses into memory requires a certain loading time. That is, after pressing the switch impulse response button, it takes a certain amount of time (such as one second) before the sound effect of the new impulse response is switched. During a performance, users often need to switch tones (or impulse responses) between different segments, which often requires a very high time, for example, switching tones on the beat. When switching tones, the effect disappears for a period of time due to loading, which can cause unnatural sound effects, such as loss of the sound head in the reverb. The loading process also affects the smoothness of the continuous switching of tones. Summary of the Invention

[0005] Based on this, it is necessary to provide a method, device, equipment and medium for seamless loading of ultra-long pulse responses to address the above technical problems, which can realize real-time convolution and seamless loading of ultra-long pulse responses.

[0006] A traceless loading method for very long pulse responses, including:

[0007] Get the input signal and the ultra-long impulse response file that needs to be loaded;

[0008] Segmenting the ultra-long impulse response file to obtain multiple file segments;

[0009] When receiving a signal of a switching impulse response, segmented convolution is performed in sequence according to the input signal in the order of the file segments and output in real time to achieve seamless loading.

[0010] In one embodiment, when receiving a signal of a switching impulse response, segmented convolution is sequentially performed according to the input signal in the order of the file segments and output in real time to achieve seamless loading, including:

[0011] When receiving a signal of a switching impulse response, performing a convolution operation on the input signal and the first file segment to obtain a first signal segment, and outputting the first signal segment in real time;

[0012] According to the order of the file segments, each file segment is traversed in turn, and the corresponding signal segment is output in real time, so that when the previous signal segment is loaded, the next signal segment has been output, so as to achieve seamless loading.

[0013] In one embodiment, the loading time of the previous signal segment is greater than or equal to the time it takes for the next file segment to complete the convolution operation and be output.

[0014] In one embodiment, the very long impulse response file is segmented to obtain a plurality of file segments, including:

[0015] The ultra-long impulse response file is segmented evenly to obtain a plurality of file segments of equal length.

[0016] In one embodiment, performing segmented convolution on the input signal in sequence according to the order of the file segments includes:

[0017]

[0018] Where x is the input signal, h is the convolution kernel, i is the i-th file segment, n is the number of file segments, h(i) is the convolution kernel of the i-th file segment, z (i-1)n is the delay of the input signal by (i-1)n samples.

[0019] In one embodiment, the ultra-long impulse response file is segmented to obtain a plurality of file segments; when a signal of switching impulse response is received, segmented convolution is sequentially performed according to the input signal in the order of the file segments, and the convolution is performed in real time to achieve seamless loading, including:

[0020] Segmenting the ultra-long impulse response file to obtain multiple file segments;

[0021] When receiving a signal of a switching impulse response, performing a convolution operation on the input signal and the first file segment to obtain a first signal segment, and outputting the first signal segment in real time for loading;

[0022] While the first signal segment is being loaded, the input signal is convolved with the second file segment to obtain a second signal segment, and the second signal segment is output in real time so as to be loaded after the first signal segment is loaded;

[0023] Comparing the loading time of the first signal segment with the time of completing the convolution operation and outputting the second file segment, and segmenting the ultra-long impulse response file except the first file segment and the second file segment to obtain new file segments;

[0024] In the order of the new file segments, each new file segment is traversed in turn, and segmented convolution is performed in turn according to the input signal, and the corresponding signal segments are output in real time, so that the next signal segment starts to be output at the same time as the previous signal segment is loaded, so as to achieve seamless loading.

[0025] In one embodiment, the ultra-long impulse response file refers to an impulse response file with a time length of more than 3 seconds.

[0026] Non-marking loading device for ultra-long pulse response, including:

[0027] An acquisition module is used to obtain the input signal and the ultra-long impulse response file that needs to be loaded;

[0028] A segmentation module, configured to segment the ultra-long impulse response file to obtain a plurality of file segments;

[0029] The convolution module is used to perform segmented convolution according to the input signal in sequence according to the order of the file segments when receiving the signal of the switching impulse response, and output it in real time to achieve seamless loading.

[0030] A computer device includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0031] Get the input signal and the ultra-long impulse response file that needs to be loaded;

[0032] Segmenting the ultra-long impulse response file to obtain multiple file segments;

[0033] When receiving a signal of a switching impulse response, segmented convolution is performed in sequence according to the input signal in the order of the file segments and output in real time to achieve seamless loading.

[0034] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the following steps:

[0035] Get the input signal and the ultra-long impulse response file that needs to be loaded;

[0036] Segmenting the ultra-long impulse response file to obtain multiple file segments;

[0037] When receiving a signal of a switching impulse response, segmented convolution is performed in sequence according to the input signal in the order of the file segments and output in real time to achieve seamless loading.

[0038] The above-mentioned method, device, equipment and medium for seamless loading of ultra-long impulse responses completely eliminate the loading and switching time of convolution reverberation, so that even the longest convolution does not require any loading time, ensuring the real-time effect switching and operational convenience of the product in professional scenarios such as user live performances and recordings. It can be applied to the field of musical instruments and audio signal processing technology, such as guitar effects (when a guitar effects pedal uses convolution reverb, the user switches the effect, and the use of this application can achieve instant auditory switching). BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 Schematic diagram of a flow chart of a method for seamless loading of an ultra-long pulse response in one embodiment;

[0040] Figure 2 A structural block diagram of a non-marking loading device with ultra-long pulse response according to an embodiment;

[0041] Figure 3 Schematic diagram of the structure of a traceless loading device with ultra-long pulse response in one embodiment;

[0042] Figure 4 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0043] In order to make the purpose, technical solutions and advantages of this application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely for explaining this application and are not intended to limit this application. All other embodiments obtained by persons of ordinary skill in the art based on the embodiments in this application without creative work are within the scope of protection of this application.

[0044] In addition, the terms "first," "second," and so on, used in this application are for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, features specified as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of this application, "multiple groups" means at least two groups, such as two groups, three groups, and so on, unless otherwise specifically defined.

[0045] In this application, unless otherwise specified or limited, the terms "connect," "fix," etc. should be understood in a broad sense. For example, "fix" can mean a fixed connection, a detachable connection, or an integral connection; it can mean a mechanical connection, an electrical connection, a physical connection, or a wireless communication connection; it can mean a direct connection or an indirect connection through an intermediate medium; it can mean internal communication between two elements or an interaction between two elements, unless otherwise specified. Those skilled in the art will understand the specific meanings of the above terms in this application based on the specific circumstances.

[0046] In addition, the technical solutions between the various embodiments of the present application can be combined with each other, but it must be based on the fact that ordinary technicians in this field can implement it. When the combination of technical solutions is mutually contradictory or cannot be implemented, it should be deemed that such a combination of technical solutions does not exist and is not within the scope of protection required by this application.

[0047] This application provides a traceless loading method for ultra-long pulse response, such as Figure 1 The flowchart shown, in one embodiment, includes:

[0048] Step 102: Obtain an input signal and a very long impulse response file to be loaded.

[0049] In this step, the ultra-long impulse response file refers to an impulse response file with a time length of more than 3 seconds.

[0050] Step 104 : segment the ultra-long impulse response file to obtain multiple file segments.

[0051] In this step, segmentation can be: average segmentation of the very long impulse response file to obtain multiple file segments of equal length, so as to facilitate implementation; segmentation can also be: average segmentation of the very long impulse response file to obtain multiple file segments of equal length, starting from the first file segment, performing convolution operation, and comparing the loading time of the previous signal segment with the time when the convolution operation is completed and outputted by the next file segment, so as to re-segment the unconvolved very long impulse response file and realize real-time adjustment.

[0052] Step 106 , when receiving the signal of the switching impulse response, perform segmented convolution in sequence according to the order of the file segments and the input signal, and output in real time to achieve seamless loading.

[0053] Specifically:

[0054] For the case of average segmentation: when receiving the signal of the switching impulse response, the input signal is convolved with the first file segment to obtain the first signal segment and output it in real time; according to the order of the file segments, each file segment is traversed in turn and the corresponding signal segment is output in real time, so that when the previous signal segment is loaded, the next signal segment has been output, so as to achieve seamless loading;

[0055] Among them, according to the order of file segments, segmented convolution is performed in sequence according to the input signal, including:

[0056]

[0057] Where x is the input signal, h is the convolution kernel, i is the i-th file segment, n is the number of file segments, h(i) is the convolution kernel of the i-th file segment, z (i-1)n is the delay of the input signal by (i-1)n samples.

[0058] For the case of uneven segmentation: when receiving the signal of the switching impulse response, the input signal is convolved with the first file segment to obtain the first signal segment, and output in real time for loading; while the first signal segment is loading, the input signal is convolved with the second file segment to obtain the second signal segment, and output in real time, so that it can be loaded after the loading of the first signal segment is completed; the loading time of the first signal segment is compared with the time when the convolution operation and output of the second file segment are completed, and the ultra-long impulse response file except the first file segment and the second file segment is segmented to obtain new file segments; according to the order of the new file segments, each new file segment is traversed in turn, and the segmented convolution is performed in turn according to the input signal, and the corresponding signal segment is output in real time, so that the next signal segment starts to be output when the previous signal segment is loaded, so as to achieve seamless loading.

[0059] In this step, the loading time of the previous signal segment is greater than or equal to the time it takes for the next file segment to complete the convolution operation and output.

[0060] In a specific embodiment, first, for the IR reverberation, segmented convolution is performed, that is, there is a convolution kernel h, with a length of N, divided into n segments, each segment is L, where N+L>L*n≥N, then:

[0061]

[0062] Where x is the input signal, h is the convolution kernel, i is the i-th file segment, n is the number of file segments, h(i) is the convolution kernel of the i-th file segment, z (i-1)n is the delay of the input signal by (i-1)n samples.

[0063] Then, when loading IR, we innovatively adopt a streaming loading method. Assuming the system sampling rate is Sr, and the instantaneous time of switching IR is 0, after the switch, h(1) is first read from the storage medium into the memory. Then, within the next n / Sr seconds, h(2) is read from the storage medium into the memory, and so on. This creates an auditory switching without any loading trace. Since the entire convolution kernel data does not need to be loaded when switching, the loading time is greatly shortened, and can be reduced to within 5 milliseconds, an imperceptible delay.

[0064] The above-mentioned seamless loading method of ultra-long pulse responses completely eliminates the loading and switching time of convolution reverberation, so that even the longest convolution does not require any loading time, ensuring the real-time effect switching and operational convenience of the product in professional scenarios such as user live performances and recordings. It can be applied to the field of musical instruments and audio signal processing technology, such as guitar effects (when a guitar effects pedal uses convolution reverb, the user switches the effect, and the use of this application can achieve instant auditory switching).

[0065] It should be understood that although Figure 1 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 1 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0066] The present application also provides a traceless loading device with an ultra-long pulse response, such as Figure 2 As shown, in one embodiment, it includes: an acquisition module 202, a segmentation module 204 and a convolution module 206, wherein:

[0067] An acquisition module 202 is used to acquire an input signal and a very long impulse response file to be loaded;

[0068] A segmentation module 204 is used to segment the ultra-long impulse response file to obtain multiple file segments;

[0069] The convolution module 206 is configured to perform segmented convolution in sequence according to the input signal in the order of the file segments when receiving the signal of the switching impulse response, and output the convolution in real time to achieve seamless loading.

[0070] Need to explain: Figure 3As shown, the acquisition module, the segmentation module and the convolution module together form a calculation unit; in addition to the calculation unit, the traceless loading device for the ultra-long pulse response also includes a storage unit to store the ultra-long pulse response file, for example, using a non-volatile storage element such as an eMMC, SSD or SD card to store these files; when in use, the file is divided into many small fragments, and copied one by one to a volatile storage element such as RAM according to the method of the present application to participate in the convolution operation, which solves the problem in the prior art that RAM cannot store an ultra-large pulse file at one time or even if there is a large enough RAM to load the entire pulse file, the time spent on copying the entire file from external storage to RAM exceeds the allowable delay range.

[0071] The specific definition of the device for seamlessly loading an ultra-long pulse response can be found in the definition of the method for seamlessly loading an ultra-long pulse response described above and will not be further elaborated here. Each module in the aforementioned device can be implemented in whole or in part via software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in hardware form, or stored in a computer device memory in software form, so that the processor can call and execute the corresponding operations of each module.

[0072] In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as follows: Figure 4 As shown. The computer device includes a processor, a memory, a network interface, a display screen and an input device connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a method for seamless loading of an ultra-long pulse response is implemented. The display screen of the computer device can be a liquid crystal display or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad provided on the computer device housing, or an external keyboard, touchpad or mouse.

[0073] Those skilled in the art will understand that Figure 4 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0074] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps of the method in the above embodiment when executing the computer program.

[0075] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method in the above embodiment are implemented.

[0076] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0077] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0078] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present invention, all of which fall within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be determined by the appended claims.

Claims

1. A traceless loading method for ultra-long pulse response, characterized in that: include: Get the input signal and the ultra-long impulse response file that needs to be loaded; Segmenting the ultra-long impulse response file to obtain multiple file segments; When receiving a signal of a switching impulse response, segmented convolution is performed in sequence according to the input signal in the order of the file segments, and output in real time to achieve seamless loading; specifically, the method includes: When receiving a signal of a switching impulse response, performing a convolution operation on the input signal and the first file segment to obtain a first signal segment, and outputting the first signal segment in real time for loading; While the first signal segment is being loaded, the input signal is convolved with the second file segment to obtain a second signal segment, and the second signal segment is output in real time so as to be loaded after the first signal segment is loaded; Comparing the loading time of the first signal segment with the time when the convolution operation of the second file segment is completed and output, and re-segmenting the ultra-long impulse response file except the first file segment and the second file segment to obtain new file segments; In the order of the new file segments, each new file segment is traversed in turn, and segmented convolution is performed in turn according to the input signal, and the corresponding signal segments are output in real time, so that the next signal segment starts to be output at the same time as the previous signal segment is loaded, so as to achieve seamless loading.

2. The method for seamless loading of ultra-long pulse response according to claim 1, characterized in that: When receiving a signal of a switching impulse response, segmented convolution is performed sequentially according to the input signal in the order of the file segments, and output in real time to achieve seamless loading, including: When receiving a signal of a switching impulse response, performing a convolution operation on the input signal and the first file segment to obtain a first signal segment, and outputting the first signal segment in real time; According to the order of the file segments, each file segment is traversed in turn, and the corresponding signal segment is output in real time, so that when the previous signal segment is loaded, the next signal segment has been output, so as to achieve seamless loading.

3. The method for seamless loading of ultra-long pulse response according to claim 2, characterized in that: The loading time of the previous signal segment is greater than or equal to the time it takes for the next file segment to complete the convolution operation and output.

4. The method for seamless loading of ultra-long pulse response according to any one of claims 1 to 3, characterized in that: The ultra-long impulse response file is segmented to obtain multiple file segments, including: The ultra-long impulse response file is segmented evenly to obtain a plurality of file segments of equal length.

5. The method for seamless loading of ultra-long pulse response according to claim 4, characterized in that: According to the order of the file segments, segmented convolution is performed in sequence according to the input signal, including: ; Where, is the input signal, is the convolution kernel, For the file segments, is the number of file segments, For the The convolution kernel of the file segment, The input signal passes through samples of delay.

6. The method for seamless loading of ultra-long pulse response according to any one of claims 1 to 3, characterized in that: The ultra-long impulse response file refers to an impulse response file with a time length of more than 3 seconds.

7. A traceless loading device with ultra-long pulse response, characterized in that: include: An acquisition module is used to obtain the input signal and the ultra-long impulse response file that needs to be loaded; A segmentation module, configured to segment the ultra-long impulse response file to obtain a plurality of file segments; The convolution module is used to perform segmented convolution on the input signal in sequence according to the order of the file segments when receiving the switching impulse response signal, and output it in real time to achieve seamless loading; specifically including: When receiving a signal of a switching impulse response, performing a convolution operation on the input signal and the first file segment to obtain a first signal segment, and outputting the first signal segment in real time for loading; While the first signal segment is being loaded, the input signal is convolved with the second file segment to obtain a second signal segment, and the second signal segment is output in real time so as to be loaded after the first signal segment is loaded; Comparing the loading time of the first signal segment with the time when the convolution operation of the second file segment is completed and output, and re-segmenting the ultra-long impulse response file except the first file segment and the second file segment to obtain new file segments; In the order of the new file segments, each new file segment is traversed in turn, and segmented convolution is performed in turn according to the input signal, and the corresponding signal segments are output in real time, so that the next signal segment starts to be output at the same time as the previous signal segment is loaded, so as to achieve seamless loading.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Sound synthesis with fixed partition size convolution of audio signals

    CN104217714A

  • Size configurable convolution hardware implementation based on 6 parallel fast finite impulse response filter cascade structure

    CN107645287A