Spaces:
Running
Running
Commit
·
7c9157c
1
Parent(s):
0e6b4b2
refactor: define common steps into one function
Browse files
app.py
CHANGED
@@ -722,16 +722,19 @@ with gr.Blocks() as demo:
|
|
722 |
|
723 |
return fx
|
724 |
|
725 |
-
|
|
|
|
|
|
|
|
|
726 |
lambda x, *all_s: assign_fx_params(vec2fx(x), *all_s),
|
727 |
-
lambda fx: (
|
728 |
-
lambda x, fx: (x2z(x), x, fx),
|
729 |
)
|
730 |
|
731 |
for s in peq_sliders:
|
732 |
s.input(
|
733 |
chain_functions(
|
734 |
-
lambda x, i, *args:
|
735 |
lambda z, x, fx, extra_pc_idx: [z, x]
|
736 |
+ [model2json(fx), plot_eq(fx)]
|
737 |
+ update_pc(z, extra_pc_idx),
|
@@ -743,7 +746,7 @@ with gr.Blocks() as demo:
|
|
743 |
for s, update_plot in zip(cmp_sliders, cmp_update_plot_flag):
|
744 |
s.input(
|
745 |
chain_functions(
|
746 |
-
lambda x, i, *args:
|
747 |
lambda z, x, fx, e_pc_i, update_plot=update_plot: [z, x]
|
748 |
+ [model2json(fx)]
|
749 |
+ ([plot_comp(fx)] if update_plot else [])
|
@@ -758,7 +761,7 @@ with gr.Blocks() as demo:
|
|
758 |
for s, update_plot in zip(delay_sliders, delay_update_plot_flag):
|
759 |
s.input(
|
760 |
chain_functions(
|
761 |
-
lambda x, i, *args:
|
762 |
lambda z, x, fx, e_pc_i, update_plot=update_plot: (
|
763 |
[z, x]
|
764 |
+ [model2json(fx)]
|
@@ -775,7 +778,7 @@ with gr.Blocks() as demo:
|
|
775 |
|
776 |
reverb_send.input(
|
777 |
chain_functions(
|
778 |
-
lambda x, i, *args:
|
779 |
lambda z, x, fx, e_pc_i: [z, x] + [model2json(fx)] + update_pc(z, e_pc_i),
|
780 |
),
|
781 |
inputs=[fx_params, extra_pc_dropdown] + all_effect_sliders,
|
@@ -889,11 +892,16 @@ with gr.Blocks() as demo:
|
|
889 |
update_pc_outputs + update_fx_outputs + update_plots_outputs + [json_output]
|
890 |
)
|
891 |
|
|
|
|
|
|
|
|
|
892 |
random_button.click(
|
893 |
chain_functions(
|
894 |
-
lambda i: (
|
895 |
-
|
896 |
-
|
|
|
897 |
lambda z, x, fx, i: [z, x] + update_all(z, fx, i),
|
898 |
),
|
899 |
inputs=extra_pc_dropdown,
|
@@ -901,9 +909,7 @@ with gr.Blocks() as demo:
|
|
901 |
)
|
902 |
reset_button.click(
|
903 |
chain_functions(
|
904 |
-
lambda: torch.zeros_like(mean),
|
905 |
-
lambda z: (z, z2x(z)),
|
906 |
-
lambda z, x: (z, x, vec2fx(x)),
|
907 |
lambda z, x, fx: [z, x] + update_all(z, fx, NUMBER_OF_PCS),
|
908 |
),
|
909 |
outputs=[z, fx_params] + update_all_outputs,
|
@@ -917,8 +923,7 @@ with gr.Blocks() as demo:
|
|
917 |
slider.input(
|
918 |
chain_functions(
|
919 |
lambda z, s, i=i: update_z(z, s, i),
|
920 |
-
|
921 |
-
lambda z, x: (z, x, vec2fx(x)),
|
922 |
lambda z, x, fx: [z, x, model2json(fx)]
|
923 |
+ update_fx(fx)
|
924 |
+ update_plots(fx),
|
@@ -931,8 +936,7 @@ with gr.Blocks() as demo:
|
|
931 |
extra_slider.input(
|
932 |
chain_functions(
|
933 |
lambda z, s, i: update_z(z, s, i - 1),
|
934 |
-
|
935 |
-
lambda z, x: (z, x, vec2fx(x)),
|
936 |
lambda z, x, fx: [z, x, model2json(fx)] + update_fx(fx) + update_plots(fx),
|
937 |
),
|
938 |
inputs=[z, extra_slider, extra_pc_dropdown],
|
|
|
722 |
|
723 |
return fx
|
724 |
|
725 |
+
accum_func_results = lambda init, *fs: reduce(
|
726 |
+
lambda x, f: (f(x[0]), *x), fs, (init,)
|
727 |
+
)
|
728 |
+
|
729 |
+
x2z_common_steps = chain_functions(
|
730 |
lambda x, *all_s: assign_fx_params(vec2fx(x), *all_s),
|
731 |
+
lambda fx: accum_func_results(fx, fx2x, x2z),
|
|
|
732 |
)
|
733 |
|
734 |
for s in peq_sliders:
|
735 |
s.input(
|
736 |
chain_functions(
|
737 |
+
lambda x, i, *args: x2z_common_steps(x, *args) + (i,),
|
738 |
lambda z, x, fx, extra_pc_idx: [z, x]
|
739 |
+ [model2json(fx), plot_eq(fx)]
|
740 |
+ update_pc(z, extra_pc_idx),
|
|
|
746 |
for s, update_plot in zip(cmp_sliders, cmp_update_plot_flag):
|
747 |
s.input(
|
748 |
chain_functions(
|
749 |
+
lambda x, i, *args: x2z_common_steps(x, *args) + (i,),
|
750 |
lambda z, x, fx, e_pc_i, update_plot=update_plot: [z, x]
|
751 |
+ [model2json(fx)]
|
752 |
+ ([plot_comp(fx)] if update_plot else [])
|
|
|
761 |
for s, update_plot in zip(delay_sliders, delay_update_plot_flag):
|
762 |
s.input(
|
763 |
chain_functions(
|
764 |
+
lambda x, i, *args: x2z_common_steps(x, *args) + (i,),
|
765 |
lambda z, x, fx, e_pc_i, update_plot=update_plot: (
|
766 |
[z, x]
|
767 |
+ [model2json(fx)]
|
|
|
778 |
|
779 |
reverb_send.input(
|
780 |
chain_functions(
|
781 |
+
lambda x, i, *args: x2z_common_steps(x, *args) + (i,),
|
782 |
lambda z, x, fx, e_pc_i: [z, x] + [model2json(fx)] + update_pc(z, e_pc_i),
|
783 |
),
|
784 |
inputs=[fx_params, extra_pc_dropdown] + all_effect_sliders,
|
|
|
892 |
update_pc_outputs + update_fx_outputs + update_plots_outputs + [json_output]
|
893 |
)
|
894 |
|
895 |
+
z2x_common_steps = chain_functions(
|
896 |
+
lambda z: accum_func_results(z, z2x, vec2fx),
|
897 |
+
lambda fx, x, z: (z, x, fx),
|
898 |
+
)
|
899 |
random_button.click(
|
900 |
chain_functions(
|
901 |
+
lambda i: (
|
902 |
+
*z2x_common_steps(torch.randn_like(mean).clip(SLIDER_MIN, SLIDER_MAX)),
|
903 |
+
i,
|
904 |
+
),
|
905 |
lambda z, x, fx, i: [z, x] + update_all(z, fx, i),
|
906 |
),
|
907 |
inputs=extra_pc_dropdown,
|
|
|
909 |
)
|
910 |
reset_button.click(
|
911 |
chain_functions(
|
912 |
+
lambda: z2x_common_steps(torch.zeros_like(mean)),
|
|
|
|
|
913 |
lambda z, x, fx: [z, x] + update_all(z, fx, NUMBER_OF_PCS),
|
914 |
),
|
915 |
outputs=[z, fx_params] + update_all_outputs,
|
|
|
923 |
slider.input(
|
924 |
chain_functions(
|
925 |
lambda z, s, i=i: update_z(z, s, i),
|
926 |
+
z2x_common_steps,
|
|
|
927 |
lambda z, x, fx: [z, x, model2json(fx)]
|
928 |
+ update_fx(fx)
|
929 |
+ update_plots(fx),
|
|
|
936 |
extra_slider.input(
|
937 |
chain_functions(
|
938 |
lambda z, s, i: update_z(z, s, i - 1),
|
939 |
+
z2x_common_steps,
|
|
|
940 |
lambda z, x, fx: [z, x, model2json(fx)] + update_fx(fx) + update_plots(fx),
|
941 |
),
|
942 |
inputs=[z, extra_slider, extra_pc_dropdown],
|