Page 4 of 4
Re: opensource sample lib format
Posted: Sun Nov 22, 2009 6:14 pm
by Alex
A quick question.
Is there a list of currently supported opcodes for the sfz engine?
I'm trying to use the "offset" opcode, and it doesn't seem to be working, given i'm not trying to make a user error here somewhere.
Alex.
Re: opensource sample lib format
Posted: Sun Nov 22, 2009 11:00 pm
by dahnielson
Just to be clear: It is really early days for the sfz engine, basically the only thing it currently do is triggering samples. The impressive work Grigor have done is to refactor the GIG engine code so that it can be reused by the new SFZ and SF2 engines. It was all committed to CVS as it started to become a bit messy sending patches between developers for review via email, not because they were ready for release. I think Grigor is currently implementing the EGs and LFOs.
Currently the
LinuxSampler SFZ Implementation document is more of a wish list of opcodes to be implemented and source for figuring out what each opcode is supposed to do. It will hopefully soon start to reflect the reality once more work have been done on the engine. Just because the SFZ reader at the moment manage to parse a definition file and recognize an opcode doesn't necessarily mean the opcode has yet been implemented in the SFZ engine.
Hmm.. just took a look at sfz.cpp and it looks like the "offset" opcode isn't parsed at all while both "offset_random" and "offset_onccN" are. So at least that omission is a bug.
Re: opensource sample lib format
Posted: Sun Nov 22, 2009 11:11 pm
by Alex
dahnielson wrote:Just to be clear: It is really early days for the sfz engine, basically the only thing it currently do is triggering samples. The impressive work Grigor have done is to refactor the GIG engine code so that it can be reused by the new SFZ and SF2 engines. It was all committed to CVS as it started to become a bit messy sending patches between developers for review via email, not because they were ready for release. I think Grigor is currently implementing the EGs and LFOs.
Currently the
LinuxSampler SFZ Implementation document is more of a wish list of opcodes to be implemented and source for figuring out what each opcode is supposed to do. It will hopefully soon start to reflect the reality once more work have been done on the engine. Just because the SFZ reader at the moment manage to parse a definition file and recognize an opcode doesn't necessarily mean the opcode has yet been implemented in the SFZ engine.
Yes, i'm aware of the current state. I'm thinking here if we have a list of current opcodes, users not aware of the current state will know where they stand, and what will and won't work. No one is deriding the excellent work going on, or implying there's a problem.
I've been asked this question 3 times in 2 days, and as more people come on board, as there seems to be, it would possibly forestall any repetition, or perception that there's something.....wrong, when there clearly isn't, at least to us.
Alex.
Re: opensource sample lib format
Posted: Sun Nov 22, 2009 11:25 pm
by dahnielson
I haven't yet had time to play around with the new engine(s) and look into the work that's been done in depth. But I would wager a guess, that for the time being, the following opcodes can be considered implemented by the engine:
sample=
lokey=
hikey=
key=
lovel=
hivel=
Re: opensource sample lib format
Posted: Mon Nov 23, 2009 12:05 am
by ccherrett
dahnielson wrote:I haven't yet had time to play around with the new engine(s) and look into the work that's been done in depth. But I would wager a guess, that for the time being, the following opcodes can be considered implemented by the engine:
sample=
lokey=
hikey=
key=
lovel=
hivel=
That would explain a lot
I will abandon work on this for now till it matures a bit. At least I learned a lot
Re: opensource sample lib format
Posted: Mon Nov 23, 2009 8:37 am
by Andreas
dahnielson wrote:I haven't yet had time to play around with the new engine(s) and look into the work that's been done in depth. But I would wager a guess, that for the time being, the following opcodes can be considered implemented by the engine:
sample=
lokey=
hikey=
key=
lovel=
hivel=
There's a lot more than that implemented in the current engine. This is what I found after a quick look at the code (some of these may be only partial implemented, not sure):
- lochan
hichan
key
lokey
hikey
lovel
hivel
lobend
hibend
lochanaft
hichanaft
sw_lokey
sw_hikey
sw_last
sw_down
sw_up
sw_previous
trigger
loccN
hiccN
sample
loop_mode
loop_start
loop_end
count
group
pitch_keytrack
pitch_keycenter
tune
pan
ampeg_start
ampeg_attack
ampeg_hold
ampeg_decay
ampeg_sustain
ampeg_release
fileg_start
fileg_attack
fileg_decay
fileg_sustain
fileg_release
pitcheg_attack
Re: opensource sample lib format
Posted: Mon Nov 23, 2009 9:48 am
by ccherrett
Andreas wrote:dahnielson wrote:I haven't yet had time to play around with the new engine(s) and look into the work that's been done in depth. But I would wager a guess, that for the time being, the following opcodes can be considered implemented by the engine:
sample=
lokey=
hikey=
key=
lovel=
hivel=
There's a lot more than that implemented in the current engine. This is what I found after a quick look at the code (some of these may be only partial implemented, not sure):
- lochan
hichan
key
lokey
hikey
lovel
hivel
lobend
hibend
lochanaft
hichanaft
sw_lokey
sw_hikey
sw_last
sw_down
sw_up
sw_previous
trigger
loccN
hiccN
sample
loop_mode
loop_start
loop_end
count
group
pitch_keytrack
pitch_keycenter
tune
pan
ampeg_start
ampeg_attack
ampeg_hold
ampeg_decay
ampeg_sustain
ampeg_release
fileg_start
fileg_attack
fileg_decay
fileg_sustain
fileg_release
pitcheg_attack
To prove it some debug statements telling you what sample is fired would really help.
Re: opensource sample lib format
Posted: Tue Apr 12, 2011 2:25 pm
by nicop
Hi, I report that also the following opcodes seems to work
:
seq_position=
seq_length=
lorand=
hirand=
I'm planning to convert all my Battery3 library in SFZ, so I'll be extremely happy if you'll implement the "offset" opcode.
thanks and keep up good work