formula: Transpose for EQ / Other devices

wow cool doofa. sounds nice.

EDIT: Man, that sound really nice, just like a hard-synced osc!

EDIT: btw. why do you use an additional hydra to split freq to freq and range? You can do it directly in the knob binding, there is also scaling available…?

EDIT: Repaired some stuff
How can I use this inline hidden code display?

[details=“Click to view contents”]<?xml version="1.0" encoding="UTF-8"?>




true

true

key tracked comb

false



1.0

Device only





32.0000191

Device only

freq





2

1

0.0

1.0

Linear





2

3

0.0

1.0

Exp Fast









0.0

Device only

feedback





0

2

0.0

1.0

Linear









100

Device only

inertia





0

3

1.0

0.0

Linear









0.0

Device only

min





1

4

0.0

1.0

Linear









100

Device only

max





1

5

0.0

1.0

Linear









100

Device only

wet





0

4

0.0

1.0

Linear









0.0

Device only

dry





0

5

0.0

1.0

Linear









50

Device only

Macro 8



7

true



Init

true





false

false

Init

true



1.0

Device only





0.37172237

Device only





-1

Device only





6.10351562e-05

Device only





1.0

Device only





0.0

Device only







false

false

Init

true



1.0

Device only



-1

Linear

Clamp

0

119



-1

Device only





2

Device only





2

Device only





0.0

Device only





1.0

Device only







frm_freq

false

false

Init

true



1.0

Device only





AC10*(2^(1/12))^(B*119-48)









freq

key

range

true

0



0.320000201

Device only





0.361344546

Device only





0.0218878631

Device only





-1

Device only





3

Device only





8

Device only







false

false

Init

true



1.0

Device only





-1

Device only





0.0

Device only





1.0

Device only





1.0

Device only





0.0

Device only





9.99999997e-07

Device only





4

Device only





Curve

1024

0.0

Unipolar



1,0.0

2,0.00960000046

3,0.0274999999

4,0.0441000015

5,0.0595000014

6,0.0738999993

7,0.0873000026

8,0.100000001

9,0.112000003

10,0.123400003

11,0.134200007

12,0.144500002

13,0.154300004

14,0.163699999

15,0.172700003

16,0.181299999

17,0.189600006

18,0.197699994

19,0.205400005

20,0.212799996

21,0.219999999

22,0.226999998

23,0.233799994

24,0.2403

25,0.246700004

26,0.252900004

27,0.258899987

28,0.264800012

29,0.270500004

30,0.275999993

31,0.281399995

32,0.28670001

33,0.291900009

34,0.296900004

35,0.301800013

36,0.306600004

37,0.311300009

38,0.315899998

39,0.320499986

40,0.324900001

41,0.3292

42,0.333499998

43,0.337599993

44,0.341699988

45,0.345699996

46,0.349700004

47,0.353500009

48,0.357300013

49,0.361099988

50,0.364800006

51,0.368400007

52,0.371899992

53,0.375400007

54,0.378899992

55,0.382200003

56,0.385600001

57,0.388900012

58,0.392100006

59,0.395300001

60,0.398400009

61,0.401499987

62,0.404599994

63,0.407599986

64,0.410600007

65,0.413500011

66,0.416399986

67,0.419200003

68,0.421999991

69,0.424800009

70,0.427599996

71,0.430299997

72,0.432999998

73,0.435600013

74,0.438199997

75,0.440800011

76,0.443399996

77,0.445899993

78,0.448399991

79,0.450800002

80,0.453299999

81,0.45570001

82,0.458099991

83,0.460399985

84,0.462700009

85,0.46509999

86,0.467299998

87,0.469599992

88,0.471799999

89,0.474000007

90,0.476200014

91,0.478399992

92,0.480599999

93,0.48269999

94,0.484800011

95,0.486900002

96,0.488900006

97,0.490999997

98,0.493000001

99,0.495000005

100,0.497000009

101,0.499000013

102,0.500899971

103,0.502900004

104,0.504800022

105,0.506699979

106,0.508599997

107,0.510500014

108,0.512300014

109,0.514100015

110,0.515999973

111,0.517799973

112,0.519599974

113,0.521300018

114,0.523100019

115,0.524900019

116,0.526600003

117,0.528299987

118,0.529999971

119,0.531700015

120,0.533399999

121,0.535099983

122,0.53670001

123,0.538399994

124,0.540000021

125,0.541599989

126,0.543200016

127,0.544799984

128,0.546400011

129,0.547999978

130,0.549499989

131,0.551100016

132,0.552600026

133,0.554199994

134,0.555700004

135,0.557200015

136,0.558700025

137,0.560199976

138,0.561600029

139,0.56309998

140,0.564599991

141,0.565999985

142,0.567399979

143,0.568899989

144,0.570299983

145,0.571699977

146,0.573099971

147,0.574500024

148,0.575900018

149,0.577199996

150,0.578599989

151,0.579999983

152,0.58130002

153,0.582700014

154,0.583999991

155,0.585300028

156,0.586600006

157,0.587899983

158,0.58920002

159,0.590499997

160,0.591799974

161,0.593100011

162,0.594399989

163,0.595600009

164,0.596899986

165,0.598100007

166,0.599399984

167,0.600600004

168,0.601800025

169,0.602999985

170,0.604200006

171,0.605499983

172,0.606599987

173,0.607800007

174,0.609000027

175,0.610199988

176,0.611400008

177,0.612500012

178,0.613699973

179,0.614899993

180,0.615999997

181,0.617200017

182,0.618300021

183,0.619400024

184,0.620500028

185,0.621699989

186,0.622799993

187,0.623899996

188,0.625

189,0.626100004

190,0.627200007

191,0.628300011

192,0.629299998

193,0.630400002

194,0.631500006

195,0.632499993

196,0.633599997

197,0.6347

198,0.635699987

199,0.636699975

200,0.637799978

201,0.638800025

202,0.639800012

203,0.640900016

204,0.641900003

205,0.64289999

206,0.643899977

207,0.644900024

208,0.645900011

209,0.646899998

210,0.647899985

211,0.648899972

212,0.649900019

213,0.650900006

214,0.651799977

215,0.652800024

216,0.653800011

217,0.654699981

218,0.655700028

219,0.656599998

220,0.657599986

221,0.658500016

222,0.659500003

223,0.660399973

224,0.661300004

225,0.662299991

226,0.663200021

227,0.664099991

228,0.665000021

229,0.665899992

230,0.666800022

231,0.667699993

232,0.668600023

233,0.669499993

234,0.670400023

235,0.671299994

236,0.672200024

237,0.673099995

238,0.674000025

239,0.674799979

240,0.675700009

241,0.676599979

242,0.677399993

243,0.678300023

244,0.679199994

245,0.680000007

246,0.680899978

247,0.681699991

248,0.682600021

249,0.683399975

250,0.684199989

251,0.685100019

252,0.685899973

253,0.686699986

254,0.687600017

255,0.688399971

256,0.689199984

257,0.689999998

258,0.690800011

259,0.691600025

260,0.692399979

261,0.693199992

262,0.694100022

263,0.694800019

264,0.695599973

265,0.696399987

266,0.6972

267,0.698000014

268,0.698800027

269,0.699599981

270,0.700399995

271,0.701099992

272,0.701900005

273,0.702700019

274,0.703400016

275,0.704200029

276,0.704999983

277,0.70569998

278,0.706499994

279,0.707199991

280,0.708000004

281,0.708700001

282,0.709500015

283,0.710200012

284,0.711000025

285,0.711700022

286,0.712400019

287,0.713199973

288,0.71390003

289,0.714600027

290,0.715399981

291,0.716099977

292,0.716799974

293,0.717499971

294,0.718200028

295,0.718900025

296,0.719699979

297,0.720399976

298,0.721099973

299,0.721800029

300,0.722500026

301,0.723200023

302,0.72390002

303,0.724600017

304,0.725300014

305,0.726000011

306,0.726700008

307,0.727299988

308,0.727999985

309,0.728699982

310,0.729399979

311,0.730099976

312,0.730700016

313,0.731400013

314,0.73210001

315,0.732800007

316,0.733399987

317,0.734099984

318,0.734799981

319,0.735400021

320,0.736100018

321,0.736699998

322,0.737399995

323,0.737999976

324,0.738699973

325,0.739300013

326,0.74000001

327,0.74059999

328,0.741299987

329,0.741900027

330,0.742600024

331,0.743200004

332,0.743799984

333,0.744499981

334,0.745100021

335,0.745700002

336,0.746399999

337,0.746999979

338,0.747600019

339,0.748199999

340,0.748899996

341,0.749499977

342,0.750100017

343,0.750699997

344,0.751299977

345,0.751999974

346,0.752600014

347,0.753199995

348,0.753799975

349,0.754400015

350,0.754999995

351,0.755599976

352,0.756200016

353,0.756799996

354,0.757399976

355,0.758000016

356,0.758599997

357,0.759199977

358,0.759800017

359,0.760399997

360,0.760900021

361,0.761500001

362,0.762099981

363,0.762700021

364,0.763300002

365,0.763899982

366,0.764400005

367,0.764999986

368,0.765600026

369,0.766200006

370,0.766700029

371,0.76730001

372,0.76789999

373,0.76849997

374,0.768999994

375,0.769599974

376,0.770200014

377,0.770699978

378,0.771300018

379,0.771799982

380,0.772400022

381,0.772899985

382,0.773500025

383,0.774100006

384,0.774600029

385,0.775200009

386,0.775699973

387,0.776300013

388,0.776799977

389,0.777400017

390,0.777899981

391,0.778400004

392,0.778999984

393,0.779500008

394,0.780099988

395,0.780600011

396,0.781099975

397,0.781700015

398,0.782199979

399,0.782700002

400,0.783299983

401,0.783800006

402,0.784300029

403,0.784799993

404,0.785399973

405,0.785899997

406,0.78640002

407,0.786899984

408,0.787500024

409,0.787999988

410,0.788500011

411,0.788999975

412,0.789499998

413,0.790000021

414,0.790600002

415,0.791100025

416,0.791599989

417,0.792100012

418,0.792599976

419,0.793099999

420,0.793600023

421,0.794099987

422,0.79460001

423,0.795099974

424,0.795599997

425,0.79610002

426,0.796599984

427,0.797100008

428,0.797599971

429,0.798099995

430,0.798600018

431,0.799099982

432,0.799600005

433,0.800100029

434,0.800599992

435,0.801100016

436,0.801599979

437,0.801999986

438,0.80250001

439,0.802999973

440,0.803499997

441,0.80400002

442,0.804499984

443,0.804899991

444,0.805400014

445,0.805899978

446,0.806400001

447,0.806800008

448,0.807299972

449,0.807799995

450,0.808300018

451,0.808700025

452,0.809199989

453,0.809700012

454,0.810199976

455,0.810599983

456,0.811100006

457,0.811600029

458,0.811999977

459,0.8125

460,0.812900007

461,0.813399971

462,0.813899994

463,0.814300001

464,0.814800024

465,0.815199971

466,0.815699995

467,0.816200018

468,0.816600025

469,0.817099988

470,0.817499995

471,0.818000019

472,0.818400025

473,0.818899989

474,0.819299996

475,0.819800019

476,0.820200026

477,0.82069999

478,0.821099997

479,0.82160002

480,0.822000027

481,0.822399974

482,0.822899997

483,0.823300004

484,0.823800027

485,0.824199975

486,0.824599981

487,0.825100005

488,0.825500011

489,0.825999975

490,0.826399982

491,0.826799989

492,0.827300012

493,0.827700019

494,0.828100026

495,0.828599989

496,0.828999996

497,0.829400003

498,0.82980001

499,0.830299973

500,0.83069998

501,0.831099987

502,0.831499994

503,0.832000017

504,0.832400024

505,0.832799971

506,0.833199978

507,0.833700001

508,0.834100008

509,0.834500015

510,0.834900022

511,0.835300028

512,0.835699975

513,0.836199999

514,0.836600006

515,0.837000012

516,0.837400019

517,0.837800026

518,0.838199973

519,0.83859998

520,0.839100003

521,0.83950001

522,0.839900017

523,0.840300024

524,0.840699971

525,0.841099977

526,0.841499984

527,0.841899991

528,0.842299998

529,0.842700005

530,0.843100011

531,0.843500018

532,0.843900025

533,0.844299972

534,0.844699979

535,0.845099986

536,0.845499992

537,0.845899999

538,0.846300006

539,0.846700013

540,0.847100019

541,0.847500026

542,0.847899973

543,0.84829998

544,0.848699987

545,0.849099994

546,0.8495

547,0.849900007

548,0.850199997

549,0.850600004

550,0.851000011

551,0.851400018

552,0.851800025

553,0.852199972

554,0.852599978

555,0.852900028

556,0.853299975

557,0.853699982

558,0.854099989

559,0.854499996

560,0.854900002

561,0.855199993

562,0.855599999

563,0.856000006

564,0.856400013

565,0.85680002

566,0.85710001

567,0.857500017

568,0.857900023

569,0.858299971

570,0.85860002

571,0.859000027

572,0.859399974

573,0.859799981

574,0.860099971

575,0.860499978

576,0.860899985

577,0.861199975

578,0.861599982

579,0.861999989

580,0.862399995

581,0.862699986

582,0.863099992

583,0.863499999

584,0.863799989

585,0.864199996

586,0.864600003

587,0.864899993

588,0.8653

589,0.86559999

590,0.865999997

591,0.866400003

592,0.866699994

593,0.8671

594,0.867500007

595,0.867799997

596,0.868200004

597,0.868499994

598,0.868900001

599,0.869199991

600,0.869599998

601,0.870000005

602,0.870299995

603,0.870700002

604,0.870999992

605,0.871399999

606,0.871699989

607,0.872099996

608,0.872399986

609,0.872799993

610,0.873099983

611,0.87349999

612,0.87379998

613,0.874199986

614,0.874499977

615,0.874899983

616,0.875199974

617,0.87559998

618,0.875899971

619,0.876299977

620,0.876600027

621,0.876999974

622,0.877300024

623,0.877600014

624,0.878000021

625,0.878300011

626,0.878700018

627,0.879000008

628,0.879400015

629,0.879700005

630,0.879999995

631,0.880400002

632,0.880699992

633,0.880999982

634,0.881399989

635,0.881699979

636,0.882099986

637,0.882399976

638,0.882700026

639,0.883099973

640,0.883400023

641,0.883700013

642,0.88410002

643,0.88440001

644,0.8847

645,0.885100007

646,0.885399997

647,0.885699987

648,0.886099994

649,0.886399984

650,0.886699975

651,0.887000024

652,0.887399971

653,0.887700021

654,0.888000011

655,0.888400018

656,0.888700008

657,0.888999999

658,0.889299989

659,0.889699996

660,0.889999986

661,0.890299976

662,0.890600026

663,0.890999973

664,0.891300023

665,0.891600013

666,0.891900003

667,0.892199993

668,0.8926

669,0.89289999

670,0.89319998

671,0.89349997

672,0.89380002

673,0.894200027

674,0.894500017

675,0.894800007

676,0.895099998

677,0.895399988

678,0.895699978

679,0.896099985

680,0.896399975

681,0.896700025

682,0.897000015

683,0.897300005

684,0.897599995

685,0.897899985

686,0.898299992

687,0.898599982

688,0.898899972

689,0.899200022

690,0.899500012

691,0.899800003

692,0.900099993

693,0.900399983

694,0.900699973

695,0.901000023

696,0.90140003

697,0.90170002

698,0.90200001

699,0.9023

700,0.90259999

701,0.902899981

702,0.903199971

703,0.903500021

704,0.903800011

705,0.904100001

706,0.904399991

707,0.904699981

708,0.904999971

709,0.905300021

710,0.905600011

711,0.905900002

712,0.906199992

713,0.906499982

714,0.906799972

715,0.907100022

716,0.907400012

717,0.907700002

718,0.907999992

719,0.908299983

720,0.908599973

721,0.908900023

722,0.909200013

723,0.909500003

724,0.909799993

725,0.910099983

726,0.910399973

727,0.910700023

728,0.911000013

729,0.911300004

730,0.911599994

731,0.911899984

732,0.912199974

733,0.912500024

734,0.912699997

735,0.912999988

736,0.913299978

737,0.913600028

738,0.913900018

739,0.914200008

740,0.914499998

741,0.914799988

742,0.915099978

743,0.915400028

744,0.915600002

745,0.915899992

746,0.916199982

747,0.916499972

748,0.916800022

749,0.917100012

750,0.917400002

751,0.917699993

752,0.917900026

753,0.918200016

754,0.918500006

755,0.918799996

756,0.919099987

757,0.919399977

758,0.91960001

759,0.9199

760,0.92019999

761,0.92049998

762,0.920799971

763,0.92110002

764,0.921299994

765,0.921599984

766,0.921899974

767,0.922200024

768,0.922500014

769,0.922699988

770,0.922999978

771,0.923300028

772,0.923600018

773,0.923799992

774,0.924099982

775,0.924399972

776,0.924700022

777,0.925000012

778,0.925199986

779,0.925499976

780,0.925800025

781,0.926100016

782,0.926299989

783,0.926599979

784,0.926900029

785,0.927200019

786,0.927399993

787,0.927699983

788,0.927999973

789,0.928200006

790,0.928499997

791,0.928799987

792,0.929099977

793,0.92930001

794,0.9296

795,0.929899991

796,0.930100024

797,0.930400014

798,0.930700004

799,0.930899978

800,0.931200027

801,0.931500018

802,0.931699991

803,0.931999981

804,0.932299972

805,0.932500005

806,0.932799995

807,0.933099985

808,0.933300018

809,0.933600008

810,0.933899999

811,0.934099972

812,0.934400022

813,0.934700012

814,0.934899986

815,0.935199976

816,0.935500026

817,0.935699999

818,0.93599999

819,0.936200023

820,0.936500013

821,0.936800003

822,0.936999977

823,0.937300026

824,0.937600017

825,0.93779999

826,0.93809998

827,0.938300014

828,0.938600004

829,0.938899994

830,0.939100027

831,0.939400017

832,0.939599991

833,0.939899981

834,0.940100014

835,0.940400004

836,0.940699995

837,0.940900028

838,0.941200018

839,0.941399992

840,0.941699982

841,0.941900015

842,0.942200005

843,0.942399979

844,0.942700028

845,0.943000019

846,0.943199992

847,0.943499982

848,0.943700016

849,0.944000006

850,0.944199979

851,0.944500029

852,0.944700003

853,0.944999993

854,0.945200026

855,0.945500016

856,0.94569999

857,0.94599998

858,0.946200013

859,0.946500003

860,0.946699977

861,0.947000027

862,0.9472

863,0.94749999

864,0.947700024

865,0.948000014

866,0.948199987

867,0.948499978

868,0.948700011

869,0.949000001

870,0.949199975

871,0.949500024

872,0.949699998

873,0.949999988

874,0.950200021

875,0.950500011

876,0.950699985

877,0.950900018

878,0.951200008

879,0.951399982

880,0.951699972

881,0.951900005

882,0.952199996

883,0.952400029

884,0.952600002

885,0.952899992

886,0.953100026

887,0.953400016

888,0.953599989

889,0.95389998

890,0.954100013

891,0.954299986

892,0.954599977

893,0.95480001

894,0.9551

895,0.955299973

896,0.955500007

897,0.955799997

898,0.95599997

899,0.95630002

900,0.956499994

901,0.956700027

902,0.957000017

903,0.957199991

904,0.957499981

905,0.957700014

906,0.957899988

907,0.958199978

908,0.958400011

909,0.958599985

910,0.958899975

911,0.959100008

912,0.959299982

913,0.959599972

914,0.959800005

915,0.960099995

916,0.960300028

917,0.960500002

918,0.960799992

919,0.961000025

920,0.961199999

921,0.961499989

922,0.961700022

923,0.961899996

924,0.962199986

925,0.962400019

926,0.962599993

927,0.962899983

928,0.963100016

929,0.96329999

930,0.963500023

931,0.963800013

932,0.963999987

933,0.96420002

934,0.96450001

935,0.964699984

936,0.964900017

937,0.965200007

938,0.965399981

939,0.965600014

940,0.965799987

941,0.966099977

942,0.966300011

943,0.966499984

944,0.966799974

945,0.967000008

946,0.967199981

947,0.967400014

948,0.967700005

949,0.967899978

950,0.968100011

951,0.968299985

952,0.968599975

953,0.968800008

954,0.968999982

955,0.969200015

956,0.969500005

957,0.969699979

958,0.969900012

959,0.970099986

960,0.970399976

961,0.970600009

962,0.970799983

963,0.971000016

964,0.971300006

965,0.971499979

966,0.971700013

967,0.971899986

968,0.972199976

969,0.97240001

970,0.972599983

971,0.972800016

972,0.97299999

973,0.97329998

974,0.973500013

975,0.973699987

976,0.97390002

977,0.974099994

978,0.974399984

979,0.974600017

980,0.974799991

981,0.975000024

982,0.975199997

983,0.975499988

984,0.975700021

985,0.975899994

986,0.976100028

987,0.976300001

988,0.976599991

989,0.976800025

990,0.976999998

991,0.977199972

992,0.977400005

993,0.977599978

994,0.977900028

995,0.978100002

996,0.978299975

997,0.978500009

998,0.978699982

999,0.978900015

1000,0.979200006

1001,0.979399979

1002,0.979600012

1003,0.979799986

1004,0.980000019

1005,0.980199993

1006,0.980400026

1007,0.980700016

1008,0.98089999

1009,0.981100023

1010,0.981299996

1011,0.98150003

1012,0.981700003

1013,0.981899977

1014,0.98210001

1015,0.9824

1016,0.982599974

1017,0.982800007

1018,0.98299998

1019,0.983200014

1020,0.983399987

1021,0.98360002

1022,0.983799994

1023,0.984000027





true

true










[/details]

use the [spoiler] [/spoiler] tags

the additionalhydra is remaining from the filter with the formula device, it is used there to set a min and max value to increase the range of the frequency rotary encoder

relatedly, the more paragraphs you have in the formula device the faster It loads (which would seem counterintuitive as every paragraph has its own

Well I had some time to work on that tool, but I seemed to have messed up the cubic interpolation code, table.insert gets the value as NIL therefore, thinks the 3rd passed parameter is the value.

http://pastebin.com/P2baGpRE

Found some of the issuesI had with the paste above, but I also found a copy of inkscape so maybe fitting a custom path would be a better solution instead of a(for plugins ~13 000 value) lookup table that still won’t really be precise enough. I don’t yet know how to use the path data though. I think I can get that data directly into inkscape or maybe just get the vector data out of a excel graph at a very high resolution

really don’t know yet

edit: hm… maybe not, I tried to fit a spline to the renoise filter curve, and I got it reasonable at8 points, so ~40 values to perform math on, the precision I’m looking for is 8 digits, that of many vst parameters, if I understand correctly, from the rule in inscape, my ‘precision’ is5.5 decimal points at the moment? this need more testing

EDIT2: with those 8 points, looking at the rule, I managed to graphically get a 'precision 'of 6.5 digits, still no idea how to use this data, haha

Gova your algo looks interesting. Is it a general translation table generator? Sopar.value_string is the translated / displayed value?

Maybe then interpolate in realtime…

The script is designed to find the renoise.song().selected_device:parameter( parameter ).valueevery time the parameter’s displayedvalue changes, therefore renoise.song().selected_device:parameter( parameter ).value_string changes

It creates 2 tables with the same index, one for the parameters and the other for the strings.

Often the string table is not necessaryas the index will match the strings.

We use these tables to create a lookup table, where frequency=index and the parameter.value of that frequency as the value.

The actual translation is happening entirely in the formula device:

The frequency input sets the frequency of the base note, and that is the note received by the key input in the formula. When the key changes, the frequency of the base note is the same, so now the formula inside simply finds the frequency of this new note we received.

This frequency is looked up directly as the index of the lookup table in the formula device.

Here’s the bare version, no interpolation (the usage was completely incorrect anyway)
http://pastebin.com/2eAg9NQL

Be my guest to implement interpolation, I really don’t have the time, you may think, why bother, we already have ~4 thousand lookup values, but that’s far from what’s available, the non-renoise effectsI tested seemed to have a resolution ofat least 6decimal places of parameter().value (we’re not just talking filters here), so there’s definitely a point in that.

It would be cool if it would make a lfo device with a representation of that input curve so that linear parts if any would be clearly visible, and would allow maximum precision without increasing the lookup table size.

Ok, because of a forum accident, some important contents by OopslFly were deleted. I hope u don’t mind if I repost your text from google cache. Also have a look here, Taktik posted the proper formulas:https://forum.renoise.com/t/kbd-to-filter-play-the-filter-resoance-not-quit-there-yet/44409

------- OopsIFly wrote:

This is presenting some Work on and inspired by the Slider/Knob range translation formula given by Taktik. Also I would like to have this thread as a place for discussing the formulas and keep an collection of others similliar stuff, to have it all together at one place, and to try to keep it some kind of up to date. I’ve also put some obvious (=linear) scalings here that can be useful to keytrack, and this also has the reason to have a collection of knowledge so you can see right away which parameters could be script-mapped and wich are uncertain atm.

One of the most obvious uses of knowing this formula is keytracking all sorts of frequencies. I.e. to “play” a comb filter or autooscillating resonant filter with the keyboard, to shift filter cutoffs relative to the note they filter, transpose eqs by musical intervals, you name it. Great stuff, very powerful.

I will present each formula with some approximated form that wolfram alpha spat out after setting variables and solving for slider 0…1 and one simple copy&paste formula device in a spoiler that can translate from a keytracker to cutoff/frequency of the named devices. Keep in mind this is different to the LFO table solution given here before for the old devices, for example I’ve added a pitch bend knob to the devices, that can bend the pitch by a number of semitones without steps. You could also detune, add an offset and lfo it, whatever you like, be it in Frequency or Note scaling. The device is split in two functions, one to map key and bend to frequency in herz (“kt2frq”) and another to map frequency to cutoff/freq parameter value (“frq2flt”) to allow for easier modifications of the code, it could maybe be optimized by baking a single function out of it. You can also swap out the formula in ftq2flt easily with the ones given in the listings below.

Also the fomula is configurable in the top rows of the lua code. The “fromnote” and “tonote” numbers are for defining the range of the keytracker that is fed into the device. 0-119 is the full range from c-0 to b-9, you can change both to reflect another range. The “bendrange” is the range in semitones that can be bent up or down with the second slider when it is different from 0.5 . The “a4” and “a4f” are for defining a reference note (a-4 by default, number 57, hence the name of the vars) and its frequency (440 hz by default). You can tune with these values, i.e. to pitch up or down one octave quickly try 880.0 or 220.0 for “a4f”.

Please bear in mind that I’m no experienced code, and the functions can have errors and won’t check for bad configurations. Also the formula devices can only trigger frequencies that the device allows within its range. The formula device seems to clamp out of range values automatically. But for example the mixer eq peak is pretty limited in its note range, and this can’t be done better.

Here is a little lua function to translate two strings (like “a-3” or “f#6” or “Bb5”) to their note numbers so you can configure the formula device note ranges with a little more convenience. You can load it in the renoise scripting window/terminal for example, or make a console app out of it:

Click to view contents

function NoteRange(minnote,maxnote)
local NoteVal = { [“c”]=0, [“d”]=2, [“e”]=4, [“f”]=5, [“g”]=7, [“a”]=9, [“b”]=11 }
local SignVal = { [“b”]=-1, ["-"]=0, ["#"]=1 }
local result1 = -1;
local result2 = -1;
if minnote ~= nil then
local MyNote = string.lower(string.sub(minnote,1,1))
if NoteVal[MyNote] ~= nil then
result1 = NoteVal[MyNote]
local MyNote = string.lower(string.sub(minnote,2,2))
if SignVal[MyNote] ~= nil then result1 = result1 + SignVal[MyNote]; end
if tonumber(string.sub(minnote,3,3)) ~= nil then result1 = result1 + 12.0 * tonumber(string.sub(minnote,3,3)) else result1 = -1; end;
end
end
if maxnote ~= nil then
local MyNote = string.lower(string.sub(maxnote,1,1))
if NoteVal[MyNote] ~= nil then
result2 = NoteVal[MyNote]
local MyNote = string.lower(string.sub(maxnote,2,2))
if SignVal[MyNote] ~= nil then result2 = result2 + SignVal[MyNote]; end
if tonumber(string.sub(maxnote,3,3)) ~= nil then result2 = result2 + 12.0 * tonumber(string.sub(maxnote,3,3)) else result2 = -1; end;
end
end
print ( "From: ", result1, " to ", result2 )
end

Of course there can be other stuff done With these formulas. I just thought It’d be nice to present this with something that people without coding background can use straight away and have fun with.

The main formula from taktik and then modified a bit (the maxf and minf part, it’s maximum and minimum freqeuency of the device) by me is “y = ((pow(10, log10(s)x) - 1) / (s - 1))(maxf-minf)+minf” - where y is the frequency in hz and x the slider value. This is the other way round as we would find interesting to use, I guess this is because the formula was for translating a slider value to the number of hz for the parameter value display. What I’ve done was putting in “s” and “maxf/minf” values in, put it into wolfram alpha and let it solve for “x”, then using the real result and the approximation of it. This seems to work quite nice for s=100.

  • Ok, here we go, the formulas and the devices that use them

1.)

s = 100, min = 40 (?) max = 18000 (?)

AnalogFilterDevice cutoff (Analog Filter in Renoise 3.1, but the diode filter seems off, with cutoff rising when reso increases)

Cutoff/Freq of Moog, Clean, K35, the Diode, Band Pass/Stop, Decimator - filters in Chorus2Device (new chorus in Renoise 3.1)

Most Probably also the Filters in Flanger2Device, (3.1) same as the Chorus (untested).

Also the new 3.1 instrument modulation filters seem to respond by this formula, they are also the same as the Chorus. No real use, because in polyphonic modulation there is no formula device, so frequencies can only be tracked from an effect slot via a macro - only monophonic, no polyphonic action.

Map Hz to Slider: return 0.217147log(0.0000556793(99*inp+14000))

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





true

true

Init

Bundled Content

true



1.0

Device only





frq2flt(kt2frq(A, B))





– keytracker range:

local fromnote = 0.0

local tonote = 119.0



– bend range in semitones:

local bendrange = 12.0





– reference note and its frequency:

local a4 = 57.0

local a4f = 440.0



local trt = 1.0594630943592952645



function frq2flt (inp)

– put Hz to slider translation formula here

return 0.217147log(0.0000556793(99inp+14000))

end



function kt2frq (inp, bnd)

– maps 0…1 keytracker value with bend to frequency in hz

local nnbr = inp
(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0

return a4f * pow(trt, nnbr-a4)

end





Key

Bend

-

true



1.0

Device only





0.5

Device only





0.0

Device only





-1

Device only





-1

Device only





-1

Device only





2.)

s = 100, min = 20 (?), max = 20000 (?)

DigitalFilterDevice (Digital Filter in Renoise 3.1)

Theoretically: Phaser2Device (Phase), Floor and Ceiling display correct values, but resonant freq will be very different depending on number of stages, so the mapping is rather useless.

Map Hz to Slider: return 0.217147log(0.00045045(11*inp+2000))

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





true

true

Init

Bundled Content

true



1.0

Device only





frq2flt(kt2frq(A, B))





– keytracker range:

local fromnote = 0.0

local tonote = 119.0



– bend range in semitones:

local bendrange = 12.0





– reference note and its frequency:

local a4 = 57.0

local a4f = 440.0



local trt = 1.0594630943592952645



function frq2flt (inp)

– put Hz to slider translation formula here

return 0.217147log(0.00045045(11inp+2000))

end



function kt2frq (inp, bnd)

– maps 0…1 keytracker value with bend to frequency in hz

local nnbr = inp
(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0

return a4f * pow(trt, nnbr-a4)

end





Key

Bend

-

true



1.0

Device only





0.5

Device only





0.0

Device only





-1

Device only





-1

Device only





-1

Device only





Linear Scaling, min = 20, max = 20000

Eq5Device, Eq10Device EQ Points Frequency (EQ5 and EQ10)

Map Hz to Slider: return (inp - 20.0) / (20000.0 - 20.0)

Map Hz to Slider Nodivision: return (inp - 20.0) * 0.00005005

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





true

true

Init

Bundled Content

true



1.0

Device only





frq2flt(kt2frq(A, B))





– keytracker range:

local fromnote = 0.0

local tonote = 119.0



– bend range in semitones:

local bendrange = 12.0





– reference note and its frequency:

local a4 = 57.0

local a4f = 440.0



local trt = 1.0594630943592952645



function frq2flt (inp)

– put Hz to slider translation formula here

return (inp - 20.0) * 0.00005005

end



function kt2frq (inp, bnd)

– maps 0…1 keytracker value with bend to frequency in hz

local nnbr = inp*(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0

return a4f * pow(trt, nnbr-a4)

end





Key

Bend

-

true



1.0

Device only





0.5

Device only





0.0

Device only





-1

Device only





-1

Device only





-1

Device only





Linear Scaling, min = 400, max = 3400

MixerEqDevice “Mid Freq.” (Mixer EQ)

Map Hz to Slider: return (inp - 400.0) / (3400.0 - 400.0)

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





true

true

Init

Bundled Content

true



1.0

Device only





frq2flt(kt2frq(A, B))





– keytracker range:

local fromnote = 0.0

local tonote = 119.0



– bend range in semitones:

local bendrange = 12.0





– reference note and its frequency:

local a4 = 57.0

local a4f = 440.0



local trt = 1.0594630943592952645



function frq2flt (inp)

– put Hz to slider translation formula here

return (inp - 400.0) / (3400.0 - 400.0)

end



function kt2frq (inp, bnd)

– maps 0…1 keytracker value with bend to frequency in hz

local nnbr = inp*(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0

return a4f * pow(trt, nnbr-a4)

end





Key

Bend

-

true



1.0

Device only





0.5

Device only





0.0

Device only





-1

Device only





-1

Device only





-1

Device only





Linear Scaling, min = 10, max = 4999

Reverb3Device “Low Cut” (mpReverb)

Map Hz to Slider: return (inp - 10.0) / (4999.0 - 10.0)

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





true

true

Init

Bundled Content

true



1.0

Device only





frq2flt(kt2frq(A, B))





– keytracker range:

local fromnote = 0.0

local tonote = 119.0



– bend range in semitones:

local bendrange = 12.0





– reference note and its frequency:

local a4 = 57.0

local a4f = 440.0



local trt = 1.0594630943592952645



function frq2flt (inp)

– put Hz to slider translation formula here

return (inp - 10.0) / (4999.0 - 10.0)

end



function kt2frq (inp, bnd)

– maps 0…1 keytracker value with bend to frequency in hz

local nnbr = inp*(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0

return a4f * pow(trt, nnbr-a4)

end





Key

Bend

-

true



1.0

Device only





0.5

Device only





0.0

Device only





-1

Device only





-1

Device only





-1

Device only





Linear Scaling, min = 500(=Off), max = 3000

Reverb3Device “Color” (mpReverb, Will be “off” if the lowest possible value of 0 / 500hz is hit)

Map Hz to Slider: return (inp - 500.0) / (3000.0 - 500.0)

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





true

true

Init

Bundled Content

true



1.0

Device only





frq2flt(kt2frq(A, B))





– keytracker range:

local fromnote = 0.0

local tonote = 119.0



– bend range in semitones:

local bendrange = 12.0





– reference note and its frequency:

local a4 = 57.0

local a4f = 440.0



local trt = 1.0594630943592952645



function frq2flt (inp)

– put Hz to slider translation formula here

return (inp - 500.0) / (3000.0 - 500.0)

end



function kt2frq (inp, bnd)

– maps 0…1 keytracker value with bend to frequency in hz

local nnbr = inp*(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0

return a4f * pow(trt, nnbr-a4)

end





Key

Bend

-

true



1.0

Device only





0.5

Device only





0.0

Device only





-1

Device only





-1

Device only





-1

Device only





7.)

s = 100, min = 0(?), max = 22050(?):

Filter3Device (Filter up to renoise 3, but 4pole shelf will be off and drift when shelf is changed)

FilterDistortionDevice (Scream Filter up to renoise 3)

CrossoverDevice Low & High (Multiband Send)

ExciterDevice Low & High (Exciter)

Map Hz to Slider: return 0.217147log(0.000408163(11*inp+2450))

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





true

true

Init

Bundled Content

true



1.0

Device only





frq2flt(kt2frq(A, B))





– keytracker range:

local fromnote = 0.0

local tonote = 119.0



– bend range in semitones:

local bendrange = 12.0





– reference note and its frequency:

local a4 = 57.0

local a4f = 440.0



local trt = 1.0594630943592952645



function frq2flt (inp)

– put Hz to slider translation formula here

return 0.217147log(0.000408163(11inp+2450))

end



function kt2frq (inp, bnd)

– maps 0…1 keytracker value with bend to frequency in hz

local nnbr = inp
(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0

return a4f * pow(trt, nnbr-a4)

end





Key

Bend

-

true



1.0

Device only





0.5

Device only





0.0

Device only





-1

Device only





-1

Device only





-1

Device only





8.)

s = 100, min = 20(?), max = 11020(?)

CombDevice (old comb filter)

Map Hz to Slider: return 0.217147log(9inp+820)-1.5

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





true

true

Init

Bundled Content

true



1.0

Device only





frq2flt(kt2frq(A, B))





– keytracker range:

local fromnote = 0.0

local tonote = 119.0



– bend range in semitones:

local bendrange = 12.0





– reference note and its frequency:

local a4 = 57.0

local a4f = 440.0



local trt = 1.0594630943592952645



function frq2flt (inp)

– put Hz to slider translation formula here

return 0.217147log(9inp+820)-1.5

end



function kt2frq (inp, bnd)

– maps 0…1 keytracker value with bend to frequency in hz

local nnbr = inp*(tonote-fromnote) + fromnote + (bnd-0.5)bendrange2.0

return a4f * pow(trt, nnbr-a4)

end





Key

Bend

-

true



1.0

Device only





0.5

Device only





0.0

Device only





-1

Device only





-1

Device only





-1

Device only





  • A Todo List for parameter I (or anyone of you) would like to see in this collection:

  • Old Chorus filters (like Filter3Device?)

  • Multitapdelay Filters (seems not the same formula as Filter3Device by the reported slider values…)

  • flanger + chorus + delay + multitapdelay + mpreverb & convolver pre-delay - delay values could be mapped to freq in hz for comb filter like FX

  • LoFiDevice + Old Ringmod

  • test instrument filters (could be mapped via a macro)

  • Other than direct frequency: value to delay in modulation devices delays, for perfect automated syncing to song speed.

  • Delay sliders in general for automated syncing purposes

  • Wishlist for other functions we would like to know from Taktik

(sorry big and red, so meeebie he will have his eyes on this sometime)

  • Old Chorus filters (like Filter3Device?)
  • Multitapdelay Filters (seems not the same formula as Filter3Device by the reported slider values…)
  • Old and New Chorus and Flanger Delay parameter scalings
  • LoFiDevice real frequency formula (given seems wrong)
  • old Ringmod real frequency formula (given seems wrong)
  • The real Phaser reso peaks Frequencies?
  • Correction Formula for the 3.1 diode filter?

LoFiDevice and the old Ringmod were given by Taktik with the log formula with “s” being 16 for the Lofidevice and 20000 for the old Ringmod - I’ve tested both configurations, and some other I just guessed, but couldn’t find any configuration that hit the frequencies just right.

Treat this as a gift to the community (= public domain), but don’t demand anything from me.

I have taken Time to research and test this, but errors could still be here, be it copy & paste or bad code, please comment here if you find something fishy…

Original Thread Opening Message:

Hi, Taktikmade a nice postclearing up the actual formula involved in translating a frequency to some filter devices cutoffs. Keep in mind the formula given there seems to translate the other way round, and needs to be solved for “x” to be useful for i.e. translating from a keytracker with a formula device. No need to break your head over this, stuff like wolfram alpha can do it automatically for you.

I thought in this thread we could collect the basic and warping formulas for all kinds of sliders of devices, and maybe share formula device setups for warping something useful with them.

Or nag @taktik to give out more formulas, before I make a post with the formulas and setups already known after some testings, I’d like to make a request regarding the formula for EQ5 and EQ10 frequency parameter warpings, the currently known formula won’t fit in.

Edited by OopsIFly, 09 January 2016 - 15:09.

  • danoise and ffx like this

------- OopsIFly wrote:

Modulation filtering with the eq devices

Ok, I bragged in excitement in the status stuff about using the native eq devices for modulation filtering. So here comes a first, rather plain example in the form of a doofer.

This is not really the faint of the heart, but is an example of using the equalizers to do modulation filterings. It’s not so very complex - it’s basically some form of multimode filter, allowing setups like lowpass, bandpass, hipass, peaking, and notch to be setup or morphed between each other. It works around using 2 eq peaks and the hi and low shelves for creating these filter types. It somehow has its special sound - not so much like analog simulations, but those eq biquads can do some pretty whacky stuff, too. This version stacks two indentically setup EQ-5s to make a stronger effect and allow greater reductions in the stopbands.

Normally when trying to make music, I’d have used such eq techniques in a kind of “one-purpose-setup”, but for sharing I’ve put a little work into making it more generic configurable. Well…some work went into keeping the gain around the cutoff constant despite of the state of low and hi shelves, but you’ll see it is not so very consistent in terms of ease-of-use when automating it a lot and using the skew and Q parameters dynamically. Also as some diagnostic EQ instead of real filters were used, you’ll have to expect that the high frequencies will pierce a little, there’s no compensation to make it more ear-pleasing at hi cutoffs as you might expect from a true va filter. Today it is very hot here, and I don’t think it’d be such a great thing to make the “perfect allround doofer tuned to max” as it’d suck cpu like mad from all the formula devices, I’d say.

Ok, here the 8 parameter’s descriptions for use:

“Cutoff” - Yay, automate this like mad, please…

“Q” - The shape of the Peaks/Notches around cutoff. Low is wide, hi is narrow, high enough can make resonance-style action, but not so much self-oscillation but rather massive ringing with the input.

“Peak” - centered around 50%. The strength of the peak around the cutoff frequency. Higher than 50 will boost as allowed by the “TakeCare!” parameter, lower will create a notch relative to the level of low and high gains. Note this parameter tries to keep the cutoff-stuff at vaguely the same gain regardless of the settings of the “Low” and “High” parameters

“Low” and “High” - these will control the gain below and above the cutoff. No boosting possible, but gain reduction to up to -40db. I don’t need to say, if “Low” is up to 100, and “High” down to zero, you’ll have a lowpass with some cutoff attenuation or boosting depending on the “Peak” parameter.

“Skew” - this is a little speciality of this filter. It can shift the frequency response around the cutoff a little, and the effects depend on the other parameters. For example in a “bandpass” setup, low skew will put extra pronounciation on the freqs below cutoff, high skew will let high freqs shine through stronger. Note this might produce extra (maybe unwanted) gain when off the neutral position of 50%.

“Lag” - simple linear interpolation of cutoff changes. The number in percent should be equal to the number in ticks for the filter to reach the next value. Don’t beat me if the algorithm isn’t perfect, the form.device sucks in some stuff, but that is another story.

“TakeCare!” - this is named deliberatly this way, it will enable boosting the cutoff-peak from zero to up to +40db at 100%. Yea, this will be loud and shrill. I use such to overload distortions and such, and with heavy limiters. Take care.

Now I’ve added a limiter and a mild distortion to the end of the chain, to make sure noone blasts ears or speakers too much before understanding what this baby does. Remove if you know what you’re doing. In the doofer you can also see the second stage EQ graph as frequency response, but mind the response is double, there’s an identical EQ in the chain going on doubling the effect.

Copy&Paste doofer:

Click to view contents <?xml version="1.0" encoding="UTF-8"?>





EQMulti

true

true

EQPB3

false



1.0

Device only





50

Device only

Cutoff





3

1

0.0

1.0

Linear









50

Device only

Q





5

12

1.0

0.0

Linear





5

13

1.0

0.0

Linear





6

12

1.0

0.0

Linear





6

13

1.0

0.0

Linear









50

Device only

Peak





1

1

0.0

1.0

Linear









100

Device only

Low





5

1

0.0

0.5

Linear





0

1

0.0

1.0

Linear





6

1

0.0

0.5

Linear









100

Device only

High





5

5

0.0

0.5

Linear





0

2

0.0

1.0

Linear





6

5

0.0

0.5

Linear









50

Device only

Skew





5

11

0.0

1.0

Linear





5

15

1.0

0.0

Linear





6

11

0.0

1.0

Linear





6

15

1.0

0.0

Linear









12

Device only

Lag





3

2

0.0

1.0

Linear









0.0

Device only

TakeCare!





1

3

0.0

1.0

Linear







8

true



Init

true





LHFac

false

false

#Init

true



1.0

Device only





lhfac(A, B)





function lhfac(Ls,Hs)

return 1.0-(Ls+Hs)0.5

end



L

H

-

true

1



1.0

Device only





1.0

Device only





0.0

Device only





-1

Device only





1.0

Device only





2

Device only







PeakComp1

false

false

#Init

true



1.0

Device only





peak_comp(A,B,C)





function peak_comp (Pk,LHf,Max)

local Maxdb = Max
20.0

local LHfdb = LHf*20.0

if(Pk>0.5) then

Pk = (Pk-0.5)2.0

local Pkdb = Pk
Maxdb + LHfdb

Pk = (Pkdb/40.0)*0.5 + 0.5

else

Pk = (0.5-Pk)2.0

local Pkdb = Pk
20.0 - LHfdb

Pk = 0.5-(Pkdb/40.0)*0.5

end

return Pk

end



P

LH

Max

true

1



0.5

Device only





0.0

Device only





0.0

Device only





-1

Device only





2

Device only





1.0

Device only







Peak

false

false

Init

true



1.0

Device only



1



0.5

Mixer and Device





-1

Device only





5

Device only





2

Device only





0.0

Device only





1.0

Device only



Linear



-1

Device only





5

Device only





3

Device only





0.0

Device only





1.0

Device only



Linear



-1

Device only





6

Device only





2

Device only





0.0

Device only





1.0

Device only



Linear



-1

Device only





6

Device only





3

Device only





0.0

Device only





1.0

Device only



Linear



-1

Device only





-1

Device only





-1

Device only





0.0

Device only





1.0

Device only



Linear



-1

Device only





-1

Device only





-1

Device only





0.0

Device only





1.0

Device only



Linear



-1

Device only





-1

Device only





-1

Device only





0.0

Device only





1.0

Device only



Linear



-1

Device only





-1

Device only





-1

Device only





0.0

Device only





1.0

Device only



Linear



-1

Device only





-1

Device only





-1

Device only





0.0

Device only





1.0

Device only



Linear





FreqSmth

false

true

linsmooth

true



1.0

Device only





inertia_lin(A, B)









glideticksscaler = 100.0



from = 0.5

target = 0.5

current = 0.5

last = 0.5

addstp = 0.0

curticks = 1.0

ticksdone = 0.0



function inertia_lin (input, ticks)

if (ticks ~= curticks) then

curticks = ticks * glideticksscaler

end

if (input ~= last) then

target = input

last = input

from = current

addstp = (target - current) / curticks

end

if (addstp ~= 0.0) then

current = current + addstp

if (addstp > 0.0) then

if (current > target) then

addstp = 0.0

current = target

end

end

if (addstp < 0.0) then

if (current < target) then

addstp = 0.0

current = target

end

end

end

return current

end



Input

Inertia

_

true

1



0.5

Device only





0.119999997

Device only





0.0

Device only





-1

Device only





4

Device only





1.0

Device only







Freq

false

false

Init

true



1.0

Device only



2



0.5

Mixer and Device





-1

Device only





5

Device only





7

Device only





0.0

Device only





0.4994995

Device only



Exp Fast



-1

Device only





5

Device only





8

Device only





0.0

Device only





0.4994995

Device only



Exp Fast



-1

Device only





5

Device only





6

Device only





0.0

Device only





0.4994995

Device only



Exp Fast



-1

Device only





5

Device only





10

Device only





0.0

Device only





0.4994995

Device only



Exp Fast



-1

Device only





6

Device only





7

Device only





0.0

Device only





0.4994995

Device only



Exp Fast



-1

Device only





6

Device only





8

Device only





0.0

Device only





0.4994995

Device only



Exp Fast



-1

Device only





6

Device only





6

Device only





0.0

Device only





0.4994995

Device only



Exp Fast



-1

Device only





6

Device only





10

Device only





0.0

Device only





0.4994995

Device only



Exp Fast



-1

Device only





-1

Device only





-1

Device only





0.0

Device only





1.0

Device only



Linear





EQst1

false

false

Init

true



1.0

Device only



L+R

20



0.0

Device only





0.0

Device only





0.0

Device only





0.0

Device only





0.0

Device only





685.333374

Device only





685.333374

Device only





685.333374

Device only





20000

Device only





685.333374

Device only





0.500050008

Device only





2.00005007

Device only





2.00005007

Device only





4

Device only





0.500050008

Device only



Graph Only





EQst2

true

false

Init

true



1.0

Device only



L+R

20



0.0

Device only





0.0

Device only





0.0

Device only





0.0

Device only





0.0

Device only





685.333374

Device only





685.333374

Device only





685.333374

Device only





20000

Device only





685.333374

Device only





0.500050008

Device only





2.00005007

Device only





2.00005007

Device only





4

Device only





0.500050008

Device only



Graph Only





true

false

Init

true



1.0

Device only





13.9280224

Device only





16

Device only





0.199990004

Device only





100

Device only





1.23253775

Mixer and Device







true

false

Init

true



1.0

Device only





1.0

Device only





0.0599999949

Device only





0.5

Device only





1.0

Device only





0.0

Device only











I don’t take any responsibility of damages to whatever caused by using it - use at your own risk.

Next time I’m bored and find no approaches to actual music, I might make another doofer with more complex stuff. This one is way simple. You can do vowel like stuff, or other mad shit with automating EQs. Happy experimenting!

Sadly all code contents were ripped off by the forum filters… Any way to get the original posts?