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

Reply via email to