Commit graph

315 commits

Author SHA1 Message Date
Weird Constructor
815745c4ec ah, forgot you can modulate the size of the reverb from the outside. back to cubic for the delay lines in the reverb. 2021-08-08 21:17:38 +02:00
Weird Constructor
c0c0ac7b04 fixed interpolation in the delay line and switched to nearest for the delays in the dattorro reverb and to cubic inside the modulated all-pass filters. 2021-08-08 21:16:40 +02:00
Weird Constructor
0f344b0fc1 removed DC offset stuff from BOsc and the all pass has a more standard implementation again now. 2021-08-08 14:56:54 +02:00
Weird Constructor
dae7c512eb I think the reverb is now mostly done! 2021-08-08 13:43:51 +02:00
Weird Constructor
79c11cd45b Fixed some more bugs in the reverb 2021-08-08 12:51:31 +02:00
Weird Constructor
14bf59bfac Finished more generic float types in helpers.rs 2021-08-08 09:43:16 +02:00
Weird Constructor
d6c1a38102 Working on making the stuff in hexodsp::dsp::helpers f32/f64 agnostic 2021-08-08 00:56:10 +02:00
Weird Constructor
525c8d8c1b Fixed more bugs in the Dattorro reverb (delay time interpretation in DelayBuffer) 2021-08-08 00:12:02 +02:00
Weird Constructor
c57274bfe4 Fixed a bug in the allpass filter, and the dattorro reverb sounds better and better, still some weird glitchy stuff in the modulation 2021-08-07 19:18:54 +02:00
Weird Constructor
e45b8a5ebd Finished reverb translation and added as a node, but there are still bugs to fix. 2021-08-07 16:56:59 +02:00
Weird Constructor
43f1f6d7b9 more translation work on the Dattorro reverb 2021-08-07 11:31:52 +02:00
Weird Constructor
d529156bb8 implemented some crossfade curves 2021-08-07 10:00:42 +02:00
Weird Constructor
ca871c78d1 More implementation work on the Dattorro reverb 2021-08-07 08:37:41 +02:00
Weird Constructor
2f71b682b0 More work on Dattorro reverb 2021-08-06 19:25:24 +02:00
Weird Constructor
83b8c1a1fc translated some more dattorro code 2021-08-06 06:38:08 +02:00
Weird Constructor
3d2c4c0c74 Started implementing the Dattorro plate reverb 2021-08-06 06:05:13 +02:00
Weird Constructor
a99c703781 fix the graph for the LFO 2021-08-06 06:01:11 +02:00
Weird Constructor
d307ed898f More LFO time parameter fine tuning 2021-08-06 05:58:59 +02:00
Weird Constructor
41441ccb29 Working on the first LFO node 2021-08-06 05:49:03 +02:00
Weird Constructor
80e9fa0d8e removed other moog variants and replaced it with a slightly nicer/different one. 2021-08-06 05:14:42 +02:00
Weird Constructor
da08c8d85e implemented a Comb filter 2021-08-06 05:05:47 +02:00
Weird Constructor
210d542af5 proper wrapping 2021-08-06 02:09:18 +02:00
Weird Constructor
7e743eae07 Documented more stuff 2021-08-06 02:02:26 +02:00
Weird Constructor
bb052d0837 Document oversampling and distortion with VPSOscillator 2021-08-05 18:39:42 +02:00
Weird Constructor
ba8e6ec33f refactored the VPSOscillator into it's own struct 2021-08-05 18:26:09 +02:00
Weird Constructor
16dc1f01f4 rename oversample, tweaking limit_v 2021-08-05 06:57:31 +02:00
Weird Constructor
a0b22a49b1 worked a bit on the limits of the v and d parameters 2021-08-05 06:32:54 +02:00
Weird Constructor
24379ae521 Added distortion to the VPS oscillator and tweaked a few more parameters 2021-08-05 06:12:50 +02:00
Weird Constructor
b4d6cb1cdb jiggled code around... 2021-08-05 05:48:27 +02:00
Weird Constructor
820c0bd69f implemented oversampling for the VPS oscillator, but it does not seem to do much... 2021-08-05 05:48:00 +02:00
Weird Constructor
f8be4ca565 added the resonator from FunDSP 2021-08-05 05:25:10 +02:00
Weird Constructor
7d27d6f618 make all the biquad cascades work 2021-08-05 05:22:46 +02:00
Weird Constructor
f9b4509dd9 added a butterworth biquad filter node, mostly for testing it though... 2021-08-05 05:20:47 +02:00
Weird Constructor
32b2725f49 Implemented VPS oscillator and adapted some oversampling code 2021-08-04 06:51:31 +02:00
Weird Constructor
509385ffd1 Relicensed to GPL-3.0-or-later. 2021-08-04 03:58:43 +02:00
Weird Constructor
2c48e979c3 Added function and selector to prevent selection of specific random NodeIds 2021-08-03 06:21:04 +02:00
Weird Constructor
360adc10be More helper functions to make life easier for HexoSynth 2021-08-01 20:35:57 +02:00
Weird Constructor
8b07869963 defined a few helper functions 2021-08-01 16:35:56 +02:00
Weird Constructor
94c4428d04 Fixed the documentation code for PolyBlepOscillator 2021-08-01 06:55:43 +02:00
Weird Constructor
b974ed0bd7 documented the PolyBlepOscillator 2021-08-01 06:43:17 +02:00
Weird Constructor
3cbe0111cc some more helper functions 2021-08-01 01:20:06 +02:00
Weird Constructor
37b57a4472 more helper functions for the Cluster functionality in HexoSynth 2021-07-31 13:26:10 +02:00
Weird Constructor
b7f544f102 added a link about the i16 to f32 conversion 2021-07-29 22:38:46 +02:00
Weird Constructor
908dc4292f fixing the monitor tests after increasing the buffer length 2021-07-28 05:12:47 +02:00
Weird Constructor
f134ba102c Add implementation to detect adjacent cell positions to CellDir 2021-07-27 18:56:15 +02:00
Weird Constructor
cce6f3fc91 Fix a warning. 2021-07-27 18:49:25 +02:00
Weird Constructor
79646d819e Fix some warnings in BOsc 2021-07-27 18:49:25 +02:00
Weird Constructor
994173bf83 Added tracker cheat sheet 2021-07-27 03:37:29 +02:00
Weird Constructor
9a0b135e55 Made the min/max monitors 160 samples wide and capture 3 seconds of audio now. 2021-07-26 21:21:20 +02:00
Weird Constructor
97d01f56ea Added a graph view to the BOsc oscillator 2021-07-26 05:48:42 +02:00
Weird Constructor
25aaf5ba7d Initialize all oscillators with different phases and adjust the corresponding tests accordingly. 2021-07-25 22:49:33 +02:00
Weird Constructor
76ab78d565 Added function for flipping CellDir directions 2021-07-25 15:53:51 +02:00
Weird Constructor
dda3416a6a remove some dead code 2021-07-25 13:32:32 +02:00
Weird Constructor
239928a313 Implemented a basic oscillator node 'BOsc' 2021-07-25 13:32:16 +02:00
Weird Constructor
f4bc7341f6 Added Mix3 node, and changed serialization format to port names. 2021-07-24 23:00:09 +02:00
Weird Constructor
4f4f3aed25 Shortened too long descriptions. 2021-07-24 20:30:23 +02:00
Weird Constructor
c6da61e38b Logging used a bit more 2021-07-24 11:02:43 +02:00
Weird Constructor
64f42d5edd wrote a globally useable logging implementation 2021-07-24 10:08:37 +02:00
Weird Constructor
a715d5abc4 fixing some clippy warnings 2021-07-23 06:35:03 +02:00
Weird Constructor
cdb054b62c Removed debugging prints 2021-07-23 03:51:43 +02:00
Weird Constructor
c15557d270 fixed thread safety issues with PatternData 2021-07-22 05:31:54 +02:00
Weird Constructor
52649a9875 adjusted the Simper SVF to use the sin() coefficient calculation. 2021-07-19 18:46:45 +02:00
Weird Constructor
888205b3ef fix documentation warnings 2021-07-18 19:15:06 +02:00
Weird Constructor
1a5427ae87 improved the documentation a bit 2021-07-18 18:58:10 +02:00
Weird Constructor
b7349ccae4 more moog filter code 2021-07-18 14:04:26 +02:00
Weird Constructor
c4495d6039 implemented moog filter and started to test it 2021-07-18 08:18:32 +02:00
Weird Constructor
1a5dfb4b50 remove debug print 2021-07-17 21:24:24 +02:00
Weird Constructor
f6223548c8 implemented properties that can be used to store GUI related state in the patch 2021-07-17 20:12:32 +02:00
Weird Constructor
4291fd2602 fixed a few noise related tests. 2021-07-17 10:03:10 +02:00
Weird Constructor
107f3521cc Make the noise atv default 0.5 for more useable not so fast clipping noise. 2021-07-17 09:47:57 +02:00
Weird Constructor
0e48eea78e Started working on testing the rest of the Simper SVF. 2021-07-17 09:47:57 +02:00
Weird Constructor
8c3c834907 Allow direct access to the NodeId::label. 2021-07-17 09:47:57 +02:00
Weird Constructor
f17e695410 last_row_idx is not out of f32 range anymore and we need to fill all rows because of the gate encoding with 0xF000 2021-07-17 06:22:21 +02:00
Weird Constructor
4bcf1c7531 use the CaMeL case names of the nodes as cell label 2021-07-15 19:32:33 +02:00
Weird Constructor
aab2f8dc20 improved documentation 2021-07-15 06:48:05 +02:00
Weird Constructor
7a46c38a00 use f32 instead of f64 for filtering 2021-07-15 06:28:44 +02:00
Weird Constructor
7f7b8a0837 tuned the SVF filter a bit more 2021-07-15 05:12:05 +02:00
Weird Constructor
b03f5e11e8 raised max resonance for simper svf 2021-07-15 05:09:48 +02:00
Weird Constructor
53853d890e implemented Simper SVF and refactored node_sfilter.rs 2021-07-15 05:08:06 +02:00
Weird Constructor
647b3b6b6d adjust documentation 2021-07-14 05:47:05 +02:00
Weird Constructor
131ac0ff36 more documentation for the helpers 2021-07-13 05:01:46 +02:00
Weird Constructor
dd96d56465 improve documentation 2021-07-13 03:56:50 +02:00
Weird Constructor
f121f1d3fa document more filters 2021-07-13 03:54:29 +02:00
Weird Constructor
86f93968f7 more sane limits for chamberlin svf and more tests 2021-07-12 20:18:10 +02:00
Weird Constructor
47ad5610f3 Implemented the Hal Chamberlin SVF filter, and wrote first test. 2021-07-12 19:54:01 +02:00
Weird Constructor
4e2cb0dca4 some basic fft code based on rustfft crate 2021-07-12 06:23:45 +02:00
Weird Constructor
5a3eb18f5c Documentation change 2021-07-11 11:59:13 +02:00
Weird Constructor
367d446dc1 implemented proper tests for the one pole filters 2021-07-11 11:03:20 +02:00
Weird Constructor
6f14af5293 apply better clamping for the tpt filters 2021-07-10 22:48:20 +02:00
Weird Constructor
ebb5dd3a9b added high pass implementations too now. 2021-07-10 22:45:08 +02:00
Weird Constructor
d1f7cc9a4d Factored out the filter implementations 2021-07-10 22:40:40 +02:00
Weird Constructor
3d099f884c added RC filter implementation 2021-07-10 22:34:03 +02:00
Weird Constructor
7a869e57f5 implementation of DAFX one pole 2021-07-10 22:30:43 +02:00
Weird Constructor
5dc702426c Started simple filter implementation 2021-07-10 22:16:55 +02:00
Weird Constructor
a91dbd0787 Use the new GraphFun to draw a proper AD envelope without undersampling artifacts. 2021-07-11 16:59:32 +02:00
Weird Constructor
3360a2afe9 Added mask to indicate which inputs are connected. 2021-07-10 21:29:58 +02:00
Weird Constructor
26830e8e56 Implemented a bitmask to enable nodes to not produce output if it is not used. 2021-07-10 21:27:18 +02:00
Weird Constructor
967535d771 Implemented test for modulation amounts 2021-07-10 21:16:14 +02:00
Weird Constructor
ade0a2f05f wrote test for mod amt serialization 2021-07-10 17:36:20 +02:00
Weird Constructor
ba3cc4f583 Fixed a bug in modops processing when no edge was assigned 2021-07-10 12:45:32 +02:00
Weird Constructor
e423ca22a3 fixes and debug logging 2021-07-10 10:16:23 +02:00
Weird Constructor
4b8f3d67e7 Remove ModOpSigRange and test NodeProg dump output. 2021-07-10 08:32:52 +02:00
Weird Constructor
5d975c91a4 implemented more of the parameter modulation amount 2021-07-07 05:03:28 +02:00
Weird Constructor
b932b55a8d WIP: mod amounts in NodeProg 2021-07-06 19:55:03 +02:00
Weird Constructor
196d094673 storing the modulation amount in the NodeConfigurator / Matrix is now implemented 2021-07-06 05:00:34 +02:00
Weird Constructor
b48d423b5a sketch out mod amount changes 2021-07-04 13:37:37 +02:00
Weird Constructor
870cc3f858 fixed warnings and adjust ed documentation of SMap 2021-07-04 12:16:01 +02:00
Weird Constructor
f2d47de149 implemented test for SMap and fixed some bugs 2021-07-04 10:05:55 +02:00
Weird Constructor
934e808de3 Integrated SMap into node index 2021-07-04 08:39:17 +02:00
Weird Constructor
1f6aa8d18b document the 'mode' of SMap 2021-07-03 14:29:01 +02:00
Weird Constructor
9913d3125f Implementing a simpler version of map 2021-07-03 14:26:49 +02:00
Weird Constructor
93590ed2a8 documented the Map node 2021-07-03 07:55:05 +02:00
Weird Constructor
7503e7f28c different rounding mode for the cv range min/max/offs knobs 2021-07-02 20:14:02 +02:00
Weird Constructor
c763d7ab8e fixed freq parameter rounding and freq calculation has been clamped and patch loading with unknown parameters is allowed for now. 2021-07-02 20:08:11 +02:00
Weird Constructor
ed429e867c more sensible defaults 2021-07-02 05:12:30 +02:00
Weird Constructor
8b296ab407 made the mapper easier to use 2021-07-02 05:12:17 +02:00
Weird Constructor
f99bcfc348 started work on the mapper node 2021-07-02 05:11:11 +02:00
Weird Constructor
fb3bb7dab2 finished noise implementation 2021-07-01 05:06:46 +02:00
Weird Constructor
bada6377ee added a Rng abstraction around SplitMix64 2021-07-01 05:06:42 +02:00
Weird Constructor
7b5ea3e27f added node_noise.rs 2021-06-30 22:15:32 +02:00
Weird Constructor
8c656a8ce3 Merge branch 'master' of ssh://hentai-kamen.m8geil.de:19022/WeirdConstructor/HexoDSP 2021-06-30 06:22:40 +02:00
Weird Constructor
c94a000115 Added information to the matrix to be able to quickly determine if a parameter has an input assigned. 2021-06-30 06:22:38 +02:00
Weird Constructor
dd89eebbd5 added to noise to oscillators 2021-06-30 03:55:26 +02:00
Weird Constructor
087983b386 boilerplate for a noise oscillator 2021-06-30 03:53:30 +02:00
Weird Constructor
1020684e13 fix warnings 2021-06-28 19:33:02 +02:00
Weird Constructor
85ad5e7955 helpers for comb and allpass, and added allpass node 2021-06-28 05:10:46 +02:00
Weird Constructor
9397b978dc added trigger input 2021-06-27 23:38:14 +02:00
Weird Constructor
de15c3cfd7 there is no limit for audio files, it's up to you to kill your ram. 2021-06-27 07:48:42 +02:00
Weird Constructor
845df99ab5 updated splitmix64 implementation 2021-06-23 05:13:50 +02:00
Weird Constructor
40c5c2c9c9 fix documentation for delay feedback 2021-06-23 05:12:37 +02:00
Weird Constructor
bdbfd01608 make a note for DelayBuffer::feed 2021-06-23 05:11:39 +02:00
Weird Constructor
3f8bee1301 fixed a bug in the delay line, that made it 1 sample off, getting incrementally worse 2021-06-23 05:11:24 +02:00
Weird Constructor
1e0caab020 finished writing tests for the delay node 2021-06-23 05:07:32 +02:00
Weird Constructor
adfcd3f431 wrote basic delay tests 2021-06-22 05:04:11 +02:00
Weird Constructor
7201ec315e fixed a performance bug 2021-06-21 06:05:53 +02:00
Weird Constructor
2607e40c4a make CellDir::C clear all ports 2021-06-20 21:33:21 +02:00
Weird Constructor
4bf011261e added delay sync 2021-06-20 13:14:19 +02:00
Weird Constructor
63644b00da removed DC blocker from delay, was a bad idea if you want to delay CV.... 2021-06-20 09:12:02 +02:00
Weird Constructor
8995541fda parameter fine tuning 2021-06-20 08:28:40 +02:00
Weird Constructor
47681a28f0 fixed delay time scale 2021-06-19 14:11:23 +02:00
Weird Constructor
cbc69f3ca3 implemented untested DSP part of Delay 2021-06-19 12:17:22 +02:00
Weird Constructor
9e752fe3f1 documented the delay node 2021-06-19 11:17:00 +02:00
Weird Constructor
337ffa12f5 prepared delay boilerplate 2021-06-19 10:50:39 +02:00
Weird Constructor
a89433c320 implemented delay buffer 2021-06-19 09:34:02 +02:00
Weird Constructor
b4796e98cf fixed warnings 2021-06-18 05:09:36 +02:00
Weird Constructor
8ee47a7eac finished Ad graph 2021-06-18 05:06:14 +02:00
Weird Constructor
e13cf0834e finished AD tests and added preliminary graph impl 2021-06-18 03:58:00 +02:00
Weird Constructor
f673792c17 wrote retrigger test 2021-06-16 05:06:50 +02:00
Weird Constructor
a425733a51 made node_test finally useful for... tests! 2021-06-16 03:54:46 +02:00
Weird Constructor
bf8f96b56d simplified code a bit more 2021-06-15 20:01:03 +02:00