. sfz files for Burea choir organ

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

. sfz files for Burea choir organ

David Gritter
I have uploaded the .sfz files, a linuxsampler .lscp file, a modified
jorgan dispositions and instructions in a zip file at

https://drive.google.com/file/d/0B8xSmCLj8oyWRmEwNjA3cXVSUFU/view?usp=sharing


In experimenting with these files I found the following:

Linuxsampler 1.0.0 in linux and sforzando in windows will play the
release samples, but the fade out/fade in to the release is not
correct.  When using the same samples in .gig files in linuxsampler, a
5ms release on the looped sample combined with a 5 ms attack on the
release results in a fade to the release sample withj no audible
artifacts.  In linuxsampler 1.0.0 there are often artifacts, and I have
recorded example waveforms where either or both of the release and
attack are not properly executed.

Therefore  the .lscp file i created only employs the .sfz files without
a release specified.

I linuxsampler 2.0.0 the release sample does not sound if the region in
the .sfz file has a velocity range associated with it, and sounds
silently if no velocity range is specified.  I will inform the
linuxsampler devlelopers of these problems, but for now, employing
release samples seems to remain the domain of .gig files.

Dave Gritter

Muskegon, Mi



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

tbeck
Dave,

Thanks for all the good work. 

The news about release samples is a disappointment.

Tom

On Thu, Jul 13, 2017 at 4:30 PM, David Gritter <[hidden email]> wrote:
I have uploaded the .sfz files, a linuxsampler .lscp file, a modified jorgan dispositions and instructions in a zip file at

https://drive.google.com/file/d/0B8xSmCLj8oyWRmEwNjA3cXVSUFU/view?usp=sharing


In experimenting with these files I found the following:

Linuxsampler 1.0.0 in linux and sforzando in windows will play the release samples, but the fade out/fade in to the release is not correct.  When using the same samples in .gig files in linuxsampler, a 5ms release on the looped sample combined with a 5 ms attack on the release results in a fade to the release sample withj no audible artifacts.  In linuxsampler 1.0.0 there are often artifacts, and I have recorded example waveforms where either or both of the release and attack are not properly executed.

Therefore  the .lscp file i created only employs the .sfz files without a release specified.

I linuxsampler 2.0.0 the release sample does not sound if the region in the .sfz file has a velocity range associated with it, and sounds silently if no velocity range is specified.  I will inform the linuxsampler devlelopers of these problems, but for now, employing release samples seems to remain the domain of .gig files.

Dave Gritter

Muskegon, Mi



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

John Reimer
Administrator
In reply to this post by David Gritter
David,

5 msec strikes me as a very short crossfade time, and may be contributing to the problem. Could you repeat the test using perhaps 15 msec? Whatever the crossfade time, this in itself does nothing to address the out-of-phase matter which both Nick Appleton and Colin Pykett have mentioned on their websites, and which surely is the main reason for the artifacts anyway. Graham's silence on this aspect suggests to me that GO is still not really dealing with it, which doesn't surprise me, given the difficulties involved. Of course the failure of Linuxsampler to deliver release sounds at all is a separate matter.

I might say in GO's favour that I have tried to detect these bad sounds by repeating certain notes on the GO version of Balzan, and it is only occasionally that I hear them, and then only on certain notes, as far as I could tell. So a real problem in theory doesn't always result in an unusable practical situation. And I haven't noticed GO people complaining about unsatisfactory release sounds.

John Reimer
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

David Gritter
for the sfz tests I tried 5ms 10ms and 50ms, without any noticeble
improvement in the fade in. I have been using 5ms for years in .gig
files, and have only had to increase this time once in a while on low notes.
our hearing does not seem to be much affected by phase differences, even
though they occur quickly, but we seem to be very sensitive to step
changes in a signal that have a broad spectral content.


On 07/13/2017 07:28 PM, John Reimer wrote:

> David,
>
> 5 msec strikes me as a very short crossfade time, and may be contributing to
> the problem. Could you repeat the test using perhaps 15 msec? Whatever the
> crossfade time, this in itself does nothing to address the out-of-phase
> matter which both Nick Appleton and Colin Pykett have mentioned on their
> websites, and which surely is the main reason for the artifacts anyway.
> Graham's silence on this aspect suggests to me that GO is still not really
> dealing with it, which doesn't surprise me, given the difficulties involved.
> Of course the failure of Linuxsampler to deliver release sounds at all is a
> separate matter.
>
> I might say in GO's favour that I have tried to detect these bad sounds by
> repeating certain notes on the GO version of Balzan, and it is only
> occasionally that I hear them, and then only on certain notes, as far as I
> could tell. So a real problem in theory doesn't always result in an unusable
> practical situation. And I haven't noticed GO people complaining about
> unsatisfactory release sounds.
>
> John Reimer
>
>
>
> --
> View this message in context: http://jorgan.999862.n4.nabble.com/sfz-files-for-Burea-choir-organ-tp4665459p4665461.html
> Sent from the jOrgan - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> jOrgan-user mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/jorgan-user
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

John Reimer
Administrator
David Gritter wrote
for the sfz tests I tried 5ms 10ms and 50ms, without any noticeble improvement in the fade in.
David,

Thank you for that further information. Anyway, it was a nice try on my part.   ;-)

It is true that our hearing is not sensitive to phase differences as such, but in this case the problem arises when there is a mismatch between the phase of the fading-out loop wave and that of the fading-in release sample. And if the mismatch is serious, we can certainly hear the effects in the digital summing which is occurring.

I am doubtless showing my ignorance in asking this question, but is there any easy way to convert a .sf2 file to a .gig file?
 
Of course, if the worst comes to the worst, is there any reason why jOrgan users who are committed to using Linux or to multi release samples do so by means of a jOrgan/GO set-up? There would certainly be work involved in making the jOrgan .wav files suitable for GO, but this could be done if people are prepared to spend the time. And if GO eventually provides panning from single samples, that will reduce the time required.

John Reimer
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

grahamg
In reply to this post by John Reimer
Hi John

On 7/14/17, John Reimer <[hidden email]> wrote:
> Graham's silence on this aspect suggests to me that GO is still not really
> dealing with it, which doesn't surprise me, given the difficulties
> involved.

I replied to this on Tue, Jun 27, 2017 at 7:52 AM:

"'m going to talk about real release wave files, not the ADSR releases
that most soundfonts use, those are merely fade outs of the sustain.

In regard to SF2, GIGA, GrandOrgue, and Hauptwerk, ALL rely on a fade
out of the sustain portion and a fade into the release portion. The
crossfade in GrandOrgue has been improved since Nick commented on it
three years ago. In GrandOrgue and Haupwerk the crossfade amount is
programmable per sample in the organ definition file. In Gigastudio it
is set in the release definition, and in Soundfonts the fade out is
programmed via ADSR values and the fade in is manually created in the
release wave file
.....
GrandOrgue and Hauptwerk use release markers, and so can have the
release portion as part of the same wave file as the attack and
sustain, or have it as a separate file. Giga has the release portion
as a separate file that plays on Note Off."

> Of course the failure of Linuxsampler to deliver release sounds at all is a
> separate matter.
This is most likely either a bug in the SFZ engine, or a piece of
information that is missing regarding the creation of release
definitions.

Kind regards,
GrahamG

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Graham Goode
Location: Johannesburg, South Africa
VPOs with jOrgan, LinuxSampler, Fluidsynth, SFZ, GrandOrgue, NI Kontakt, and Hauptwerk
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

grahamg
In reply to this post by David Gritter
Hi Dave,

Thanks for this! I hope to get some time in the next week to look over
your work and play around a little.

Kind regards,
GrahamG

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Graham Goode
Location: Johannesburg, South Africa
VPOs with jOrgan, LinuxSampler, Fluidsynth, SFZ, GrandOrgue, NI Kontakt, and Hauptwerk
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

John Reimer
Administrator
In reply to this post by grahamg
grahamg wrote
John Reimer wrote:
> Graham's silence on this aspect suggests to me that GO is still not really
> dealing with it, which doesn't surprise me, given the difficulties
> involved.

I replied to this on Tue, Jun 27, 2017
Graham,

I am well aware of your post on 27th June. But I did choose my words carefully: "Graham's silence ON THIS ASPECT". In context, I was discussing the random phase difference between the fading-out looped wave and the fading-in release section. Doing something about the length of the crossfade does absolutely nothing about the existence of the possible phase-clash. It can only reduce whatever unwanted sounds it may cause. The basic problem has not been addressed - merely reduced (if one is lucky!). I don't imagine that you can be unaware of this situation. Have you not read Colin Pykett's article, or Nick's blog?

Let me repeat - I am not trying to be critical about GO. I have already said that in my limited experience, with GO, I have not found the problem to be particularly audible. But merely optimising the length of the crossfade does not in fact remove the problem. It hopefully reduces it, and it does so with reasonable and acceptable success, it seems.

John Reimer
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

grahamg
Hi John,

My point is that I have not been silent. NONE of the sample engines
that we use deal with the phase clash of recorded releases. All they
do is reduce the possibility of it being heard by using the crossfade.
GG

On 7/14/17, John Reimer <[hidden email]> wrote:
> I am well aware of your post on 27th June. But I did choose my words
> carefully: "Graham's silence ON THIS ASPECT". In context, I was discussing
> the random phase difference between the fading-out looped wave and the
> fading-in release section. Doing something about the length of the
> crossfade
> does absolutely nothing about the existence of the possible phase-clash.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Graham Goode
Location: Johannesburg, South Africa
VPOs with jOrgan, LinuxSampler, Fluidsynth, SFZ, GrandOrgue, NI Kontakt, and Hauptwerk
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

John Reimer
Administrator
grahamg wrote
NONE of the sample engines that we use deal with the phase clash of recorded releases.
Graham,

Do you know if Hauptwerk deals with it in any thorough-going way?

John Reimer


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

grahamg
In reply to this post by David Gritter
Hi John,

"In regard to SF2, GIGA, GrandOrgue, and Hauptwerk, ALL rely on a fade out of the sustain portion and a fade into the release portion."

As far as I am aware, Hauptwerk only uses the cross fade, as already mentioned.

Kind regards,
GrahamG


On Jul 14, 2017 at 12:56 PM, <[hidden email]> wrote:

grahamg wrote
> NONE of the sample engines that we use deal with the phase clash of
> recorded releases.

Graham,

Do you know if Hauptwerk deals with it in any thorough-going way?

John Reimer






--
View this message in context: http://jorgan.999862.n4.nabble.com/sfz-files-for-Burea-choir-organ-tp4665459p4665468.html
Sent from the jOrgan - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Graham Goode
Location: Johannesburg, South Africa
VPOs with jOrgan, LinuxSampler, Fluidsynth, SFZ, GrandOrgue, NI Kontakt, and Hauptwerk
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

John Reimer
Administrator
grahamg wrote
 As far as I am aware, Hauptwerk only uses the cross fade, as already mentioned.
Graham,

Thanks. That means we are all in the same boat.

By the way, I apologize for saying that you had been silent on the specific issue of the phase-clash. In this present thread I believe my statement is correct, but you certainly acknowledged its existence in the thread which Aaron started back on 28th June, as I have just discovered by reading back through that thread. Aaron started all this by realising just by thinking  about it that there has to be a phase issue. Where he was wrong was in thinking that VPO's have "properly" addressed the issue. However, as I have already said, I think that in practice the matter goes largely unnoticed by most users, and so I have no problem with the current situation.

John Reimer
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

erikds
In reply to this post by David Gritter
Hello,

I am on Ubuntu 16.04 LTS.
I run into a problem in the early steps of your tutorial.

When running jwavbatpcm.jar i get following error:

> ~/Downloads/BureaChoir20160108$ java -jar jwavbatpcm.jar Gedackt4
> directory already there
> Exception in thread "main" java.lang.NullPointerException
>     at jwavbatpcm.Main.main(Main.java:69)

How can i solve this?

Thanks in advance for your reply.

All the best.

Erik.
------------------------------------
David Gritter wrote:
> I have uploaded the .sfz files, a linuxsampler .lscp file, a modified
> jorgan dispositions and instructions in a zip file at
>
> https://drive.google.com/file/d/0B8xSmCLj8oyWRmEwNjA3cXVSUFU/view?usp=sharing 
>
>
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

David Gritter
This error sequence happens when the java program can't find the
directory you specified in the command line.  In this case I think its
because you specified Gedackt4 instead of the actual directory name
which is Gedekt4

On 07/14/2017 09:46 AM, Erik De Schrijver wrote:

> Hello,
>
> I am on Ubuntu 16.04 LTS.
> I run into a problem in the early steps of your tutorial.
>
> When running jwavbatpcm.jar i get following error:
>
>> ~/Downloads/BureaChoir20160108$ java -jar jwavbatpcm.jar Gedackt4
>> directory already there
>> Exception in thread "main" java.lang.NullPointerException
>>     at jwavbatpcm.Main.main(Main.java:69)
>
> How can i solve this?
>
> Thanks in advance for your reply.
>
> All the best.
>
> Erik.
> ------------------------------------
> David Gritter wrote:
>> I have uploaded the .sfz files, a linuxsampler .lscp file, a modified
>> jorgan dispositions and instructions in a zip file at
>>
>> https://drive.google.com/file/d/0B8xSmCLj8oyWRmEwNjA3cXVSUFU/view?usp=sharing 
>>
>>
>>
>
>
> ------------------------------------------------------------------------------
>
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> jOrgan-user mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/jorgan-user
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

erikds
Thanks for the quick reply.
You are of course right.
But now i get a different error message:

io exception encountered: lava.io.FileFormatException: RIFF tag missing

A new directory is created Gedakt4rel but as expected no files are
written to it.

Can you help with this?

All the best.

Erik.
-------------------------------------------------------

David Gritter wrote:

> This error sequence happens when the java program can't find the
> directory you specified in the command line.  In this case I think its
> because you specified Gedackt4 instead of the actual directory name
> which is Gedekt4
>
> On 07/14/2017 09:46 AM, Erik De Schrijver wrote:
>> Hello,
>>
>> I am on Ubuntu 16.04 LTS.
>> I run into a problem in the early steps of your tutorial.
>>
>> When running jwavbatpcm.jar i get following error:
>>
>>> ~/Downloads/BureaChoir20160108$ java -jar jwavbatpcm.jar Gedackt4
>>> directory already there
>>> Exception in thread "main" java.lang.NullPointerException
>>>     at jwavbatpcm.Main.main(Main.java:69)
>>
>> How can i solve this?
>>
>> Thanks in advance for your reply.
>>
>> All the best.
>>
>> Erik.
>> ------------------------------------
>> David Gritter wrote:
>>> I have uploaded the .sfz files, a linuxsampler .lscp file, a
>>> modified jorgan dispositions and instructions in a zip file at
>>>
>>> https://drive.google.com/file/d/0B8xSmCLj8oyWRmEwNjA3cXVSUFU/view?usp=sharing 
>>>
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>>
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> jOrgan-user mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/jorgan-user
>>
>
>
> ------------------------------------------------------------------------------
>
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> jOrgan-user mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/jorgan-user
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

Graham Wykes
In reply to this post by grahamg
I find this discussion a little curious so I need to check in to see if I can reconcile my understanding of the situation regarding release samples.

1.  Since we are insensitive to phase when relative phases are not changing, then there is no audible phase problem during the loop section or once the release sample is the only thing playing, so any problem lies only in the crossfade region.

2.  In the cross fade region, there could be audible phase shift occurring depending on the phase relationships between harmonics in the looped vs release sections. This will result in varying cancellation and/or enhancement of the amplitude of harmonics which also changes the timbre of the sound.

3.  Since the loop and the release are driven from a sample of the pipe, the phase relationships would not change in the transition from steady-state to release unless it was in the nature of the pipe to produce such changes.

4.  Given the psychoacoustic masking that would take place early in the cross fade (when the loop sample is louder) and late (when the release is louder) phase shifting would only be audible in the middle of the crossfade when the two samples are closer to each other in volume. i.e. perhaps for only a few milliseconds and also perhaps reliant on the shapes of the crossfade envelopes.


So, if the sample set producer was careful to keep the phase relationship between the looped and release sections as close as possible to being synchronised, and the sound engine maintained sample synchronisation between the looped and release samples, then there is no significant phase change to occur.  A good sample set would have its release samples phases adjusted for best synchronisation to the loop section phases.

How am I doing here?

Cheers
GrahamW





> On 14 Jul 2017, at 6:06 pm, Graham Goode <[hidden email]> wrote:
>
> Hi John,
>
> My point is that I have not been silent. NONE of the sample engines
> that we use deal with the phase clash of recorded releases. All they
> do is reduce the possibility of it being heard by using the crossfade.
> GG
>
> On 7/14/17, John Reimer <[hidden email]> wrote:
>> I am well aware of your post on 27th June. But I did choose my words
>> carefully: "Graham's silence ON THIS ASPECT". In context, I was discussing
>> the random phase difference between the fading-out looped wave and the
>> fading-in release section. Doing something about the length of the
>> crossfade
>> does absolutely nothing about the existence of the possible phase-clash.
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> jOrgan-user mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/jorgan-user


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: . sfz files for Burea choir organ

Aaron Laws
On Sat, Jul 15, 2017 at 7:57 AM, Graham Wykes <[hidden email]> wrote:
I find this discussion a little curious so I need to check in to see if I can reconcile my understanding of the situation regarding release samples.

1.  Since we are insensitive to phase when relative phases are not changing, then there is no audible phase problem during the loop section or once the release sample is the only thing playing, so any problem lies only in the crossfade region.

2.  In the cross fade region, there could be audible phase shift occurring depending on the phase relationships between harmonics in the looped vs release sections. This will result in varying cancellation and/or enhancement of the amplitude of harmonics which also changes the timbre of the sound.

3.  Since the loop and the release are driven from a sample of the pipe, the phase relationships would not change in the transition from steady-state to release unless it was in the nature of the pipe to produce such changes.

4.  Given the psychoacoustic masking that would take place early in the cross fade (when the loop sample is louder) and late (when the release is louder) phase shifting would only be audible in the middle of the crossfade when the two samples are closer to each other in volume. i.e. perhaps for only a few milliseconds and also perhaps reliant on the shapes of the crossfade envelopes.


So, if the sample set producer was careful to keep the phase relationship between the looped and release sections as close as possible to being synchronised, and the sound engine maintained sample synchronisation between the looped and release samples, then there is no significant phase change to occur.  A good sample set would have its release samples phases adjusted for best synchronisation to the loop section phases.

How am I doing here?

Cheers
GrahamW

This sounds about right with the following caveats:

The phase will nearly certainly be different between loop and release. If they were to accidentally line up perfectly, it would be nearly miraculous. In that regard, a phase shift is present, and, to the extent that the human ear can perceive such a phase shift, audible. The time period during which that phase shift commences is, as you say, a few milliseconds (5-15?), therefore not audible. Psychoacoustically, the phase will change instantly, so I don't think there is any need to think about the quality of the sound during the crossfade. Naturally, I could be wrong.

"if the sample set producer was careful to keep the phase relationship between the looped an drelease sections as close as possible to being synchronized, and the sound engine maintained sample synchronisation between the looped and release samples..."

I'm not sure what you mean by sample synchronization. Perhaps either 1) each sample is equidistant from neighbor samples (the sample rate hasn't changed), or 2) the first release sample doesn't play until after the last loop sample is done. 1 is trivial and taken for granted, and 2 practically impossible. The release samples begin playing right when the release occurs (not counting any sample buffering), no matter where in the loop sample we are. That is: the sample set producer has no way to control where (in phase) the loop sample is when the release sample is introduced.

A bit of a tangent: the sound engine does have control over this, but it sounds like extant sound engines choose to abdicate such control in favor of a simpler, naive algorithm: namely, crossfade with no time domain manipulation. I'm curious if this couldn't be handled better by delaying the release sample by a few samples to wait for the loop sample to do a zero crossing in the correct direction. That experiment may take a while to execute, and doesn't guarantee satisfactory results. This more complicated algorithm has the remote possibility of waiting an unacceptable amount of time to play the release sample, and the somewhat more likely possibility of introducing a phase shift anyway (in the case of multiple zero crossings per period). I would expect much less phase shifts using this method than crossfade (where phase shift is inevitable), but I don't think I could be sure until it is implemented. As a bonus, I expect the likelihood of "click" or artifacts is very low without crossfade.

In Christ,
Aaron Laws

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Release Samples in Soundfonts, not SFZ

jbeach2646
In reply to this post by Graham Wykes
Graham W. said, "So, if the sample set producer was careful to keep the
phase relationship between the looped and release sections as close as
possible to being synchronised, and the sound engine maintained sample
synchronisation between the looped and release samples, then there is no
significant phase change to occur.  A good sample set would have its release
samples phases adjusted for best synchronisation to the loop section
phases."

Isn't the idea of "keep(ing) the phase relationship between the looped and
release sections as close as possible to being synchronized....." really a
near impossibility given the fact that the playback of a looped sample,
whether auto-looped or with fixed, start-and-end points, will cease at the
specific point-in-time of the release of the key which, then, triggers the
playback of the release transient?

While I was concerned about the issue of phase, and, more precisely or
correctly, the issue of the exact end-point of the looped portion of the
steady-state, and the start point of the release sample, I realized that it
is key release which determines the point in the looped portion of the wave
file at which its cessation occurs.  This is not precisely determinable,
even with a fixed loop, to say nothing of an auto-looped, steady-state
sample.  I can not conceive of any state-of-the electronic art, apart from
real pipes,  which would make this a possibility.  We are dealing with two
parts.  The steady-state sample has the need for seamless looping.  The
release sample has looped silence which plays during the variable length of
the playback of the looped steady-state sample.  The former is a variable.
The latter is a constant.

Since the onset of this discussion concerning release samples and, in
particular, John R.'s assessment of the problem as well as the benefits to
be derived from release samples, I (who use synthesized sounds exclusively)
have redone all of the flute and diapason stops and many of the reed and
string stops in several of my largest soundfonts.  Previously, I simply
discarded all
the recorded portion after four seconds, including the natural release
tails, and used the release parameters for specific footages, set in the
instrument pool of the soundfont editor.  I need to say that I use Creative
Sound with my additive synth in jOrgan and that I do not use any reverb such
as the fluidsynth or Polyphone reverbs.  So the release tails are formed by
the release of the key and the gradual decay of the sound over the course
of, approximately, 7/10ths to 1 second, after which there is edited silence.
The release wave files are the ends of the recorded steady-state, looped
wave files.   Any subsequent reverb used in jOrgan or Creative Sound is
Impulse Response or electronic and artificial.



What I did, --a compromise---taking into account John R.'s statement that he
was content with the way things are with respect to ADSR parameter settings
in soundfont editors, and Graham G.'s observation that "GrandOrgue and
Hauptwerk use release markers, and so can have the release portion as part
of the same wave file as the attack and sustain, or have it as a separate
file. Giga has the release portion as a separate file that plays on Note
Off,"---  was to set the release parameter of the steady-state, looped
sample as usual for a soundfont instrument (1.6 for 16' flue, .8 for 8'
flue, etc.) which does not have release samples, then, globally, in the
release-sample instrument and preset of the soundfont, set the release
parameter for the specific footage of the stop.

In editing the release samples in Audacity, I "cut" the entire release tail
portion along with approximately a half-second of steady-state tone portion
before the release.  I, then, use the Effects>Amplify, to reduce to silence,
the amplitude of the portion of the steady-state tone, leaving 4 to 6
complete cycles of the full-amplitude portion of the steady-state tone just
before
the point of the key release which triggers decay.  I "cut" the silence
portion to about 1/8th inch in length before the start of the 4 to 6 cycles
of the full-amplitude portion before the release.    In Polyphone, Samples,
I set the volume of the steady-state wave file relative to what it would,
comparably, be in a pipe organ and I set the volume of the release at 10%.
I auto-loop the steady-state wave file and I set the looped silence of the
release wave file, start=0, end=10.   I realize that this is "rote," a kind
of arbitrary which recognizes that the release portion, while adding to the
overall quality of the sound, is, in fact, a transient, which, without the
steady-state, would be meaningless, a pizzicato string sound, indiscernible
as organ-tone timber.  Therefore, I have concluded that the particulars of
phase relationship are inconsequential/inaudible using this technique.  The
combination of both ADSR parameter settings, identical for Attack, in the
steady state Instrument and the release instrument effectively eliminate any
noticeable transition from the steady-state instrument to the release
instrument.

I do, in fact, notice a significantly improved sound output which makes the
wholly-synthesized, virtual organ stops more realistic and emulative of real
pipes.   The benefits outweigh any
negative qualities.  I don't find that Fluidsynth has any problem in dealing
with the reconstructed soundfonts with release samples.

John Beach



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Loading...