Skip to content

Commit 51ec465

Browse files
committed
Tweak example
1 parent c6c5f15 commit 51ec465

File tree

3 files changed

+630
-10
lines changed

3 files changed

+630
-10
lines changed

examples/dune

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@
3434
(package llama)
3535
(libraries llama))
3636

37+
(executable
38+
(public_name polyphonic_events_graphical)
39+
(modules polyphonic_events_graphical)
40+
(package llama_interactive)
41+
(libraries llama_interactive))
42+
3743
(executable
3844
(public_name oscilloscope)
3945
(modules oscilloscope)

examples/midi_player.ml

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ open Llama_interactive
33
open Llama.Midi
44
open Dsl
55

6-
let midi_signal (data : Llama_midi.Data.t) =
6+
let midi_signal (data : Llama_midi.Data.t) ~mouse_x ~mouse_y =
77
let clock = clock_of_frequency_hz (const 1000.0) in
88
let track = List.hd data.tracks in
99
let midi_event_signal = track_signal track clock in
@@ -33,8 +33,9 @@ let midi_signal (data : Llama_midi.Data.t) =
3333
|> exp_01 1.0
3434
in
3535
let filtered_osc =
36-
chebyshev_low_pass_filter osc ~resonance:(const 4.0)
37-
~cutoff_hz:(sum [ const 100.0; filter_env |> scale 12000.0 ])
36+
chebyshev_low_pass_filter osc ~resonance:mouse_y
37+
~cutoff_hz:
38+
(sum [ const 100.0; filter_env *.. mouse_x |> scale 12000.0 ])
3839
in
3940
filtered_osc
4041
|> lazy_amplifier
@@ -48,11 +49,7 @@ let mouse_filter = butterworth_low_pass_filter ~cutoff_hz:(const 10.0)
4849
let midi_signal_with_effects (input : (_, _) Input.t) data =
4950
let mouse_x = mouse_filter input.mouse.mouse_x in
5051
let mouse_y = mouse_filter input.mouse.mouse_y in
51-
midi_signal data
52-
|> chebyshev_low_pass_filter ~resonance:(const 2.0)
53-
~cutoff_hz:(mouse_x |> exp_01 4.0 |> scale 10000.0 |> offset 100.0)
54-
|> chebyshev_high_pass_filter ~resonance:(const 4.0)
55-
~cutoff_hz:(mouse_y |> exp_01 4.0 |> scale 2000.0 |> offset 100.0)
52+
midi_signal data ~mouse_x ~mouse_y
5653

5754
module Args = struct
5855
type t = { midi_file_path : string }
@@ -84,9 +81,9 @@ end
8481
let () =
8582
let { Args.midi_file_path } = Args.parse () in
8683
with_visualization_window ~background_rgba_01:(0.0, 0.0, 0.2, 1.0)
87-
~stable:false ~stride:4 ~pixel_scale:6 ~sample_scale:0.2
84+
~stable:false ~stride:1 ~pixel_scale:1 ~sample_scale:1.
8885
~sample_to_rgba_01:(Fun.const (0.6, 0.5, 0.2, 1.0))
8986
(fun window ->
9087
let reader = Llama_midi.File_reader.of_path midi_file_path in
9188
let data = Llama_midi.File_reader.read reader in
92-
midi_signal_with_effects (Window.input_signals window) data)
89+
midi_signal_with_effects (Window.input_signals window) data |> scale 0.1)

0 commit comments

Comments
 (0)