Sound wave generation device, sound wave generation method, and program

The sound wave generator addresses folding noise in the Phase Distortion system by managing phase change speeds and applying alias noise reduction pulses, ensuring reduced noise and improved signal quality.

JP2025018554APending Publication Date: 2025-02-06KORG
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023122357
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-27
Publication Date
2025-02-06

AI Technical Summary

Technical Problem

Conventional waveform generation methods in the Phase Distortion system generate folding noise due to harmonics beyond the Nyquist frequency.

Method used

The sound wave generator employs a subtraction unit, alias noise reduction pulse generator, multiplication unit, adder, delay units, and sine wave generator to manage phase change speeds and apply alias noise reduction pulses, smoothing phase transitions to reduce folding noise.

Benefits of technology

The solution effectively reduces folding noise in the phase distortion system, maintaining signal quality by minimizing tone degradation and harmonics beyond the Nyquist frequency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025018554000001_ABST
    Figure 2025018554000001_ABST
Patent Text Reader

Abstract

To provide a sound wave generation device that can reduce aliasing noise in a phase distortion method.SOLUTION: The sound wave generation device includes: a subtraction unit that obtains a phase accumulator output generated by adding a delay to a phase increment value and subtracts a predetermined threshold value from the phase accumulator output; an alias noise reduction pulse generation unit that calculates time when the phase accumulator output changes across the threshold value and generates an alias noise reduction pulse; a multiplication unit that multiplies a phase change rate by an output of the subtraction unit; an addition unit that adds a predetermined value to an output of the multiplication unit; a delay unit that adds a delay to an output of the addition unit; a pulse addition unit that adds an alias noise reduction pulse to an output of the delay unit; and a sine wave generation unit that generates a sine wave on the basis of an output of the pulse addition unit.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a sound wave generating device, a sound wave generating method, and a program for reducing aliasing noise in a phase distortion system. [Background technology]

[0002] Phase distortion is a synthesizer method that generates harmonics by varying the readout speed of a waveform. A waveform generation method described in Patent Document 1 is an example of prior art in this field. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 59-111515 Summary of the Invention [Problem to be solved by the invention]

[0004] The waveform generation method of Patent Document 1 has a problem in that aliasing noise occurs due to infinite harmonics that exceed the Nyquist frequency.

[0005] Therefore, an object of the present disclosure is to provide a sound wave generating device capable of reducing aliasing noise in the Phase Distortion method. [Means for solving the problem]

[0006] The sound wave generating device of the present disclosure includes a subtraction unit, an alias noise reduction pulse generating unit, a multiplication unit, an addition unit, a delay unit, a pulse addition unit, and a sine wave generating unit.

[0007] The subtraction unit acquires a phase accumulator output phaseAcc generated by adding a delay to a phase increment value phaseInc, and subtracts a predetermined threshold value PhaseDistortionPoint from the phase accumulator output phaseAcc.

[0008] The alias noise reduction pulse generation unit calculates the time when the phase accumulator output phaseAcc changes across the threshold value PhaseDistortionPoint and generates an alias noise reduction pulse. The multiplication unit sets the phase change rate Slope = Slope1 when phaseAcc < PhaseDistortionPoint is satisfied, and sets the phase change rate Slope = Slope2 otherwise, and multiplies the output of the subtraction unit by the phase change rate Slope with Slope1 ≠ Slope2. The addition unit adds a predetermined value BreakPoint to the output of the multiplication unit. The delay unit imparts a delay to the output of the addition unit. The pulse addition unit adds an alias noise reduction pulse to the output of the delay unit. The sine wave generation unit generates a sine wave based on the output of the pulse addition unit.

Advantages of the Invention

[0009] According to the sound wave generation device of the present disclosure, the aliasing noise in the Phase Distortion method can be reduced.

Brief Description of the Drawings

[0010] [Figure 1] A block diagram showing the functional configuration of the sound wave generation device of Example 1. [Diagram 2] A flowchart showing the operation of the sound wave generation device of Example 1. [Diagram 3] A block diagram showing the functional configuration of the sound wave generation device of a modification of Example 1. [Figure 4] A diagram showing an example of the phase change rate of the output signal before and after the alias noise reduction pulse processing. [Diagram 5] A diagram showing the waveforms of the output signal before and after the alias noise reduction pulse processing. [Figure 6] A diagram showing the frequency characteristics of the output signal before and after the alias noise reduction pulse processing. [Figure 7] A diagram showing an example of the functional configuration of a computer.

Modes for Carrying Out the Invention

[0011] Hereinafter, embodiments of the present disclosure will be described in detail. Note that components having the same functions are given the same reference numbers and redundant description will be omitted. EXAMPLES

[0012] The functional configuration of the sound wave generating device 1 of the first embodiment will be described below with reference to FIG. 1. As shown in the figure, the sound wave generating device 1 of the present embodiment includes a phase increment value input unit 110, an adder unit 115, a delay unit 120, an adder unit 125, an alias noise reduction pulse generating unit 130, a phase change rate determining unit 135, a multiplier unit 140, an adder unit 145, a delay unit 150, a delay unit 155, a pulse adder unit 160, and a sine wave generating unit 165. The adder unit 115 and the delay unit 120 may be collectively called a phase accumulator. The sound wave generating device 1 of the present embodiment can be realized by, for example, a synthesizer. The operation of each component will be described below with reference to FIG. 2.

[0013] <Phase increment value input section 110> The phase increment value input unit 110 acquires a phase increment value phaseInc (S110). The phase increment value phaseInc is a value obtained by a user input, and the pitch (sound height) is controlled by the phase increment value phaseInc.

[0014] <Adder 115> The adder 115 adds the phase increment value phaseInc and the output of the delay unit 120 to generate a phase accumulator output phaseAcc (S115). The adder 115 performs an addition process represented as phaseAcc+=phaseInc, which generates a sawtooth wave. This is ultimately used as the phase of the sine wave to be generated. The adder 115 is reset when the accumulated value becomes 1.0. As described above, the adder 115 performs an addition process represented as phaseAcc+=phaseInc (phaseInc<1.0). If phaseAcc>1.0, the adder 115 performs a reset process of phaseAcc=phaseAcc-1.0 to maintain 0≦phaseAcc≦1.0.

[0015] <Delay unit 120> The delay unit 120 delays the phase accumulator output phaseAcc and feeds back the delayed previous sample as a second input to the adder unit 115 (S120).

[0016] <Subtraction section 125> The subtraction unit 125 obtains a phase accumulator output phaseAcc generated by adding a delay to a phase increment value phaseInc, and subtracts a predetermined threshold value PhaseDistortionPoint from the phase accumulator output phaseAcc (S125). PhaseDistortionPoint is a threshold value used to switch between two values ​​Slope1 and Slope2 of the phase change rate determination unit 135 described later.

[0017] <Alias ​​Noise Reduction Pulse Generator 130> The alias noise reduction pulse generation unit 130 calculates the time when the phase accumulator output phaseAcc changes across the threshold PhaseDistortionPoint and generates an alias noise reduction pulse (S130). When the phase change rate changes, it is necessary to use the accurate time calculated in the continuous time domain that exceeds the resolution of the sampling frequency. It is necessary to generate an alias noise reduction pulse to smooth the change in the phase change rate (the bend in the graph of FIG. 4) from the calculated time and apply it to the time when the phase change rate changes.

[0018] <Phase change rate determination unit 135> The phase change rate determination unit 135 determines the phase change rate such that the phase change rate Slope = Slope1 when phaseAcc < PhaseDistortionPoint is satisfied, and the phase change rate Slope = Slope2 in other cases (phaseAcc ≧ PhaseDistortionPoint) (S135). However, it is assumed that Slope1 ≠ Slope2 is satisfied. Slope1 is the ratio that multiplies phaseAcc when phaseAcc is in the range of phaseAcc < PhaseDistortionPoint, and Slope2 is the ratio that multiplies phaseAcc when phaseAcc ≧ PhaseDistortionPoint.

[0019] <Multiplication unit 140> The multiplication unit 140 multiplies the phase change rate Slope (Slope1 or Slope2) by the output of the subtraction unit 125 (S140).

[0020] <Addition unit 145> The addition unit 145 adds a predetermined value BreakPoint to the output of the multiplication unit 140 (S145).

[0021] <Delay unit 150> The delay unit 150 imparts a delay to the output of the addition unit 145 (S150).

[0022] <Delay unit 155> The delay unit 155 applies a delay to the output of the delay unit 150 (S155). In this embodiment, the alias reduction pulse is applied to smooth the change in the phase change speed (the bends in the graph in FIG. 4), but to smooth the bends in the graph in FIG. 4, it is necessary to start applying the alias reduction pulse to the OutputPhase before the bend time. In the first embodiment, in order to perform substantially the same processing, an implementation was selected in which a delay device is used to delay the OutputPhase so that a pulse is applied to data older than the bend time.

[0023] In this embodiment, there are two delay units (delay unit 150, delay unit 155). However, since the number of delay units depends on the pulse size, the number of delay units may be other than two, and there is no problem as long as it is suitable for the pulse size. Figure 3 shows a block diagram of a modified sound wave generating device 1a with n delay units (n is a natural number). In this figure, the n delay units are illustrated as delay unit 150a.

[0024] <Pulse Adder 160> The pulse adder adds the alias noise reduction pulse generated in step S130 to the output of the delay unit 155 (S160).

[0025] <Sine wave generator 165> The sine wave generating section 165 generates a sine wave based on the output of the pulse adding section 160 (S165).

[0026] Note that OutputPhase is the final phase after applying Phase Distortion, and can be calculated as follows:

[0027] OutputPhase=((phaseAcc <PhaseDistortionPoint)?Slope1:Slope2)*(phaseAcc-PhaseDistortionPhase)+BreakPoint Note that BreakPoint is the value of OutputPhase when phaseAcc=PhaseDistortionPoint.

[0028] <Simulation results> Hereinafter, a simulation result of the sound wave generating device 1 of this embodiment will be described with reference to FIGS.

[0029] Fig. 4 is a diagram showing an example of the phase change speed of the output signal before and after the alias noise reduction process, where the vertical axis is OutputPhase (final phase) and the horizontal axis is phaseAcc (phase accumulator output), Fig. 4(A) is a graph before the alias noise reduction process of this embodiment, Fig. 4(B) is a graph before the alias noise reduction process of this embodiment, enlarged around the point where the Phase slope changes suddenly, Fig. 4(C) is a graph after the alias noise reduction process of this embodiment, and Fig. 4(D) is a graph after the alias noise reduction process of this embodiment, enlarged around the point where the Phase slope changes suddenly. As shown in the figure, after the alias noise reduction process, the change at the point where the Phase slope changes suddenly becomes smooth (gentle).

[0030] Fig. 5 is a diagram showing the waveform of the output signal before and after the alias noise reduction pulse processing, the vertical axis is sound pressure (dB) and the horizontal axis is time (s), Fig. 5(A) is a graph before the alias noise reduction processing of this embodiment, Fig. 5(B) is a graph before the alias noise reduction processing of this embodiment, enlarged around 25 seconds, Fig. 5(C) is a graph after the alias noise reduction processing of this embodiment, and Fig. 5(D) is a graph after the alias noise reduction processing of this embodiment, enlarged around 25 seconds. As shown in the figure, the waveform of the output signal is almost unchanged before and after the alias noise reduction processing, and it can be seen that there is almost no deterioration in tone quality due to the alias noise reduction processing of this embodiment.

[0031] Fig. 6 is a diagram showing the frequency characteristics of the output signal before and after alias noise reduction pulse processing, with the vertical axis being Amplitude [dB] and the horizontal axis being Frequency [Hz], Fig. 6(A) being a graph before the alias noise reduction processing of this embodiment, and Fig. 6(B) being a graph after the alias noise reduction processing of this embodiment. As shown in the figures, the alias noise that occurred in Fig. 6(A) is reduced in Fig. 6(B).

[0032] According to the sound wave generating device 1 of this embodiment, alias noise reduction processing, which is a simple process with a small increase in processing load, can eliminate corners in the output waveform and suppress harmonics by band limiting, thereby reducing aliasing noise.

[0033] <Additional Notes> The device of the present disclosure has, as a single hardware entity, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, a communication unit to which a communication device (e.g., a communication cable) capable of communicating with the outside of the hardware entity can be connected, a CPU (which may also have a central processing unit, cache memory, registers, etc.), memories such as RAM and ROM, an external storage device such as a hard disk, and buses connecting the input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged between them. If necessary, the hardware entity may also be provided with a device (drive) capable of reading and writing a recording medium such as a CD-ROM. A physical entity equipped with such hardware resources is, for example, a general-purpose computer.

[0034] The external storage device of the hardware entity stores the programs required to realize the above-mentioned functions and the data required in the processing of these programs (not limited to the external storage device, but for example the programs may be stored in a ROM, which is a read-only storage device). Data obtained by the processing of these programs is stored appropriately in the RAM, the external storage device, etc.

[0035] In the hardware entity, each program stored in an external storage device (or ROM, etc.) and the data required to process each program are loaded into memory as necessary, and interpreted, executed, and processed by the CPU as appropriate, so that the CPU realizes a predetermined function (each of the components represented as the above, "units," "means," etc.).

[0036] The present disclosure is not limited to the above-described embodiment, and can be modified as appropriate without departing from the spirit of the present disclosure. In addition, the processes described in the above embodiment are not limited to being executed in chronological order according to the order described, but may be executed in parallel or individually depending on the processing capacity of the device that executes the processes or as necessary.

[0037] As described above, when the processing functions of the hardware entities (apparatuses of the present disclosure) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entities should have are described by a program. Then, the processing functions of the hardware entities are realized on the computer by executing the program.

[0038] The various processes described above can be implemented by loading a program for executing each step of the above method into the recording unit 10020 of the computer shown in FIG. 7, and operating the control unit 10010, input unit 10030, output unit 10040, etc.

[0039] The program describing the processing contents can be recorded on a computer-readable recording medium. The computer-readable recording medium may be, for example, a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, or any other suitable medium. Specifically, for example, a hard disk drive, a flexible disk, a magnetic tape, or the like can be used as the magnetic recording device, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), or the like can be used as the optical disk, an MO (Magneto-Optical disc), or the like can be used as the magneto-optical recording medium, and an EEP-ROM (Electrically Erasable and Programmable-Read Only Memory) or the like can be used as the semiconductor memory.

[0040] The program may be distributed, for example, by selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of a server computer and transferring the program from the server computer to other computers via a network.

[0041] A computer that executes such a program, for example, first stores the program recorded on a portable recording medium or the program transferred from a server computer in its own storage device. Then, when executing a process, the computer reads the program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from the portable recording medium and execute a process according to the program, or may execute a process according to the received program each time a program is transferred from the server computer to the computer. The above-mentioned process may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by issuing an execution instruction and obtaining a result, without transferring a program from the server computer to the computer. Note that the program in this embodiment includes information used for processing by an electronic computer and equivalent to a program (data that is not a direct command to the computer but has a nature that specifies the processing of the computer, etc.).

[0042] In addition, in this embodiment, a hardware entity is configured by executing a specific program on a computer, but at least a part of the processing contents may be realized by hardware.

Claims

1. Obtain a phase accumulator output phaseAcc generated by adding a delay to a phase increment value phaseInc, and a subtraction unit that subtracts a predetermined threshold value PhaseDistortionPoint from the phase accumulator output phaseAcc; An alias noise reduction pulse generation unit that calculates the time when the phase accumulator output phaseAcc changes across the threshold value PhaseDistortionPoint and generates an alias noise reduction pulse; When phaseAcc < PhaseDistortionPoint is satisfied, the phase change rate Slope = Slope1, and in other cases, the phase change rate Slope = Slope2. As Slope1 ≠ Slope2, a multiplication unit that multiplies the phase change rate Slope by the output of the subtraction unit; An addition unit that adds a predetermined value BreakPoint to the output of the multiplication unit; A delay unit that imparts a delay to the output of the addition unit; A pulse addition unit that adds the alias noise reduction pulse to the output of the delay unit; Including a sine wave generation unit that generates a sine wave based on the output of the pulse addition unit Sound wave generation device.

2. A sound wave generation method executed by a sound wave generation device, Obtain a phase accumulator output phaseAcc generated by adding a delay to a phase increment value phaseInc, and a subtraction step of subtracting a predetermined threshold value PhaseDistortionPoint from the phase accumulator output phaseAcc; An alias noise reduction pulse generation step of calculating the time when the phase accumulator output phaseAcc changes across the threshold value PhaseDistortionPoint and generating an alias noise reduction pulse; When phaseAcc < PhaseDistortionPoint is satisfied, the phase change rate Slope = Slope1, and in other cases, the phase change rate Slope = Slope2. As Slope1 ≠ Slope2, a multiplication step of multiplying the phase change rate Slope by the output of the subtraction step; An addition step of adding a predetermined value BreakPoint to the output of the multiplication step; A delay step of imparting a delay to the output of the addition step; A pulse addition step of adding the alias noise reduction pulse to the output of the delay step; Including a sine wave generation step of generating a sine wave based on the output of the pulse addition step Sound wave generation method.

3. A program that causes a computer to function as the sound wave generating device according to claim 1.

Citation Information

Patent Citations

  • Waveform generating system

    JP1984111515A