Coder Social home page Coder Social logo

befaco's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

befaco's Issues

Slew Limiter: cv input sensitivity

i find the cv inputs on the slew limiter kind of hard to work with as they only operate so well in a [0..1]V range.
is that intended behavior?
anyways, i scaled down the inputs on my local clone and it feels much more usable that way.

Rampage exponential input inverted

I don´t have the rampage but the serge DUSG. theCV inputs in rampage are inverted so sending a 1v/oct signal to the exp input it goes lower in frequency as you go up in the keyboard. Using an inverter in between as a workaround but I think the CV inputs must be reversed..

SpringReverb: call of overloaded 'min(size_t&, size_t)' is ambiguous

maybe related to VCVRack/Rack@5bc9a69

g++ -Wsuggest-override -std=c++11 -I./pffft -DPFFFT_SIMD_DISABLE -fPIC -I../../include -I../../dep/include -DSLUG=Befaco -DVERSION=0.6.0 -MMD -MP -g -O3 -march=nocona -ffast-math -fno-finite-math-only -Wall -Wextra -Wno-unused-parameter -DARCH_WIN -D_USE_MATH_DEFINES -c -o build/src/SpringReverb.cpp.o src/SpringReverb.cpp
src/SpringReverb.cpp: In member function 'void RealTimeConvolver::setKernel(const float*, size_t)':
src/SpringReverb.cpp:89:52: error: call of overloaded 'min(size_t&, size_t)' is ambiguous
    size_t len = min(blockSize, length - i*blockSize);
                                                    ^
In file included from ../../include/util/common.hpp:52:0,
                 from ../../include/rack.hpp:4,
                 from src/Befaco.hpp:1,
                 from src/SpringReverb.cpp:2:
../../include/util/math.hpp:21:12: note: candidate: int rack::min(int, int)
 inline int min(int a, int b) {
            ^~~
../../include/util/math.hpp:61:14: note: candidate: float rack::min(float, float)
 inline float min(float a, float b) {
              ^~~
make: *** [../../compile.mk:58: build/src/SpringReverb.cpp.o] Error 1

Rampage hangs during rise phase under certain circumstances

When Rampage is set as follows the output rises to 9.451 volts then stops and the channel remains in the rise phase until the range is changed or the shape/rise time are reduced:

  • Max rise time, fall time doesn’t matter
  • Longest range
  • Shape fully CW
  • All other controls set to default values
  • nothing connected to the input

image

To reproduce the issue, set a channel up as outlined above and manually trigger it.

Note that once the channel has stopped at 9.451 volts, adjusting the shape slightly allows the it to continue but, depending on the new shape setting, it stops again at a higher voltage. In the example below, the shape was adjusted to 0.9:

image

Issue discovered on Windows 10 and confirmed on Kubuntu Linux (here).

Muxlicer "All in Normalled Value" not changing after menu selection

Hi all,

I'm quite excited by the Muxlicer addition; however, the menu option for "All in Normalled Value" doesn't appear to be changing when different voltage levels are selected. I'll probably take a look in the code when I have some time, but if anyone knows a quick fix, I'd be super appreciative!

Rampage unstable at shape = -1

image

When shape is left-most, we get noise in the outs. The issue wasn't present when the module was monophonic, and so maybe due to the SIMD porting. It appears to be connected to improper termination of the cycle, as there's a lot of activity on the rising/falling outputs.

Noise Plethora Grit control is reversed and filter do not self oscillate

Hi!

Thanks again for bringing this beautiful module to VCV! I have also the hardware and I noticed that the grit quantity knob is reversed so there are fewer grains to the right in VCV, while in hardware it's when turning it to the left.
Another thing I noticed is that in hardware, the filters will self oscillate at one point, but in VCV, they do not.

I'm not so sure if this is on purpose or not, but I thought I will let you know.
I'm sure you have enough to deal with now in your personal life (congrats once again!) so take your time with this.

Cheers!
Omri

Self-patched Muxlicer (COMIO to Gate Mode) creates triggers when not expected.

image

From here.

What I did

  1. Connect “Com I/O output” to “Gate mode CV input”
  2. Turn “Gate mode knob” clockwise fully
  3. Set the fader values as [0.1, 0, 0.2, 0, 0.3, 0, 0.4, 0] from left to right

I chose 0 at even-numbered steps, so I thought no gates would occur at it, but a short trigger occurred. I don’t have a hardware, so I can’t tell it is intended or not. I put an image which I hope to explain this situation.

I suspect that this is due to the there being a 1 sample delay being introduced by the patch cable. A possible solution is to introduce a 1 sample delay to the gate out generator, but more investigation needed.

Invalid tag in plugin.json

@hemmer, I am not sure why this slipped through in the v1 review, but we should fix this for v2:

[Befaco] Issues found in `plugin.json`:
                                                                             
STMix: invalid module tags: Stereo
-- Valid tags are defined in https://raw.githubusercontent.com/VCVRack/Rack/v2/src/tag.cpp

Thanks.

Different ranges of C1 and C2 level in ABC

Is it intended behaviour that the output of the first A+B*C section only goes to 9.72 when no input is selected and C1 level is full right (or -9.72 when full left), while the second section goes from -10 to 10?

Cheers,
Martin

Sync is not working

It seems sync is not working. Checked the code, looks like there is nothing done with this parameter.
Would be nice if it would work.

$ ag sync
src/EvenVCO.cpp
17:		SYNC_INPUT,
31:	/** The value of the last sync input */
32:	float sync = 0.0;
158:	addInput(createInput<PJ301MPort>(Vec(86, 189), module, EvenVCO::SYNC_INPUT));

Cycle Gate Input

Is it possible that the cycle gate input does not work as intended?

According to the manual, the inputs 18A/B should invert the setting of the switch.
In the plugin, they seem to override the switch, not inverting. Can anybody confirm?

Thanks,
Martin

Befaco A*B+C

Hello,
First of all thank you for the last update! I think that there might be a misbehaving in this module. When you brake the normalisation the second out doesn't work. You can see the led displaying the voltage but it doesn't t output anything.
Thank in advance

Screenshot 2021-07-10 at 21 29 15

PonyVCO. Output goes to 'nanV' while FM'ing at sample rates of 192 or 768 kHz.

In case 'Filter TZFM DC' option is enabled, PonyVCO's output goes to 'nanV' while FM'ing at sample rates of 192 or 768 kHz.

To reproduce

  • Rack Engine SR is to 192 or 768 kHz
  • PonyVCO's 'Filter TZFM DC' option is enabled
  • Feed some voltages to 'TZ FM'

Outcome

PonyVCO's output goes to nanV

There is no issue in case Rack operates at sample rates other than 192 or 768 kHz.

Rack Engine SR is to 48 kHz - ok
Rack Engine SR is set to 176.4 kHz - ok
Rack Engine SR is to 192 kHz - issue
Rack Engine SR is to 352.8 kHz - ok
...
Rack Engine SR is to 768 kHz or higher - issue

Win 10
PonyVCO 2.3.0
Rack Free Standalone 2.2.1

2022-12-13_034446

2022-12-13_034651

2022-12-13_034738

Error compiling against Rack v0.5

Seeing this with Rack v0.5, Befaco master:

➜  Befaco git:(master) make
g++ -I./pffft -DPFFFT_SIMD_DISABLE -fPIC -I../../include -I../../dep/include -DVERSION=0.5.0 -MMD -g -O3 -march=nocona -ffast-math -fno-finite-math-only -Wall -Wextra -Wno-unused-parameter -DARCH_LIN -Wsuggest-override -std=c++11 -c -o build/src/SpringReverb.cpp.o src/SpringReverb.cpp
src/SpringReverb.cpp: In member function ‘virtual void SpringReverb::step()’:
src/SpringReverb.cpp:219:13: error: ‘struct rack::SampleRateConverter<1>’ has no member named ‘setRates’; did you mean ‘setRatio’?
    inputSrc.setRates(engineGetSampleRate(), 48000);
             ^~~~~~~~
             setRatio
src/SpringReverb.cpp:231:14: error: ‘struct rack::SampleRateConverter<1>’ has no member named ‘setRates’; did you mean ‘setRatio’?
    outputSrc.setRates(48000, engineGetSampleRate());
              ^~~~~~~~
              setRatio
make: *** [../../compile.mk:54: build/src/SpringReverb.cpp.o] Error 1

I am on arch linux:

➜  Befaco git:(master) uname -a
Linux sorahan-desktop 4.14.4-1-ARCH #1 SMP PREEMPT Tue Dec 26 19:10:06 UTC 2017 x86_64 GNU/Linux

Release updated modules: Percall, Chopping Kinky, Hexmix VCA, Kickall (v1.1.0 release)

Issue to track the work still to do before releasing the first new batch of modules. Preview below:

image

Status

  • Percall (90% done, just need to set/verify envelope times/shapes)
  • Chopping Kinky (85% done, need to stress-test aliasing)
  • Hexmix VCA (90% done, mainly verifying the shape against hardware)
  • Kickall (60% done, wire in V/Oct correctly, wire in CV, calibrate with hardware)

Outstanding issues

  • Calibrate and tune modules against hardware equivalents (and schematics)
    • Percall (envelope times)
    • Chopping Kinky (waveshaper response)
    • Hexmix VCA (shape response)
    • Kickall (tuning, CV summing logic, waveshaping, quite a bit!)
  • Update graphics with SVGs from Befaco
  • Check polyphony is implemented correctly
  • Code cleanup/documentation
  • Check performance is acceptable
  • Check aliasing (Squinky Labs guide)
  • Decide what to do about code re-use (currently using ChowDSP anti-aliasing code locally - need to discuss re-use, re-implementation etc)
  • Get feedback from Befaco
  • Get beta testers/feedback from VCV forums

Possible additional issues

Other

This is the fork where I am doing the work: https://github.com/hemmer/Befaco

Pop when adding polyphony channel on EvenVCO

Screen.Recording.2022-02-03.at.22.12.26.mov

Problem
EvenVCO can produce a pop when adding additional polyphony channels. It seems to be because previously unused/uncalculated values of phase / oldPhase / deltaPhase throw off the minBlep calculation.

Solution
The solution is to process the (currently serial) code that does the minBleps for a number of channels that is aligned with the 'simd size', i.e. rounded up to the nearest 4.

Sampling Modulator: DC offset & trigg out

I noticed two issues with Sampling Modulator:

  1. The DC offset correction doesn't look right. The output levels seem to depend on several factors and are never exactly 0V..10V or -5V..5V. Perhaps that's the hardware simulation? But the real issue is that even for a 50/50 pulse signal it's obviously not correct (-2.5V..7.5V), see picture below.

  2. The trigg out produces gates when the internal clock is used and triggers when the external clock is used. I think it should be gates in both cases. Setup is the same as in the picture, just flip the int/ext switch on the right module, which is synced to the left one.

grafik

build fail with Rack master

Fedora 23 Linux
Rack master (0.6.x)

Hi Andrew, I assume you already know this. The same is true (similar errors) for the ESeries and Audible Instruments repos. Please advise if the fix is simple. :)

[dlphilp@The6300 Befaco]$ make
g++ -Wsuggest-override -std=c++11 -I./pffft -DPFFFT_SIMD_DISABLE -fPIC -I../../include -I../../dep/include -DSLUG=Befaco -DVERSION=0.6.0dev -MMD -g -O3 -march=nocona -ffast-math -fno-finite-math-only -Wall -Wextra -Wno-unused-parameter -DARCH_LIN -c -o build/src/SpringReverb.cpp.o src/SpringReverb.cpp
src/SpringReverb.cpp: In constructor ‘SpringReverbWidget::SpringReverbWidget()’:
src/SpringReverb.cpp:266:40: error: no matching function for call to ‘rack::ModuleWidget::ModuleWidget()’
SpringReverbWidget::SpringReverbWidget() {
^
In file included from ../../include/rack.hpp:9:0,
from src/Befaco.hpp:1,
from src/SpringReverb.cpp:2:
../../include/app.hpp:63:2: note: candidate: rack::ModuleWidget::ModuleWidget(rack::Module*)
ModuleWidget(Module *module);
^
../../include/app.hpp:63:2: note: candidate expects 1 argument, 0 provided
In file included from ../../include/rack.hpp:9:0,
from src/Befaco.hpp:1,
from src/SpringReverb.cpp:2:
../../include/app.hpp:53:8: note: candidate: rack::ModuleWidget::ModuleWidget(const rack::ModuleWidget&)
struct ModuleWidget : OpaqueWidget {
^
../../include/app.hpp:53:8: note: candidate expects 1 argument, 0 provided
src/SpringReverb.cpp:268:18: error: ‘setModule’ was not declared in this scope
setModule(module);
^
../../compile.mk:56: recipe for target 'build/src/SpringReverb.cpp.o' failed
make: *** [build/src/SpringReverb.cpp.o] Error 1

Release Noise Plethora (v2.1.0 release)

Issue to track the work still to do before releasing Noise Plethora

image

Outstanding issues

  • add DC removal option
  • fixing playability of gritty noise
  • making sure results are sample rate invariant (Teensy assumes 44.1kHz, I’ve tried to address this so far)
  • port tooltips UI etc
  • Code cleanup/documentation
    • use onAction() for knob pressess
  • Remove debug messages
  • Check performance is acceptable
  • Check aliasing/DC offsets (Squinky Labs guide)
  • Get feedback from Befaco
  • Get feedback from Andrew
  • Get beta testers/feedback from VCV forums
  • Update changelog and push release to library

Builds / other

This is the fork where I am doing the work: https://github.com/hemmer/Befaco (branch v2-noise-plethora).

Trigg Out is == Clock Out in INTERNAL clock mode

Like the object says: the trigger out is identical to the clock out when in internal clock mode. The clock out fires a 50% duty cycle square wave based on the BPM and the trigger out should output short pulses, instead it fires exactly the same output as the clock out. I don't know if this is the intended behavior but it sounds strange. In external clock mode it correctly fires pulses.

Release updated modules: Muxlicer, STMix, VC ADSR, Morphader, Sampling Modulator (v1.2.0 release)

Issue to track the work still to do before releasing the next batch of modules. Preview below:

image

Outstanding issues

  • Calibrate and tune modules against hardware equivalents (and schematics)
    • Muxlicer
    • ADSR
    • Sampling Modulator
    • Morphader
    • STMix
  • Update graphics with SVGs from Befaco
  • Check polyphony is implemented correctly
  • Code cleanup/documentation
  • Check performance is acceptable
  • Check aliasing/DC offsets (Squinky Labs guide)
  • Get feedback from Befaco
  • Get feedback from Andrew
  • Get beta testers/feedback from VCV forums
  • Update changelog and push release to

Possible additional issues

  • Investigate H. sync for poly EvenVCO

Builds / other

This is the fork where I am doing the work: https://github.com/hemmer/Befaco

Muxlicer clock in delayed sync

I tried syncing two muxlicers, cabling the clock out of one into the clock in of another. The problem is that when I compare the all gates out of the two modules, it seems to take 3 clock pulses for the slave module to start sending gates.

(for clarity, this is also the case with any clock module clocking the muxlicer)

Befaco still using .active, needs update to latest v1 API

Just a note that Befaco needs to be updated to latest API since one or more modules uses outputs[].active

src/ABC.cpp: In member function 'virtual void ABC::process(const rack::engine::Module::ProcessArgs&)':
src/ABC.cpp:61:28: error: '__gnu_cxx::__alloc_traits<std::allocator<rack::engine::Output>, rack::engine::Output>::value_type' {aka 'struct rack::engine::Output'} has no member named 'active'
   if (outputs[OUT1_OUTPUT].active) {
                            ^~~~~~
src/ABC.cpp:67:28: error: '__gnu_cxx::__alloc_traits<std::allocator<rack::engine::Output>, rack::engine::Output>::value_type' {aka 'struct rack::engine::Output'} has no member named 'active'
   if (outputs[OUT2_OUTPUT].active) {
                            ^~~~~~
make: *** [../../compile.mk:62: build/src/ABC.cpp.o] Error 1

Chaining Muxlicers doesn't work smoothly

I tried chaining two Muxlicers via EOC -> One-Shot-In connections. Sounds like there's a timing hickup between the two (either way) and also an additional low pitch when going from 1 to 2. When I check the EOC trigger in a scope, it seems to come exactly at the same point as gate 8. Shouldn't it come after gate 8, maybe at the falling edge? Attached screenshot, can't attach saved selection.

grafik

recipe for target 'plugin.so' failed

Not sure how to resolve this

g++ -o plugin.so build/src/SpringReverb.cpp.o build/src/EvenVCO.cpp.o build/src/SlewLimiter.cpp.o build/src/ABC.cpp.o build/src/plugin.cpp.o build/src/Mixer.cpp.o build/src/DualAtenuverter.cpp.o build/src/Rampage.cpp.o build/src/SpringReverbIR.pcm.bin.o -shared 
/usr/bin/ld: i386:x86-64 architecture of input file `build/src/SpringReverbIR.pcm.bin.o' is incompatible with i386 output
collect2: error: ld returned 1 exit status
../../compile.mk:59: recipe for target 'plugin.so' failed
make: *** [plugin.so] Error 1

PonyVCO produces wobbling pitch after 'TZ FM' source disconnection.

The issue occurs only if PonyVCO's 'Filter TZFM DC' option is enabled.

To reproduce

  • Rack Engine SR is set to other frequencies than 192 or 768 kHz (please refer to #40 )
  • PonyVCO's 'Filter TZFM DC' option is enabled
  • Feed some voltages to 'TZ FM'
  • Then disconnect 'TZ FM' source

Outcome

PonyVCO produces wobbling pitch after 'TZ FM' source disconnection.

After these steps there is additional step that leads to 'nanV' volts at output.
Just set Rack Engine SR to 192 or 768 kHz and touch the 'Timber' slider.

Please refer to the attached video for the details.

Win 10
PonyVCO 2.3.0
Rack Free Standalone 2.2.1
2022-12-14.02-44-57.mp4

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.