Engine sound synthesis method and device, equipment and storage medium

By building an engine mapping model and obtaining engine parameters in real time, determining the target engine signal data set, the problem of uneven engine sound synthesis results is solved, and a smoother synthesis effect is achieved.

CN119905082AActive Publication Date: 2025-04-29WUHAN HAIWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411991083.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-29
Estimated Expiration
2044-12-31

Smart Images

  • Figure CN119905082A_ABST
    Figure CN119905082A_ABST
Patent Text Reader

Abstract

The invention discloses an engine sound synthesis method, device and equipment and a storage medium, and relates to the technical field of sound synthesis, and the engine sound synthesis method comprises the steps: obtaining an engine sound signal, and constructing an engine mapping model according to the engine sound signal; engine parameters are obtained in real time, and an engine rotating speed set is determined according to the engine parameters; determining a target engine signal data set according to the engine mapping model and the engine rotating speed set; and performing signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result. According to the invention, the engine sound synthesis result is smoother.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of sound synthesis, and in particular to an engine sound synthesis method, device, equipment and storage medium. Background Art

[0002] Engine sound synthesis aims to reproduce engine sounds through some algorithms. It has important applications in racing games, sound wave synthesis, and pedestrian warning sound systems. At present, the most common method for synthesizing engine sounds is the particle method, which decomposes the recorded or produced sound signal and then synthesizes the output to obtain the real-time engine sound. However, the frequency and phase differences between frames are not taken into account. The various parameters used in the decomposition and synthesis process are fixed, and the engine sound synthesis result is not smooth. Therefore, how to make the engine sound synthesis result smoother is a problem that still needs to be solved.

[0003] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention

[0004] The main purpose of the present application is to provide an engine sound synthesis method, device, equipment and storage medium, aiming to solve the technical problem of how to make the engine sound synthesis result smoother.

[0005] To achieve the above objectives, the present application proposes a method for synthesizing engine sound, the method comprising:

[0006] Acquiring an engine sound signal, and building an engine mapping model according to the engine sound signal;

[0007] Acquiring engine parameters in real time, and determining an engine speed set according to the engine parameters;

[0008] Determining a target engine signal data set according to the engine mapping model and the engine speed set;

[0009] Signal synthesis is performed on the target engine signal data set to obtain a target engine sound synthesis result.

[0010] In one embodiment, the step of acquiring the engine sound signal and constructing the engine mapping model according to the engine sound signal includes:

[0011] Acquire an engine sound signal, and divide the engine sound signal into frames to obtain a multi-frame target engine sound signal;

[0012] Windowing the target engine sound signal of each frame to obtain a windowed engine signal;

[0013] Calculating the signal relative energy of the target engine sound signal in each frame, and determining the engine speed corresponding to the signal relative energy;

[0014] An engine mapping model is constructed according to the windowed engine sound signal and the engine speed.

[0015] In one embodiment, the step of acquiring an engine sound signal and dividing the engine sound signal into frames to obtain a multi-frame target engine sound signal includes:

[0016] Acquire an engine sound signal generated when the engine speed increases from a preset lower speed limit to a preset upper speed limit;

[0017] The engine sound signal is divided into a plurality of frames of target engine sound signals according to a preset frame length and a preset frame shift, wherein the preset frame length is greater than the preset frame shift.

[0018] In one embodiment, the step of windowing each frame of the target engine sound signal to obtain a windowed engine signal includes:

[0019] Obtaining a windowing coefficient of the target engine sound signal of each frame according to a Hamming window function model;

[0020] The target engine sound signal of each frame is multiplied by a windowing coefficient to obtain a windowed engine signal.

[0021] In one embodiment, the step of constructing an engine mapping model according to the windowed engine sound signal and the engine speed includes:

[0022] Determine the windowed engine sound signal corresponding to the engine speed and obtain a mapping list;

[0023] The mapping list is sorted according to the engine speed to obtain the engine speed and construct an engine mapping model.

[0024] In one embodiment, the step of determining the target engine signal data set according to the engine mapping model and the engine speed set includes:

[0025] Determine a current engine speed and a historical engine speed according to the engine speed set;

[0026] Determine a plurality of pending engine data of the current engine speed according to the engine mapping model;

[0027] Acquiring historical engine signal data corresponding to the historical engine speed;

[0028] respectively calculating the correlation between the plurality of pending engine data and the historical engine signal data;

[0029] determining current engine signal data from the plurality of pending engine data according to the correlation;

[0030] A target engine signal data set is obtained according to the historical engine signal data and the current engine signal data.

[0031] In one embodiment, the step of performing signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result includes:

[0032] Obtaining a plurality of engine signals to be synthesized according to the target engine signal data set, and determining a predecessor engine signal and a successor engine signal of the engine signal to be synthesized;

[0033] Determine the predecessor overlapping data according to the engine signal to be synthesized and the predecessor engine signal, and determine the successor overlapping data according to the engine signal to be synthesized and the successor engine signal;

[0034] The engine signal to be synthesized is overlapped and added with the preceding overlapping data and the succeeding overlapping data is discarded to obtain a target engine sound synthesis result.

[0035] In addition, to achieve the above-mentioned purpose, the present application also proposes an engine sound synthesis device, the engine sound synthesis device comprising:

[0036] A construction module, used for acquiring an engine sound signal and constructing an engine mapping model according to the engine sound signal;

[0037] An acquisition module, used for acquiring engine parameters in real time and determining an engine speed set according to the engine parameters;

[0038] a determination module, configured to determine a target engine signal data set according to the engine mapping model and the engine speed set;

[0039] The synthesis module is used to perform signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

[0040] In addition, to achieve the above-mentioned purpose, the present application also proposes an engine sound synthesis device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the engine sound synthesis method described above.

[0041] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the engine sound synthesis method described above are implemented.

[0042] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps of the engine sound synthesis method described above are implemented.

[0043] The present application provides an engine sound synthesis method, which obtains an engine sound signal and constructs an engine mapping model based on the engine sound signal; obtains engine parameters in real time and determines an engine speed set based on the engine parameters; determines a target engine signal data set based on the engine mapping model and the engine speed set; and performs signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

[0044] In summary, the present application decomposes the engine signal to construct an engine mapping model, determines the target engine signal data through the engine mapping model, and performs engine sound synthesis through the target engine signal data, so that the engine sound synthesis result is smoother. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0046] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0047] Figure 1 A schematic diagram of a flow chart provided for the first embodiment of the engine sound synthesis method of the present application;

[0048] Figure 2 A schematic diagram of an engine signal synthesis process of an engine sound synthesis method provided in Embodiment 1 of the present application;

[0049] Figure 3 A schematic diagram of a flow chart provided for the second embodiment of the engine sound synthesis method of the present application;

[0050] Figure 4 A schematic diagram of a Hamming window image of the engine sound synthesis method provided in Example 2 of the present application;

[0051] Figure 5 A schematic diagram of a simplified flow chart of the engine sound synthesis method provided in Example 1 of the present application;

[0052] Figure 6 This is a schematic diagram of the module structure of the engine sound synthesis device according to an embodiment of the present application;

[0053] Figure 7Schematic diagram of the device structure of the hardware operating environment involved in the engine sound synthesis method in the embodiment of the present application.

[0054] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0055] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0056] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0057] The main solution of the present application is to obtain an engine sound signal and construct an engine mapping model based on the engine sound signal; obtain engine parameters in real time and determine an engine speed set based on the engine parameters; determine a target engine signal data set based on the engine mapping model and the engine speed set; perform signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

[0058] At present, the most common method for synthesizing engine sounds is the particle method, which decomposes the recorded or produced sound signal and then synthesizes it to get the real-time engine sound. However, it does not take into account the frequency and phase differences between frames. The parameters used in the decomposition and synthesis process are fixed, and the engine sound synthesis result is not smooth. Therefore, how to make the engine sound synthesis result smoother is a problem that still needs to be solved.

[0059] The present application decomposes the engine signal to construct an engine mapping model, determines the target engine signal data through the engine mapping model, and performs engine sound synthesis through the target engine signal data, so that the engine sound synthesis result is smoother.

[0060] Based on this, the embodiment of the present application provides an engine sound synthesis method, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the engine sound synthesis method of the present application.

[0061] In this embodiment, the engine sound synthesis method includes steps S10 to S40:

[0062] Step S10: acquiring an engine sound signal, and constructing an engine mapping model according to the engine sound signal;

[0063] It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, an engine sound synthesis device, etc. The following takes the engine sound synthesis device as an example to illustrate this embodiment and the following embodiments.

[0064] It is understandable that after the engine mapping model is constructed, the engine speed can be converted into an engine sound signal through the engine mapping model to facilitate subsequent engine sound synthesis.

[0065] The specific process of constructing the engine mapping model according to the engine sound signal is to make the engine speed (Revolutions Per Minute, RPM) uniformly change from 1000 to 6000 revolutions for a total of 10 seconds. Use a 1 / 2-inch microphone with a sampling rate of 48kHz for recording. Assume that the measured engine signal is x(n), where n represents the sampling point, that is, the final received signal vector is [x(1), x(2), x(3)…x(n)]. In practical applications, it is impossible to use RPM with infinite resolution, that is, although RPM is from 1000 to 6000, it can be subdivided into 1000, 1001, 1002… or even finer, but considering the data storage capacity limitation, generally only one RPM is taken every few values, such as 1003, 1008, 1013, etc. After framing and windowing, the signal is considered to be stable in this very short period of time, and its corresponding RPM is fixed. For example, if the RPM is 1008, theoretically this data should represent RPM1006-1010, but we think that the RPM represented by this data is 1008. Accordingly, during synthesis, if the calculated RPM is 1006, then the nearest preset value 1008 is selected as its index value.

[0066] Step S20: acquiring engine parameters in real time, and determining an engine speed set according to the engine parameters;

[0067] It is understandable that the engine speed cannot usually be directly obtained, so it can be indirectly obtained through other engine parameters, such as vehicle speed, pedal depth, keyboard response, etc. Taking vehicle speed as an example, the engine speed can be determined by the mapping relationship between vehicle speed and engine speed. This embodiment selects the simplest mapping method: proportional mapping. Assume that the vehicle speed 0:25km / h corresponds to RPM 1000:6000 revolutions, for example, if the vehicle speed is 15km / h, then its corresponding RPM is 4000 revolutions.

[0068] Step S30: determining a target engine signal data set according to the engine mapping model and the engine speed set;

[0069] It is understandable that after the engine speed set is acquired, the target engine signal corresponding to each engine speed in the engine speed set can be obtained through the engine mapping model, thereby obtaining the target engine signal set.

[0070] In a feasible manner, the step of determining the target engine signal data set according to the engine mapping model and the engine speed set includes:

[0071] Determine a current engine speed and a historical engine speed according to the engine speed set;

[0072] Determine a plurality of pending engine data of the current engine speed according to the engine mapping model;

[0073] Acquiring historical engine signal data corresponding to the historical engine speed;

[0074] respectively calculating the correlation between the plurality of pending engine data and the historical engine signal data;

[0075] determining current engine signal data from the plurality of pending engine data according to the correlation;

[0076] A target engine signal data set is obtained according to the historical engine signal data and the current engine signal data.

[0077] It is understandable that each engine speed corresponds to a unique engine signal data in the engine mapping model, but since the actual engine speed is discontinuous, if the engine signal data corresponding to the engine speed is directly used for synthesis output, it is very likely that problems such as signal discontinuity and pitch mismatch will occur. In order to solve this problem, reselect near the pre-selected engine signal data, and the selection is based on calculating the frame signal with the strongest correlation with the overlapped part of the previous frame data within the set range. Figure 2 For example, suppose that Y(k) is output at this time, and the next frame of data Y(k+1) needs to be output. At this time, it can be considered that the pre-selected data frame F(k+1) and the three consecutive frames of data behind it in the engine mapping model are all possible to use, so the first 160 points of these 4 frames of data are taken out, and the Pearson correlation coefficient between them and the last 160 points of F(k) is calculated. The frame with the largest correlation coefficient result will be used for synthetic output. Among them, the Pearson correlation coefficient is very good at measuring the change trend of two vectors. If the change trends are consistent (the same increase and the same decrease), the value is large; if the change trends are opposite (one increases and the other decreases), the correlation coefficient is small. Its definition is as follows:

[0078]

[0079] Among them, X and Y are two vectors of equal length, and They represent their respective means, and ∑(·) represents accumulation.

[0080] Step S40: performing signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

[0081] It is understandable that, since there is an overlapping portion between two adjacent target engine signal data in the target engine signal data set, data synthesis is required.

[0082] In a feasible manner, the step of performing signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result includes:

[0083] Obtaining a plurality of engine signals to be synthesized according to the target engine signal data set, and determining a predecessor engine signal and a successor engine signal of the engine signal to be synthesized;

[0084] Determine the predecessor overlapping data according to the engine signal to be synthesized and the predecessor engine signal, and determine the successor overlapping data according to the engine signal to be synthesized and the successor engine signal;

[0085] The engine signal to be synthesized is overlapped and added with the preceding overlapping data and the succeeding overlapping data is discarded to obtain a target engine sound synthesis result.

[0086] It is understandable that after obtaining the RPM from the vehicle speed, it is first rounded off, and then the nearest RPM value is calculated, and the target engine signal data corresponding to the RPM value is determined through the engine mapping model. For example, the RPM calculated from the real-time vehicle speed is 2865.4, which is rounded off to 2865. The nearest RPM value is 2867, so the target engine signal data of RPM 2867 in the engine mapping model is selected. Figure 2 , Figure 2It is divided into two parts: "data frame" and "output". The data frame is the data selected in real time in the engine mapping model according to different RPMs. These data need to go through the overlapping and adding steps before they can be output. Taking the above frame length of 640 and frame shift of 480 as an example, the data before and after F(k) in the data frame need to be overlapped and added (each is 160 points, corresponding to the part of the window function win that is not 1), and the F(k) part does not need to be overlapped and added (each is 320 points, corresponding to the part of the window function win where all values ​​are 1). Assume that Y(k) has been output at this time, and the next frame Y(k+1) needs to be output. At this time, take out a frame of data corresponding to the RPM in the engine mapping model as F(k+1), let its first 160 points be added one by one with the last 160 points of the previous frame data F(k), and then form the output Y(k+1) with the 320 points in the middle of F(k+1) that do not need to be overlapped and added. The last 160 points of F(k+1) will be saved for overlapping and adding with the next frame of data F(k+2) to get the output Y(k+1). Obviously, each frame outputs 480 points.

[0087] This embodiment obtains an engine sound signal and builds an engine mapping model based on the engine sound signal; obtains engine parameters in real time and determines an engine speed set based on the engine parameters; determines a target engine signal data set based on the engine mapping model and the engine speed set; and performs signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

[0088] In summary, this embodiment decomposes the engine signal to construct an engine mapping model, determines the target engine signal data through the engine mapping model, and performs engine sound synthesis through the target engine signal data, so that the engine sound synthesis result is smoother.

[0089] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 3 , step S10 also includes steps S101 to S104:

[0090] Step S101: acquiring an engine sound signal, and dividing the engine sound signal into frames to obtain a plurality of frames of target engine sound signals;

[0091] It is understandable that in order to ensure that the acquired engine sound signal is comprehensive enough and covers the sound signals corresponding to multiple engine speeds, the engine sound signal generated by increasing the engine speed from a preset lower speed limit to a preset upper speed limit can be framed according to the frame length and frame shift.

[0092] In a feasible manner, the step of acquiring an engine sound signal and dividing the engine sound signal into frames to obtain a multi-frame target engine sound signal includes:

[0093] Acquire an engine sound signal generated when the engine speed increases from a preset lower speed limit to a preset upper speed limit;

[0094] The engine sound signal is divided into a plurality of frames of target engine sound signals according to a preset frame length and a preset frame shift, wherein the preset frame length is greater than the preset frame shift.

[0095] It should be noted that the process of obtaining the engine sound signal is to uniformly increase the engine speed RPM from 1000 to 6000 revolutions for 10 seconds. A 1 / 2-inch microphone is used with a sampling rate of 48kHz for recording. Assume that the measured engine signal is x(n), where n represents the sampling point, that is, the final received signal vector is [x(1), x(2), x(3)…x(n)]. In practical applications, it is impossible to use RPM with infinite resolution, that is, although RPM is from 1000 to 6000, it can be subdivided into 1000, 1001, 1002… or even finer, but considering the data storage capacity limitation, generally only one RPM is taken every few values, such as 1003, 1008, 1013… and so on. After framing and windowing, it is considered that the signal is stable in this very short period of time, and its corresponding RPM is fixed. For example, if the RPM is 1008, theoretically this data should represent the data of RPM1006-1010, but it can be considered that the RPM represented by this data is 1008. Correspondingly, during synthesis, if the calculated RPM is 1006, then the nearest preset value 1008 is selected as its index value. After that, the engine signal needs to be framed. In this embodiment, the frame length is 640 and the frame shift is 480, that is, each frame of data is

[0096] frame(1):[x(1),x(2),x(3)…x(640)]

[0097] frame(2):[x(481),x(482),x(483)…x(1120)]

[0098] frame(3):[x(961),x(962),x(963)…x(1600)]

[0099] frame(k): and so on

[0100] Among them, k represents the frame index, that is, the kth frame signal. If the final count is less than 640 points in one frame, the last frame can be discarded. It is not difficult to find that the frame length represents the number of points contained in each frame, the frame shift represents the gap between the first points of each frame, and the frame length minus the frame shift represents the repeated part of 160 points between frames.

[0101] Step S102: windowing the target engine sound signal of each frame to obtain a windowed engine signal;

[0102] It should be noted that after acquiring the target engine sound signal, it is also necessary to perform windowing on the target engine sound signal, where windowing is the process of multiplying a finite length signal by a finite length window function. This process is intended to reduce the adverse effects caused by the finite length of the signal during frequency domain analysis, especially the spectrum leakage problem.

[0103] In a feasible manner, the step of windowing each frame of the target engine sound signal to obtain a windowed engine signal includes:

[0104] Obtaining a windowing coefficient of the target engine sound signal of each frame according to a Hamming window function model;

[0105] The target engine sound signal of each frame is multiplied by a windowing coefficient to obtain a windowed engine signal.

[0106] It is understandable that the window function used in this embodiment is an improved window of the Hamming window, and its expression is:

[0107]

[0108] Among them, hamming 320 (n) represents the nth point of a standard 320-point Hamming window. The image of this window function can be found in Figure 4 , Figure 4 The image diagram of the Hamming window is shown in Figure 2. Windowing means multiplying each frame of data with the window function one by one, and the signal of each frame after windowing is:

[0109]

[0110] in Represents the Hadamard product (corresponding to multiplication).

[0111] Step S103: calculating the signal relative energy of each frame of the target engine sound signal, and determining the engine speed corresponding to the signal relative energy;

[0112] It is understandable that to calculate the relative energy of the target engine sound signal of each frame, it is necessary to first perform Fourier transform on the unwindowed signal of each frame and then calculate the energy, that is:

[0113] power(frame(k))=abs(fft 640 (frame(k)))

[0114] Among them, fft 640(·) means to find the fast Fourier transform of 640 points, abs means to take the absolute value, which is equivalent to finding the RMS size (i.e. signal energy) for complex numbers. In this way, the relative energy size of the 640 points of each frame signal is obtained. After that, the RPM corresponding to the maximum value of power(frame(k)) needs to be selected as the index of this frame. For example, the RPM range of the second frame is 1005-1011.6 revolutions, and the calculation formula is as follows:

[0115] n*5000 / 480000+1000,n∈(481,1120)

[0116] The energy of each frequency of the signal is power(frame(2)). Through peak search, we find that its maximum value is at the 400th point. The corresponding RPM is (400+481)*5000 / 480000+1000=1009.18, which is rounded to 1009. Therefore, the RPM corresponding to the second frame data is 1009, instead of the preset 1008.

[0117] It should be noted that if the RPM values ​​calculated in this way for two adjacent frames are the same, the frame with the larger deviation is set to the above-mentioned preset RPM. For example, if the RPMs calculated for the maximum energy of the second and third frames are both 1011, the second frame is set to 1008 (deviation of 3 from 1011) and the third frame is set to 1011 (deviation of 2 from 1013).

[0118] Step S104: constructing an engine mapping model according to the windowed engine sound signal and the engine speed.

[0119] It should be noted that the corresponding relationship between the engine speed and the windowed engine sound signal can be determined through the windowed engine sound signal and the engine speed, thereby constructing an engine mapping model.

[0120] In a feasible manner, determining the windowed engine sound signal corresponding to the engine speed to obtain a mapping list;

[0121] The mapping list is sorted according to the engine speed to obtain the engine speed and construct an engine mapping model.

[0122] It is understandable that each frame of windowed data F(k) corresponds to the RPM value of each frame of data. The RPM values ​​are arranged in order to obtain an engine mapping model of RPM and data frame F(k), which is convenient for subsequent synthesis operations.

[0123] This embodiment obtains an engine sound signal and divides the engine sound signal into frames to obtain multiple frames of target engine sound signals; performs windowing on each frame of the target engine sound signal to obtain a windowed engine signal; calculates the signal relative energy of each frame of the target engine sound signal and determines the engine speed corresponding to the signal relative energy; and constructs an engine mapping model based on the windowed engine sound signal and the engine speed.

[0124] In summary, this embodiment constructs an engine mapping model by recording engine signals corresponding to different engine sounds, which provides a data source for subsequent engine sound synthesis and makes the engine sound synthesis result smoother.

[0125] For example, to help understand the implementation process of the engine sound synthesis method obtained by combining this embodiment with the above-mentioned embodiment 1, please refer to Figure 5 , Figure 5 A brief flow chart of an engine sound synthesis method is provided, specifically: first, in the signal decomposition stage, the stable engine sound data is recorded, cut and windowed, then the energy of different frequency points of each frame signal is calculated, and the RPM corresponding to the maximum frequency point is selected to form an RPM and frame database, i.e., an engine mapping model. After that, the signal synthesis stage can be carried out. First, the corresponding RPM is calculated according to the engine parameters, i.e., the vehicle speed information, and the signal frame is selected according to the RPM, and the signal frame with the largest correlation is calculated, and then the signal frame is synthesized and output to obtain the engine sound synthesis result.

[0126] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the engine sound synthesis method of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.

[0127] This application also provides an engine sound synthesis device, please refer to Figure 6 , the engine sound synthesis device comprises:

[0128] A construction module 10 is used to obtain an engine sound signal and construct an engine mapping model according to the engine sound signal;

[0129] An acquisition module 20, used to acquire engine parameters in real time and determine an engine speed set according to the engine parameters;

[0130] A determination module 30, configured to determine a target engine signal data set according to the engine mapping model and the engine speed set;

[0131] The synthesis module 40 is used to perform signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

[0132] This embodiment obtains an engine sound signal and builds an engine mapping model based on the engine sound signal; obtains engine parameters in real time and determines an engine speed set based on the engine parameters; determines a target engine signal data set based on the engine mapping model and the engine speed set; and performs signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

[0133] In summary, this embodiment decomposes the engine signal to construct an engine mapping model, determines the target engine signal data through the engine mapping model, and performs engine sound synthesis through the target engine signal data, so that the engine sound synthesis result is smoother.

[0134] In one embodiment, the construction module 10 is further used to obtain an engine sound signal, and divide the engine sound signal into frames to obtain multiple frames of target engine sound signals; perform windowing on each frame of the target engine sound signal to obtain a windowed engine signal; calculate the signal relative energy of each frame of the target engine sound signal, and determine the engine speed corresponding to the signal relative energy;

[0135] An engine mapping model is constructed according to the windowed engine sound signal and the engine speed.

[0136] In one embodiment, the construction module 10 is also used to obtain an engine sound signal generated when the engine speed increases from a preset lower speed limit to a preset upper speed limit; divide the engine sound signal into multiple frames of target engine sound signals according to a preset frame length and a preset frame shift, and the preset frame length is greater than the preset frame shift.

[0137] In one embodiment, the construction module 10 is further configured to obtain a windowing coefficient of the target engine sound signal of each frame according to a Hamming window function model; and multiply the target engine sound signal of each frame by the windowing coefficient to obtain a windowed engine signal.

[0138] In one embodiment, the construction module 10 is further used to determine the windowed engine sound signal corresponding to the engine speed to obtain a mapping list; sort the mapping list according to the size of the engine speed to obtain the engine speed to construct an engine mapping model.

[0139] In one embodiment, the determination module 30 is further configured to determine the current engine speed and the historical engine speed according to the engine speed set;

[0140] Determine multiple pending engine data of the current engine speed according to the engine mapping model; obtain historical engine signal data corresponding to the historical engine speed; respectively calculate the correlation between multiple pending engine data and the historical engine signal data; determine the current engine signal data from the multiple pending engine data according to the correlation; and obtain a target engine signal data set according to the historical engine signal data and the current engine signal data.

[0141] In one embodiment, the synthesis module 40 is further used to obtain multiple engine signals to be synthesized based on the target engine signal data set, and determine the predecessor engine signal and the successor engine signal of the engine signal to be synthesized; determine the predecessor overlapping data based on the engine signal to be synthesized and the predecessor engine signal, and determine the successor overlapping data based on the engine signal to be synthesized and the successor engine signal; overlap and add the engine signal to be synthesized and the predecessor overlapping data and discard the successor overlapping data to obtain the target engine sound synthesis result.

[0142] The engine sound synthesis device provided by the present application adopts the engine sound synthesis method in the above embodiment, which can solve the technical problem of how to make the engine sound synthesis result smoother. Compared with the prior art, the beneficial effects of the engine sound synthesis device provided by the present application are the same as the beneficial effects of the engine sound synthesis method provided by the above embodiment, and other technical features in the engine sound synthesis device are the same as the features disclosed in the above embodiment method, which will not be repeated here.

[0143] The present application provides an engine sound synthesis device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the engine sound synthesis method in the above-mentioned embodiment one.

[0144] Reference below Figure 7 , which shows a schematic diagram of the structure of an engine sound synthesis device suitable for implementing the embodiment of the present application. The engine sound synthesis device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 7 The engine sound synthesis device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0145] like Figure 7As shown, the engine sound synthesis device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the engine sound synthesis device are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the engine sound synthesis device to communicate with other devices wirelessly or by wire to exchange data. Although the engine sound synthesis device with various systems is shown in the figure, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or provided instead.

[0146] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0147] The engine sound synthesis device provided by the present application adopts the engine sound synthesis method in the above embodiment, which can solve the technical problem of how to make the engine sound synthesis result smoother. Compared with the prior art, the beneficial effects of the engine sound synthesis device provided by the present application are the same as the beneficial effects of the engine sound synthesis method provided by the above embodiment, and other technical features in the engine sound synthesis device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0148] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0149] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0150] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the engine sound synthesis method in the above-mentioned embodiment.

[0151] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the above.

[0152] The computer-readable storage medium may be included in the engine sound synthesis device; or may exist independently without being assembled into the engine sound synthesis device.

[0153] The computer-readable storage medium carries one or more programs. When the one or more programs are executed by the engine sound synthesis device, the engine sound synthesis device: obtains an engine sound signal and builds an engine mapping model based on the engine sound signal; obtains engine parameters in real time and determines an engine speed set based on the engine parameters; determines a target engine signal data set based on the engine mapping model and the engine speed set; and performs signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

[0154] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0155] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0156] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0157] The readable storage medium provided in the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned engine sound synthesis method, and can solve the technical problem of how to make the engine sound synthesis result smoother. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in the present application are the same as the beneficial effects of the engine sound synthesis method provided in the above-mentioned embodiment, and will not be repeated here.

[0158] The present application also provides a computer program product, including a computer program, wherein when the computer program is executed by a processor, the steps of the engine sound synthesis method as described above are implemented.

[0159] The computer program product provided by the present application can solve the technical problem of how to make the engine sound synthesis result smoother. Compared with the prior art, the beneficial effects of the computer program product provided by the present application are the same as the beneficial effects of the engine sound synthesis method provided by the above embodiment, which will not be repeated here.

[0160] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A method for synthesizing engine sound, characterized in that: The method includes: Acquiring an engine sound signal, and building an engine mapping model according to the engine sound signal; Acquiring engine parameters in real time, and determining an engine speed set according to the engine parameters; Determining a target engine signal data set according to the engine mapping model and the engine speed set; Signal synthesis is performed on the target engine signal data set to obtain a target engine sound synthesis result.

2. The method according to claim 1, characterized in that The step of acquiring the engine sound signal and constructing the engine mapping model according to the engine sound signal comprises: Acquire an engine sound signal, and divide the engine sound signal into frames to obtain a multi-frame target engine sound signal; Windowing the target engine sound signal of each frame to obtain a windowed engine signal; Calculating the signal relative energy of the target engine sound signal in each frame, and determining the engine speed corresponding to the signal relative energy; An engine mapping model is constructed according to the windowed engine sound signal and the engine speed.

3. The method according to claim 2, characterized in that The step of acquiring the engine sound signal and dividing the engine sound signal into frames to obtain a multi-frame target engine sound signal includes: Acquire an engine sound signal generated when the engine speed increases from a preset lower speed limit to a preset upper speed limit; The engine sound signal is divided into a plurality of frames of target engine sound signals according to a preset frame length and a preset frame shift, wherein the preset frame length is greater than the preset frame shift.

4. The method according to claim 2, characterized in that The step of windowing the target engine sound signal of each frame to obtain a windowed engine signal comprises: Obtaining a windowing coefficient of the target engine sound signal of each frame according to a Hamming window function model; The target engine sound signal of each frame is multiplied by a windowing coefficient to obtain a windowed engine signal.

5. The method according to claim 2, characterized in that The step of constructing an engine mapping model according to the windowed engine sound signal and the engine speed comprises: Determine the windowed engine sound signal corresponding to the engine speed and obtain a mapping list; The mapping list is sorted according to the engine speed to obtain the engine speed and construct an engine mapping model.

6. The method according to claim 1, characterized in that The step of determining the target engine signal data set according to the engine mapping model and the engine speed set comprises: Determine a current engine speed and a historical engine speed according to the engine speed set; Determine a plurality of pending engine data of the current engine speed according to the engine mapping model; Acquiring historical engine signal data corresponding to the historical engine speed; respectively calculating the correlation between the plurality of pending engine data and the historical engine signal data; determining current engine signal data from the plurality of pending engine data according to the correlation; A target engine signal data set is obtained according to the historical engine signal data and the current engine signal data.

7. The method according to claim 1, characterized in that The step of synthesizing the target engine signal data set to obtain a target engine sound synthesis result comprises: Obtaining a plurality of engine signals to be synthesized according to the target engine signal data set, and determining a predecessor engine signal and a successor engine signal of the engine signal to be synthesized; Determine the predecessor overlapping data according to the engine signal to be synthesized and the predecessor engine signal, and determine the successor overlapping data according to the engine signal to be synthesized and the successor engine signal; The engine signal to be synthesized is overlapped and added with the preceding overlapping data and the succeeding overlapping data is discarded to obtain a target engine sound synthesis result.

8. An engine sound synthesis device, characterized in that: The device comprises: A construction module, used for acquiring an engine sound signal and constructing an engine mapping model according to the engine sound signal; An acquisition module, used for acquiring engine parameters in real time and determining an engine speed set according to the engine parameters; a determination module, configured to determine a target engine signal data set according to the engine mapping model and the engine speed set; The synthesis module is used to perform signal synthesis on the target engine signal data set to obtain a target engine sound synthesis result.

9. An engine sound synthesis device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the engine sound synthesis method according to any one of claims 1 to 7.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the engine sound synthesis method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Sound synthetic method and device and electronic equipment

    CN108032800A

  • Automobile engine sound real-time synthesis system and method based on deep learning

    CN112652315A

  • Method, system, medium and equipment for improving sound quality of automobile engine simulation sound

    CN118942441A

  • Engine sound output device and engine sound output method

    JP2014202856A

  • Apparatus and methods for synthesis of simulated internal combustion engine vehicle sounds

    US20050169484A1