Skip to content

Commit 9bc4ad6

Browse files
committed
Norway meetup wip
1 parent c430f76 commit 9bc4ad6

1 file changed

Lines changed: 45 additions & 5 deletions

File tree

src/clojure_norway/meetup_2025_12/violin.clj

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ wav-ds
150150

151151
(def Nyquist-freq (* 0.5 sample-rate))
152152

153-
(defn data->dft-ds [data]
153+
(defn values->dft-ds [data]
154154
(let [dft (-> data
155155
double-array
156156
DiscreteFourier.)]
@@ -163,8 +163,40 @@ wav-ds
163163
:phase phase})
164164
(tc/add-column :power #(tcc/sq (:amplitude %)))))))
165165

166+
167+
168+
(def cosine-wave
169+
(-> {:time (-> (range 0
170+
0.1
171+
(/ 1.0 sample-rate)))}
172+
tc/dataset
173+
(tc/add-column :value #(-> %
174+
:time
175+
(dfn/* (* 2 math/PI 50))
176+
(dfn/+ (* 0.25 math/PI))
177+
dfn/cos))))
178+
179+
(-> cosine-wave
180+
(plotly/layer-line {:=x :time
181+
:=y :value}))
182+
183+
(def cosine-wave-dft-ds
184+
(-> cosine-wave
185+
:value
186+
values->dft-ds))
187+
188+
(-> cosine-wave-dft-ds
189+
(tc/head 20)
190+
(plotly/layer-line {:=x :freq
191+
:=y :power}))
192+
193+
(-> cosine-wave-dft-ds
194+
(tc/head 20))
195+
196+
197+
166198
(def some-dft-ds
167-
(data->dft-ds
199+
(values->dft-ds
168200
(some-part 1 1.05)))
169201

170202
(-> some-dft-ds
@@ -270,7 +302,16 @@ wav-ds
270302
:combined
271303
audio)
272304

273-
;; ## Spectogram (WIP)
305+
(-> (some-part 1 2)
306+
values->dft-ds
307+
(dft-ds->peaks-ds {:n-peaks 30})
308+
(peaks-ds->components-ds {:duration 1})
309+
components-ds->combined-ds
310+
:combined
311+
audio)
312+
313+
314+
;; ## Short Time Fourier Transform
274315

275316
(import 'com.github.psambit9791.jdsp.windows.Hanning)
276317

@@ -372,11 +413,10 @@ wav-ds
372413
;; ## Playing the spectrogram
373414

374415

375-
376416
(-> stft
377417
(->> (map (fn [dft]
378418
(-> dft
379-
(dft-ds->peaks-ds {:n-peaks 5})
419+
(dft-ds->peaks-ds {:n-peaks 10})
380420
(peaks-ds->components-ds {:duration 0.005})
381421
components-ds->combined-ds
382422
(tc/select-columns [:combined]))))

0 commit comments

Comments
 (0)