Changeset 6718

Show
Ignore:
Timestamp:
07/03/09 00:26:32 (14 months ago)
Author:
smimram
Message:

Dummy hammond emulation.

Location:
trunk/liquidsoap/src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/liquidsoap/src/operators/flanger.ml

    r6713 r6718  
    3737  method abort_track = source#abort_track 
    3838 
    39   val past = Array.init (Fmt.channels()) (fun _ -> Array.make past_len 0.) 
     39  val past = Array.init (Fmt.channels ()) (fun _ -> Array.make past_len 0.) 
    4040 
    4141  val mutable past_pos = 0 
  • trunk/liquidsoap/src/synth/synth.ml

    r6717 r6718  
    204204end 
    205205 
     206let hammond_coef = [|0.5; 1.5; 1.; 2.; 3.; 4.; 5.; 6.; 8.|] 
     207 
     208class hammond ?adsr drawbar = 
     209object 
     210  inherit simple ?adsr 
     211    (fun x -> 
     212       let y = ref 0. in 
     213         for i = 0 to 8 do 
     214           y := !y +. sin (x *. 2. *. pi *. hammond_coef.(i) *. drawbar.(i) /. 10.) 
     215         done; 
     216    !y) 
     217end 
     218 
    206219(* 
    207220(** Read a GUS pat file. *) 
  • trunk/liquidsoap/src/synth/synth_op.ml

    r6716 r6718  
    125125let () = register (fun adsr -> (new Synth.square ~adsr () :> Synth.synth)) "square" "Square synthesizer." 
    126126let () = register (fun adsr -> (new Synth.saw ~adsr () :> Synth.synth)) "saw" "Saw synthesizer." 
     127let () = register (fun adsr -> (new Synth.hammond ~adsr (* [|4.; 6.; 8.; 3.; 6.; 4.; 8.; 7.; 6.|] *) [|0.; 0.; 6.; 5.; 4.; 5.; 4.; 5.; 6.|] :> Synth.synth)) "hammond" "Hammond synthsizer."