Comments (19)
Thanks, this is indeed great news :)
Yes, the crossfade calculation are not dynamic right now and they're only checked when the note start. After reading around, this is indeed not what's expected so I'll look into it!
from sfizz.
Memory corruption could well be one reason for part of these problems, especially if it happens with freewheeling. For now its appearance feels extremely random for me, and I haven't yet managed to point out precisely what could be happening. I will investigate the session and try to reproduce as much as I can, but feel free to start a new issue for these too.
Thanks for looking and stress testing all of these! 🙂
from sfizz.
I just gave sfizz+vpo a more thorough test. From what I can tell, SFizz now performs the VPO instruments as well as LinuxSampler does, which is great news.
There is one minor bug that I also found in LinuxSampler: The instruments with cross-faded dynamics don't work. I think the problem is that VPO has those instruments set up such that the mod wheel (CC1) controls both volume and cross-fading multiple samples. See this page for more details about the cross-fading feature: http://virtualplaying.com/dynamic-cross-faded-brass/
Edit: To clarify, when I tried to test cross-fading, I adjusted the mod-wheel controller while playing a sustained note. The volume adjusted accordingly, but the cross fade didn't happen.
from sfizz.
@paulfd I made a "stress test" of sorts, using an old project that I made a while back previously using LinuxSampler. I found that with dozens of instances of sfizz, I get all kinds of snap crackle pop in the output, on both my Mac and my Linux machine. I don't think that they are xruns, since DSP load remains fairly reasonable. I even get them when I export my Ardour session to an audio file, which shouldn't ever xrun since it doesn't have to be realtime.
If it helps, here's my Ardour session:
https://www.dropbox.com/s/njkppe16evuus3h/Pumpernickel%20and%20Periwinkle.zip?dl=0
The requirements are sfizz, dragonfly reverb, virtual playing orchestra extracted at /opt/
, and the Little Lizard Piano similarly extracted at /opt/
(and in actuality, if you can't find the little lizard piano, the bugs still reproduce without it).
I'm guessing that there is some kind of memory corruption problem, since I experienced similar bugs while developing Dragonfly Reverb. In fact, I initially thought that some old bugs in Dragonfly were back with a vengeance, but I was able to reproduce the bug even after deleting my reverb busses.
from sfizz.
Not very good, especially for such a session. This is a good stress test :) The strangest thing is that my desktop (which is a much better machine) can reproduce the errors and they seem to originate from the background file loader, so at least I have one place where I can see the issues.
I will try to get to the bottom of this if work allows in the weekend !
from sfizz.
I pinpointed alot of possible issues and solved them (hopefully). On my machines your session plays well now, if you're willing to give a try to the latest HEAD !
from sfizz.
Thanks for the report I will try these!
from sfizz.
To clarify, when I say "crash", I mean it caused Ardour to quit with a segfault. Thanks for taking a look!
from sfizz.
Hi Michael, I looked into it a bit and pushed in some changes (try e.g. 3608b31). Not guaranteeing that this whole sfz bank is perfect but it should be a bit better. I'll leave this open, don't hesitate to post back all the weird behavior you see so I can track it down 😃
from sfizz.
Hey @paulfd, thanks for taking a look at this. I'll build the latest and let you know how it goes. Admittedly, VPO is a large and very elaborate collection of virtual instruments, so I'll likely find some other weirdness here and there. I'll report more thorough results as I work on overhauling my orchestra template to use sfizz.
from sfizz.
@michaelwillis There are a series of bugs known on the Sfizz Discord as '40db', mainly as at times Sfizz can output the maximum output in Ardour etc.
This issue can be accompanied by:
- 40db bursts
- crackles & pops
- Sfizz only playing back the pre-cache part of a note (at this point only I have experienced this phenomenon)
I would suggest to start a new issue for these bugs.
If you can also check, I find that I can make Sfizz act strange (as above) if I stop Ardour's audio engine, and restart. Also try changing the buffer size when restarting.
from sfizz.
@alcomposer There's a Discord? I'll have to jump in.
@paulfd What's freewheeling? When you say that this appears very random, do you mean specifically in my Ardour session, or generally the 40db issue that @alcomposer mentioned?
from sfizz.
Freewheeling is rendering, i.e. not synchronized on periodic callbacks. I tried your session on my laptop with an address-sanitizer build and it worked without glitches (with Ardour 6) but I will continue to investigate!
This 40db issue seems random indeed, not specifically your session.
from sfizz.
Oh! So freewheeling is what I was describing as "not realtime". It's good to hear that you got it to render without issues using the address sanitizer build, which at least indicates that it should work once the bugs are fixed. Just curious, how well does that build perform for realtime?
from sfizz.
Thanks @paulfd! I'll see what I can do about creating a much more simple Ardour session that reproduces this, it might be easier to identify the bug(s) than with a big bruiser session like this one.
from sfizz.
@paulfd Great work! I tried it again briefly and didn't experience any corruption issues. I'll try to give it a more thorough test over the next few days.
from sfizz.
@alcomposer @paulfd How do I get into the Discord channel? (I'm a total noob at Discord).
from sfizz.
https://discord.gg/3ArE9Mw here, there is also a #sfztools IRC channel on freenode
from sfizz.
I'm closing this because VPO is now mostly usable with sfizz.
from sfizz.
Related Issues (20)
- The wrong number of frames is returned by the st_audiofile function
- Crash if a midi note is recieved while the SFZ file is reloaded HOT 19
- ⚠️ Feature requests | non-bug issues in Discussions ⚠️
- bug when off_by is involved and the two midi notes are played exactly at the same time HOT 4
- Transpose vs tune HOT 4
- RAM usage : Samples are continuously loaded in RAM while playing HOT 2
- Error building Arch AUR makepkg HOT 3
- Note-On performance issue
- Support `lotimer` / `hitimer` HOT 4
- Tests fails with the latest Abseil HOT 7
- Invalid output when the number of output is above 1 and using effects
- Compatibility with catch2 >= 3
- Issues when Note on/off at the maximum delay HOT 2
- Ardour freezes for a long time after stopping playback
- All voices are always active after sustain is released HOT 2
- overriding default_path for each sfz mapping HOT 2
- Segfault during use of `sfizz_render` HOT 2
- ampeg_delay make the note play indefinitely HOT 1
- error: no member named 'StrCat' in namespace 'absl' HOT 11
- [question] Is LV2 support present? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sfizz.