#|
A tiny :cl-buchberger trivial usage.
Since I've currently been defining my beeping sounds as like
(flet ((period (timestep-x) #|...|#)) #|...|#)
It seems I could use somewhat intuitive polynomials.
Further, I could have more than one dimension of change over time,
which would simply be polynomials of more than one variable.
I want to explore this rather than using a dft, since I have the
plan to implement the polyblep method as my low level signal
generation already.
Using goofily chosen polynomials like this I think let's me sweep
out funky harmonics in a way that might not be obvious choosing
them in frequency space. The way different instruments sound has
to do with their harmonics.
cl-buchberger also has
|#
(asdf:oos 'asdf:load-op :cl-buchberger)
(in-package :cl-buchberger-user)
(defparameter *ring* (make-instance 'ring :variables '(x)))
(defparameter *f-1*
(make-polynomial '(+ (expt x 1) 10)))
#|
*f-1*
#<POLYNOMIAL x + 10>
|#
(defparameter *f-2*
(make-polynomial '(- (expt x 1) 10)))
#|
*f-2*
#<POLYNOMIAL x - 10>
|#
(defparameter *f-2.3*
(ring* *f-1* *f-2*))
#|
*f-2.3*
#<POLYNOMIAL x^2 - 100>
|#
(mapterm #'identity *f-2.3*)
#|
(#<CL-BUCHBERGER::TERM -100 #(0)> #<CL-BUCHBERGER::TERM 1 #(2)>)
Which it seems like I could use to evaluate polynomial equations.
I guess integration & differentiation is another matter.
For now, it seems I ran out of time today.
Jack Daniel (McCLIM and ECL developer) tells my bbn's scigraph is
bitrotten. While I would like to read and tease something out of
it, Jack Daniel is also developing a new McCLIM based graphing
program (my meaning of program here may be different to what you
think) here's @
[email protected] 's fossil:
https://fossil.turtleware.eu/polyclot
Also @
[email protected] 's cl-buchberger
https://git.sr.ht/~jmbr/cl-buchberger/tree/
McCLIM:
https://codeberg.org/McCLIM/McCLIM
|#