mirror of
https://github.com/vsariola/sointu.git
synced 2025-06-04 01:28:45 -04:00
test: add unit test for unisons with phase = 0
This demonstrates a bug found by Virgill: the x86 templates optimize away the phase modulation when all phases are set to 0, but the unisons need the phase modulation internally to offset the phase of the different unison oscillators.
This commit is contained in:
parent
5bc6dc6015
commit
012ed10851
@ -117,6 +117,7 @@ if(WIN32) # The samples are currently only GMDLs based, and thus require Windows
|
||||
regression_test(test_oscillat_sample_stereo ENVELOPE)
|
||||
endif()
|
||||
regression_test(test_oscillat_unison ENVELOPE)
|
||||
regression_test(test_oscillat_unison_phase ENVELOPE)
|
||||
regression_test(test_oscillat_unison_stereo ENVELOPE)
|
||||
regression_test(test_oscillat_lfo "ENVELOPE;VCO_SINE;VCO_PULSE;FOP_MULP2")
|
||||
regression_test(test_oscillat_transposemod "VCO_SINE;ENVELOPE;FOP_MULP;FOP_PUSH;SEND")
|
||||
|
BIN
tests/expected_output/test_oscillat_unison_phase.raw
Normal file
BIN
tests/expected_output/test_oscillat_unison_phase.raw
Normal file
Binary file not shown.
22
tests/test_oscillat_unison_phase.yml
Normal file
22
tests/test_oscillat_unison_phase.yml
Normal file
@ -0,0 +1,22 @@
|
||||
bpm: 100
|
||||
rowsperbeat: 4
|
||||
score:
|
||||
rowsperpattern: 16
|
||||
length: 1
|
||||
tracks:
|
||||
- numvoices: 1
|
||||
order: [0]
|
||||
patterns: [[64, 0, 68, 0, 32, 0, 0, 0, 75, 0, 78, 0, 0, 0, 0, 0]]
|
||||
patch:
|
||||
- numvoices: 1
|
||||
units:
|
||||
- type: envelope
|
||||
parameters: {attack: 32, decay: 32, gain: 128, release: 64, stereo: 0, sustain: 64}
|
||||
- type: oscillator
|
||||
parameters: {color: 128, detune: 0, gain: 32, lfo: 0, phase: 0, shape: 64, stereo: 0, transpose: 64, type: 1, unison: 3}
|
||||
- type: mulp
|
||||
parameters: {stereo: 0}
|
||||
- type: push
|
||||
parameters: {stereo: 0}
|
||||
- type: out
|
||||
parameters: {gain: 128, stereo: 1}
|
Loading…
x
Reference in New Issue
Block a user