Thank you Donya ...
I tried SynthFont ... it seems to work to some extent. The instruments go a
little haywire though.
Regards,
Kashyap
>________________________________
> From: Donya Quick <[email protected]>
>To: CK Kashyap <[email protected]>
>Cc: "Hudak, Paul" <[email protected]>; "[email protected]"
><[email protected]>
>Sent: Tuesday, March 5, 2013 10:25 PM
>Subject: Re: [haskell-art] Review request
>
>
>> I have not been able to figure out the way to dump the output into a midi
>>file though.
>
>
Euterpea has a function called "test" that writes a Music value to a MIDI file
called "test.mid" in the working directory. However, to do this, Euterpea uses
Codec.Midi from the HCodecs library to first create a Midi value and then write
a .mid file. Unfortunately, Codec.Midi seems to have some bugs in the .mid file
conversion, and, as a result, the .mid files are readable by some programs but
not others. If you are on Windows, SynthFont (free) is usually able to open the
files without problems.
>
>
>-----Donya Quick
>
>
>On Tue, Mar 5, 2013 at 6:10 AM, CK Kashyap <[email protected]> wrote:
>
>Wow ... it looks much better now!!!
>>
>>
>>Thank you so much for your feedback Professor Hudak.
>>
>>
>>I have not been able to figure out the way to dump the output into a midi
>>file though.
>>
>>
>>Regards,
>>Kashyap
>>
>>
>>
>>>________________________________
>>> From: "Hudak, Paul" <[email protected]>
>>>To: CK Kashyap <[email protected]>; "[email protected]"
>>><[email protected]>
>>>Cc: "Quick, Donya" <[email protected]>; "Hudak, Paul"
>>><[email protected]>
>>>Sent: Tuesday, March 5, 2013 11:04 AM
>>>Subject: RE: [haskell-art] Review request
>>>
>>>
>>>
>>>Hi Kashyap. Glad to see someone using Euterpea! Here are some comments that
>>>may help you to simplify and clarify your code:
>>>
>>>· “Modify (Instrument Percussion) m” can be written “instrument
>>>Percussion m”.
>>>· Similarly, “Modify (Phrase [Dyn (Loudness 50)] m” can be written
>>>“phrase [Dyn (Loudness 50)] m”.
>>>· When using a percussion instrument, instead of writing, for
>>>example, “gs 3 en”, you can write “perc PedalHiHat en”, which, although
>>>longer, is certainly more readable.
>>>· “line []” is the same as “rest 0”.
>>>· There is a function “timesM” in Euterpea, so “base n” can be
>>>eliminated, and you can just write “timesM n base’ ”.
>>>· There are also function “takeM” and “repeatM”, so that:
>>>“(line (take (n * 16) (cycle [gs 3 en])))” can be written:
>>>“takeM (2*n) (repeatM (gs 3 en))”
>>>· I also wonder if you can take advantage of infinite music values
>>>in Euterpea. There is a parallel composition operator (/:=) that gives a
>>>result with duration equal to the shortest of its two arguments. So, for
>>>example:
>>>rhythm = instrument Percussion (repeat (gs 3 en) :=: repeat (c 3 en :+: rest
>>>en :+: e 3 en :+: rest en))
>>>… <something similar for base>
>>>music = (bnr :+: rhythm) /=: (rest 4 :+: t1 :+: t2) /=: base
>>>
>>>I haven’t tested any of this, but I hope it’s helpful.
>>>
>>>Best wishes, -Paul
>>>
>>>Paul Hudak
>>>Professor of Computer Science
>>>Yale University, PO Box 208285
>>>New Haven, CT 06520-8285, 203-432-1235
>>>
>>>From:CK Kashyap [mailto:[email protected]]
>>>Sent: Monday, March 04, 2013 7:18 AM
>>>To: [email protected]
>>>Subject: [haskell-art] Review request
>>>
>>>Hi,
>>>I tried my hands at composition using Euterpea. It can be found here -
>>>https://github.com/ckkashyap/LearningPrograms/blob/master/Haskell/haskore/drums.hs
>>>
>>>I'd appreciate it very much if I get some feedback around the level of
>>>abstraction that I am using.
>>>
>>>Also, I have a quick question on how I could emit a midi file. I am using
>>>windows.
>>>
>>>Regards,
>>>Kashyap
>>>
>>>
>
>
>
_______________________________________________
haskell-art mailing list
[email protected]
http://lists.lurk.org/mailman/listinfo/haskell-art