mirror of
https://github.com/vsariola/sointu.git
synced 2025-07-18 21:14:31 -04:00
Implement sample-based oscillators, with sample import from gm.dls.
This commit is contained in:
@ -78,6 +78,8 @@ regression_test(test_oscillat_trisaw ENVELOPE)
|
||||
regression_test(test_oscillat_pulse ENVELOPE VCO_PULSE)
|
||||
regression_test(test_oscillat_gate ENVELOPE)
|
||||
regression_test(test_oscillat_stereo ENVELOPE)
|
||||
regression_test(test_oscillat_sample ENVELOPE)
|
||||
regression_test(test_oscillat_sample_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")
|
||||
regression_test(test_oscillat_detunemod "VCO_SINE;ENVELOPE;FOP_MULP;FOP_PUSH;SEND")
|
||||
|
BIN
tests/expected_output/test_oscillat_sample.raw
Normal file
BIN
tests/expected_output/test_oscillat_sample.raw
Normal file
Binary file not shown.
BIN
tests/expected_output/test_oscillat_sample_stereo.raw
Normal file
BIN
tests/expected_output/test_oscillat_sample_stereo.raw
Normal file
Binary file not shown.
44
tests/test_oscillat_sample.asm
Normal file
44
tests/test_oscillat_sample.asm
Normal file
@ -0,0 +1,44 @@
|
||||
%define BPM 100
|
||||
%define USE_SECTIONS
|
||||
%define INCLUDE_GMDLS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 0,0,0,0,0,0,0,0,
|
||||
PATTERN 72, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
||||
PATTERN 60, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
||||
PATTERN 40, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),1,0,2,0,3,0,4,0
|
||||
TRACK VOICES(1),0,1,0,2,0,3,0,4 ; an ordinary sine oscillator, to compare we calculate the pitch right
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_OSCILLAT MONO,TRANSPOSE(64+4),DETUNE(64),PHASE(64),SAMPLENO(0),SHAPE(64),GAIN(128), FLAGS(SAMPLE)
|
||||
SU_OSCILLAT MONO,TRANSPOSE(64+2),DETUNE(64),PHASE(64),SAMPLENO(1),SHAPE(64),GAIN(128), FLAGS(SAMPLE)
|
||||
SU_MULP STEREO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument1 to compare that the pitch is ok
|
||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128), FLAGS(SINE)
|
||||
SU_OSCILLAT MONO,TRANSPOSE(64),DETUNE(64),PHASE(0),COLOR(128),SHAPE(64),GAIN(128), FLAGS(SINE)
|
||||
SU_MULP STEREO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
SU_BEGIN_SAMPLE_OFFSETS
|
||||
SAMPLE_OFFSET START(1678611),LOOPSTART(1341),LOOPLENGTH(106) ; name VIOLN68, unitynote 56 (transpose to 4), data length 1448
|
||||
SAMPLE_OFFSET START(1680142),LOOPSTART(1483),LOOPLENGTH(95) ; name VIOLN70, unitynote 58 (transpose to 2), data length 1579
|
||||
SU_END_SAMPLE_OFFSETS
|
||||
|
||||
%include "../src/sointu.asm"
|
41
tests/test_oscillat_sample_stereo.asm
Normal file
41
tests/test_oscillat_sample_stereo.asm
Normal file
@ -0,0 +1,41 @@
|
||||
%define BPM 100
|
||||
%define USE_SECTIONS
|
||||
%define INCLUDE_GMDLS
|
||||
|
||||
%include "../src/sointu.inc"
|
||||
|
||||
SU_BEGIN_PATTERNS
|
||||
PATTERN 0,0,0,0,0,0,0,0,
|
||||
PATTERN 72, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
||||
PATTERN 64, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
||||
PATTERN 60, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
||||
PATTERN 40, HLD, HLD, HLD, HLD, HLD, HLD, 0,
|
||||
SU_END_PATTERNS
|
||||
|
||||
SU_BEGIN_TRACKS
|
||||
TRACK VOICES(1),1,0,2,0,3,0,4,0
|
||||
TRACK VOICES(1),0,1,0,2,0,3,0,4 ; an ordinary sine oscillator, to compare we calculate the pitch right
|
||||
SU_END_TRACKS
|
||||
|
||||
SU_BEGIN_PATCH
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument0
|
||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_OSCILLAT STEREO,TRANSPOSE(64+4),DETUNE(32),PHASE(64),SAMPLENO(0),SHAPE(64),GAIN(128), FLAGS(SAMPLE)
|
||||
SU_MULP STEREO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_BEGIN_INSTRUMENT VOICES(1) ; Instrument1 to compare that the pitch is ok
|
||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_ENVELOPE MONO,ATTAC(32),DECAY(32),SUSTAIN(64),RELEASE(64),GAIN(128)
|
||||
SU_OSCILLAT STEREO,TRANSPOSE(64),DETUNE(32),PHASE(0),COLOR(128),SHAPE(64),GAIN(128), FLAGS(SINE)
|
||||
SU_MULP STEREO
|
||||
SU_OUT STEREO,GAIN(128)
|
||||
SU_END_INSTRUMENT
|
||||
SU_END_PATCH
|
||||
|
||||
SU_BEGIN_SAMPLE_OFFSETS
|
||||
SAMPLE_OFFSET START(1678611),LOOPSTART(1341),LOOPLENGTH(106) ; name VIOLN68, unitynote 56 (transpose to 4), data length 1448
|
||||
SU_END_SAMPLE_OFFSETS
|
||||
|
||||
%include "../src/sointu.asm"
|
Reference in New Issue
Block a user