SonicBirth v2 alpha

Official support for: sonicbirth.sourceforge.net
Post Reply New Topic
RELATED
PRODUCTS

Post

No misunderstanding. Really think about what a negative delay would mean. It'd mean knowing a sample that hasn't been created or sent to the plugin yet. It simply can't happen, and that's why you get the glitch sound. Makira could add in SonicBirth2 to clamp the input of a delay unit to >= 0, but that would take another calculation for every delay unit, and I think Makira's goal with SonicBirth2 is to make an environment that can keep up with pure C++ coded plugins, speed wise at least. As a workaround, why not set your first delay to 15ms, then modulate by 15ms? You would have a 15ms delay instead of 5ms of course, but if plugin delay compensation is added, set the plugin delay compensation to 15ms, and you have 0ms delay from input to output. If you just want to get rid of the glitchy sound and don't care that it's not actually getting a -10ms delay out of the delay unit, then clamp the input of the delay to >=0.

SonicBirth works sample wise. A sample comes in, is calculated, and a sample goes out. Or with soft synths, the DAW asks for sample #1, your plugin makes it, and sends it back. You can use delay units to remember previous samples, but there's no way to grab a sample even 1 sample in advance without plugin delay compensation. Plugin delay compensation allows your plugin to receive samples before the DAW's playback sample. This is what you'd need to have a pseudo-negative delay. And unfortunately, isn't available in SonicBirth2 at the moment.

Post

dtpietrzak wrote:No misunderstanding. Really think about what a negative delay would mean. It'd mean knowing a sample that hasn't been created or sent to the plugin yet. It simply can't happen, and that's why you get the glitch sound. Makira could add in SonicBirth2 to clamp the input of a delay unit to >= 0, but that would take another calculation for every delay unit, and I think Makira's goal with SonicBirth2 is to make an environment that can keep up with pure C++ coded plugins, speed wise at least. As a workaround, why not set your first delay to 15ms, then modulate by 15ms? You would have a 15ms delay instead of 5ms of course, but if plugin delay compensation is added, set the plugin delay compensation to 15ms, and you have 0ms delay from input to output. If you just want to get rid of the glitchy sound and don't care that it's not actually getting a -10ms delay out of the delay unit, then clamp the input of the delay to >=0.

SonicBirth works sample wise. A sample comes in, is calculated, and a sample goes out. Or with soft synths, the DAW asks for sample #1, your plugin makes it, and sends it back. You can use delay units to remember previous samples, but there's no way to grab a sample even 1 sample in advance without plugin delay compensation. Plugin delay compensation allows your plugin to receive samples before the DAW's playback sample. This is what you'd need to have a pseudo-negative delay. And unfortunately, isn't available in SonicBirth2 at the moment.
I'm sorry, but you've misunderstood.

I never mentioned negative delay.

My point had nothing to do with "Negative delay".

I said if the delay input receives a value <0 it emits a horrible noise.

You might actually test this for yourself.

Post

The current build has expired. But I've used many delays with the signal input <0 & >0 all the time. I haven't tried making the delay <0. I've made delay and reverb plugins, and my only problem was some resource problem when the reverb has upwards of 100 delay units. So you're saying when the delay unit's signal input is <0? Because I haven't had that problem. Maybe try deleting Sonic Birth and downloading it again. Good luck. Hopefully makira can update the expiration period soon.

Post

Dear all,

I downloaded and tried to run Sonic Birth Alpha but a message appears stating that "This alpha build has expired"

I really need to experiment with this software. Please advise…

Thanking you in advance,

Antonakis Christoforides

Post

Like you, we are waiting for the developper to release a new version.

Post

Thanks!

Ask, and it shall be given you...

Post

New build coming soon.

As for the delay element: for speed, parameters are not sanitized.

My guideline when creating modules is roughly:
- whatever input is given, it shouldn't crash.
- it shouldn't sanitize input if speed can be increased. It's your job to either sanitize the input to sane values, or ensure your patch can't go outside sane values.
- if the input is not sane, output is undefined.

Back to the delay element: either offset the value so it oscillates above 0, or just force it to stay at 0 or above using maximum(0, input).

Post

makira wrote:New build coming soon.
great!!! any news on the Windows 32/64 bit side of the moon?
bests

Post

makira, with the delay thing, you said it so much better. lol

Anyway, if you could, for the next release... let the user set the subtype? If I remember right, that's the unique 4 char code each AU has. As I realllyyy need to have more than one plug-in running in logic at a time. One plugin idea needs one on each track, then a different plugin on the master bus / auxes. I've looked around and I'm pretty sure I can't change it from the .component after compile.

If it's a lot of hoops for you to jump through or if you have some secret reason not to implement it until the final release than I understand and I'll continue to wait.

As always, thanks for your work. (y)

Post

The unique id is randomized every time you create a new document, so I assume you've been duplicating the same one.

In any case, I added a 'Edit Unique Id' button. There's 128 random bytes. The first 4 ones are used for Audio Unit. The first 16 are used for VST. The rest is currently unused.

Pushed back the expiration date.

New build on sonicbirth.com.

Post

I wasn't duplicating the same one. Even after exiting the application and reopening it, I have the same ID. Different document and all. I'm thinking maybe the random function you used might be suedo random and generating the same first ID every time. Since there's no "new document" option, I can't see if it'll change after making a new one. Just thought I'd let you know.

I changed the first character with the "Edit Unique ID" that you just added, and I can now have two plug-ins in logic.

Thank you again brother!

Post

dtpietrzak wrote:I wasn't duplicating the same one. Even after exiting the application and reopening it, I have the same ID. Different document and all. I'm thinking maybe the random function you used might be suedo random and generating the same first ID every time. Since there's no "new document" option, I can't see if it'll change after making a new one. Just thought I'd let you know.
Good catch, I wasn't seeding the pseudo-random generator. The fix will be included in the next release.

Post

I've just downloaded this new beta. But i can't seem to find the option for embeding existing AU/Vsts in, like you could do with V1. Will this feature be present?

Am i missing something?

kind regards.

Post

It's not a feature of version 2: the plug-ins are now written in C++, thus making that feature impossible.

Post

Really alpha, but here's a build for Windows:

https://www.dropbox.com/s/cty3okbaq4ksx ... 7.zip?dl=0

Let me know if it launches/crashes (along with the version of Windows you use).

Exporting is not yet implemented. Only exporting to Windows VST is planned for the Windows version. Package size is a bit big, I haven't had time to trim the dependencies.

Have fun!

Post Reply

Return to “SonicBirth”