Git Product home page Git Product logo

Comments (12)

davidhealey avatar davidhealey commented on May 18, 2024 2

It's much better but it's still not buttery smooth. I've added a second audio file to the dropbox folder. It's made from the same ardour session as the previous one, the only thing difference is the build of sfizz (and I fixed the volume opcode).

from sfizz.

alcomposer avatar alcomposer commented on May 18, 2024 1

@davidhealey VPO = Virtual Playing Orcehstra: http://virtualplaying.com/virtual-playing-orchestra/

from sfizz.

paulfd avatar paulfd commented on May 18, 2024 1

There's a potential solution in 864fe57

I'm not super satisfied from a technical point of view. Just to give context, at least one issue was that when the CC event arrived at a small delay in the block, there would be hardly any smoothing made for the value---the envelopes are linearly interpolated otherwise. After thinking about it and looking around it seems that people mostly add a fixed ramp time, sforzando included. It also seems to me that this ramp should be a function of the block size, otherwise you will still have somewhat sharp edges in the envelopes and thus strange modulation in the signal. I've settled for block size / 2 in the commit, which is a bit high but is smoothest for my ears.

Another approach would be to lowpass-filter the envelope, which is also implied by the _smoothcc opcodes (https://sfzformat.com/modulations/smoothccN). A generic way to tackle this could then be to do coarse ramping by default and count on people to use the smoothing possibilities to clean it up if necessary.

In light of this, I think I should overhaul a bit my envelopes 🙂 Anyway for now tell me if it feels better like that!

from sfizz.

davidhealey avatar davidhealey commented on May 18, 2024

+1 for this. And make it smooth (Aria's implementation is horribly unusable, or I'm doing it wrong).

from sfizz.

michaelwillis avatar michaelwillis commented on May 18, 2024

I made an attempt at implementing this in pull request #26.

from sfizz.

paulfd avatar paulfd commented on May 18, 2024

@davidhealey as Michael implemented (and as I would have done it) there is a linear smoothing of the crossfade within a block. There are a couple different options (e.g. multiplicative or with a completely custom shape). If that's not rendering well enough for you we can try to tweak it 🙂

from sfizz.

davidhealey avatar davidhealey commented on May 18, 2024

Excellent, I'll test it out

from sfizz.

davidhealey avatar davidhealey commented on May 18, 2024

I'm finding the crossfade choppy. I've tried both .flac and .wav files and found it made no difference. I did select to use a fixed buffer in Carla though and that improved it a little bit. It could of course be me doing something wrong with my SFZ opcodes.

I've uploaded the SFZ along with an mp3 of the output I get - https://www.dropbox.com/sh/nsbaq65jnkd98zq/AABTm8tK5zoPz7MOXJO8x6BTa?dl=0

from sfizz.

alcomposer avatar alcomposer commented on May 18, 2024

@davidhealey In the SFZ file there is no space in lines 22-34 inclusively- between:
xfout_hiccc1=127volume=-3

It should be:
xfout_hicc1=127 volume=-3

Sfizz reports: [INFO]: [sfizz] Unknown opcodes: 127volume

However I can confirm that in Ardour the crossfade is choppy.

from sfizz.

michaelwillis avatar michaelwillis commented on May 18, 2024

I tested this a bit more thoroughly today. Crossfading in VPO works, but has a little bit of crackle:

https://www.dropbox.com/s/sclkx4h2kqiabjk/vpo_sfizz_crossfade_session_2020-01-19_22.40.mp3

After that I tried switching it to a multiplicative envelop, but with that, the audio cut out entirely after a few moments... @paulfd, any ideas?

from sfizz.

davidhealey avatar davidhealey commented on May 18, 2024

@davidhealey In the SFZ file there is no space in lines 22-34 inclusively- between:

Oh good catch! I assume it was still working with xfout but was ignoring the volume opcode.

I tested this a bit more thoroughly today. Crossfading in VPO works, but has a little bit of crackle:

What's VPO?

from sfizz.

michaelwillis avatar michaelwillis commented on May 18, 2024

The latest is working well for me. It turns out that some of the crackle I experienced was because I had the gain too high and it clipped the signal at the top of the crescendo.

@davidhealey How well does the latest update work for you?

from sfizz.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.