SonicBirth v2 alpha

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

Post

leannagia wrote:The au plugins have a problem that every time I reopen the project, the values are saved but it plays the default values of the plugin. To make it work again I need to slightly move each fader. With the vst version it happens every time I deactivate and reactivate the plugin. I checked it with ableton live, cubase and garageband and got the same results.
+1

I thought maybe that it was a Nuendo thing (since it happens sometimes with other plug-ins), but, yes, values are remembered but not active.

Post

makira wrote:
zmix wrote:Is a "feedback" element forthcoming or is thee a new way to implement feedback?
It's called 'z-1' now.
Thanks. I had tried to use the Z-1 in the previous build, and it wouldn't allow a connection to be made back to the input node of a delay module. It's working fine now..!

Post

Kewl wrote:
leannagia wrote:The au plugins have a problem that every time I reopen the project, the values are saved but it plays the default values of the plugin. To make it work again I need to slightly move each fader. With the vst version it happens every time I deactivate and reactivate the plugin. I checked it with ableton live, cubase and garageband and got the same results.
+1

I thought maybe that it was a Nuendo thing (since it happens sometimes with other plug-ins), but, yes, values are remembered but not active.

Try this:
https://dl.dropbox.com/s/kxq6avda82ik97 ... 2.zip?dl=1

- state should be fixed for vst & au
- added unary minus operator
- removes weird characters in the audiounit's name

cheers!

Post

Bad Crash when I attempt to connect the output node of this SB2 algo:

http://www.zmix.net/SB2/DiffuseDelay.sb2au


Process: SonicBirth [4362]
Path: /Applications/SonicBirth2.app/Contents/MacOS/SonicBirth
Identifier: com.metakine.SonicBirth
Version: 1.0 (1)
Code Type: X86-64 (Native)
Parent Process: launchd [101]

Date/Time: 2012-11-17 01:26:54.818 -0500
OS Version: Mac OS X 10.6.8 (10K549)
Report Version: 6

Interval Since Last Report: 197314 sec
Crashes Since Last Report: 6
Per-App Interval Since Last Report: 9599 sec
Per-App Crashes Since Last Report: 6
Anonymous UUID: F6C847A2-A108-48A1-8BC4-892C3836620B

Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 com.metakine.SonicBirth 0x000000010000c8f0 llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::OptionInfo, false>::grow(unsigned long) + 6432
1 com.metakine.SonicBirth 0x000000010000c8a7 llvm::SmallVectorTemplateBase<llvm::cl::parser<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::OptionInfo, false>::grow(unsigned long) + 6359
2 com.metakine.SonicBirth 0x000000010077cbdd SBString::append(SBString*) + 987
3 com.metakine.SonicBirth 0x00000001007756be std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> >::_M_insert_aux(__gnu_cxx::__normal_iterator<llvm::object::macho::RelocationEntry*, std::vector<llvm::object::macho::RelocationEntry, std::allocator<llvm::object::macho::RelocationEntry> > >, llvm::object::macho::RelocationEntry const&) + 10046
4 com.metakine.SonicBirth 0x0000000100014984 llvm::SmallVectorTemplateBase<llvm::cl::parser<AsmWriterFlavorTy>::OptionInfo, false>::grow(unsigned long) + 23844
5 com.metakine.SonicBirth 0x0000000100012748 llvm::SmallVectorTemplateBase<llvm::cl::parser<AsmWriterFlavorTy>::OptionInfo, false>::grow(unsigned long) + 15080
6 com.apple.AppKit 0x00007fff86baf431 -[NSWindow sendEvent:] + 5547
7 com.apple.AppKit 0x00007fff86ae4afa -[NSApplication sendEvent:] + 4719
8 com.apple.AppKit 0x00007fff86a7b6de -[NSApplication run] + 474
9 com.apple.AppKit 0x00007fff86a743b0 NSApplicationMain + 364
10 com.metakine.SonicBirth 0x000000010000f09c llvm::SmallVectorTemplateBase<llvm::cl::parser<AsmWriterFlavorTy>::OptionInfo, false>::grow(unsigned long) + 1084

Post

zmix wrote:Bad Crash when I attempt to connect the output node of this SB2 algo:

http://www.zmix.net/SB2/DiffuseDelay.sb2au
I get "404 - File or directory not found."

Post

makira wrote:
zmix wrote:Bad Crash when I attempt to connect the output node of this SB2 algo:

http://www.zmix.net/SB2/DiffuseDelay.sb2au
I get "404 - File or directory not found."
Sorry, I forgot that it needed to be zipped... (apparently it's a folder?)

http://www.zmix.net/SB2/DiffuseDelay.sb2au.zip

It's a very simple 0-1 second delay with a 10ms allpass in the feedback loop.

If I disconnect the "z-1" element in the allpass and connect every other node, it seems OK, but the program will crash consistently when I reconnect that "z-1" element.
Last edited by zmix on Tue Nov 20, 2012 4:09 pm, edited 1 time in total.

Post

With the new SB, what is better in terms of CPU usage, once compiled in AU/VST:

i0*pi/180

i0*(pi/180)

i0*0.01745329251994

Also in equation, using neg(i0) results in a red module.

Post

Kewl wrote:With the new SB, what is better in terms of CPU usage, once compiled in AU/VST:

i0*pi/180

i0*(pi/180)

i0*0.01745329251994

Also in equation, using neg(i0) results in a red module.
i0*pi/180 is parsed as (i0*pi)/180, which does not give the exact same result as i0*(pi/180) because of rounding errors from the limited precision of floating point numbers between operations and hence the compiler won't optimize it away. You'll end up with both a multiplication and division.

As for i0*(pi/180) versus i0*0.01745329251994, you're better with i0*(pi/180), since it's more readable, and the compiler will precalculate the value to the full precision anyway before generating code. In both cases you'll have a single multiplication.

As for neg(i0), just use -i0.

Post

Thanks!

And by "i0", I meant "i1". i0 is of course a remnant of SB1. Anyway, i1 is more natural than i0.

Post

And I guess that i1*(1/1.1547) is better than i1/1.1547 ?

Post

Kewl wrote:And I guess that i1*(1/1.1547) is better than i1/1.1547 ?
You can use the 'Do speed test' menu item from the Debug menu to verify. (Make sure the input port of the equation module is connected to the input of the audiounit otherwise the compiler will propagate zero through it and optimize everything away.)

At the moment, a single division is ~3200x real-time on my machine, versus ~22000x real-time for a single multiplication.

Please note all these micro-optiomization may change in the future as I may enabled optimization passes that'll do thse kinds of things automatically.

Post

Thanks. atan (and other functions) next?

Post

Kewl wrote:Thanks. atan (and other functions) next?
Will do, in the next alpha.

Post

Yé !

Post

zmix wrote:Bad Crash when I attempt to connect the output node of this SB2 algo:

http://www.zmix.net/SB2/DiffuseDelay.sb2au
Fixed:
https://dl.dropbox.com/s/fdr80mhcfv6lbp ... u.zip?dl=1

Basically, the z-1 element was not connected in a way that should be allowed.

I'm in a hurry so I'll explain in more details later. I'll probably have to rething the whole feedback mechanism.

Cheers!

Post Reply

Return to “SonicBirth”