Thanks a lot for this.

At first I was confused at the difference between the instruments in
Csound.Catalog, and those in Csound.Patch, but once that was sorted out
it was a very easy package to work with. Not having to depend on another
full-blown score library is a good idea (in this case it would be
redundant, because my library *is* a kind of score library).

Here's the first thing I did:
https://soundcloud.com/ejlflop/guillaume-costeley-seigneur-dieu-ta-pitie-in-19-tet-tuning

The patches sound very nice, and the slight randomisation of attack
works very well!

thanks,
Edward

Anton Kholomiov <anton.kholom...@gmail.com> writes:

> Alas there is no CsdSco typeclass anymore.
> The original idea was to implement score type with
> the most basic type and give the user a chance to write converters
> and use score playing functionality by the class CsdSco. 
> But I've noticed that this approach was preventing me from using
> advanced score structures (they are implemented in the separate
> package).
> And type signatures become scary for the novice.
> So I've settled down the type. It's like choosing between Prelude.List
> ListLike.List. I've decided to pick the simplest one.
>
> You can write your own converter to the `Sco` type. 
>
> ````
> type Sco a = Track D a
> ```
>
> The `Track` comes from temporal-media package.
> It's very easy to construct it from list of events.
> One possible solution:
>
> ```
> type Note = (Double, Double, a)
>
> fromEvents :: [Note] -> Sco a
> fromEvents = har . fmap f
> where f (start, duration, a) = del (double start) $ str (double
> duration) $ temp a
> ```
>
> Notice the need for converting to csound doubles (`D`s). The `har` is
> parallel composition.
> `del` is for delaying nd `str` is for stretching in time domain. `temp
> ` creates an event
> that lasts for one seconds and starts right away.
> I don't know your type, but I think it can be rendered to a list of
> notes.
>
> Then you can plug the converter to the functions: `sco` or `atSco`
> (used for patches).
>
> Cheers,
> Anton
>
> 2015-09-15 22:11 GMT+03:00 Edward Lilley <ejlil...@gmail.com>:
>
>     Hi
>     
>     The most useful part of this (for me) is the ability to play
>     midi-style
>     instruments at arbitrary frequencies, so this looks great!
>     
>     To that end, I'm looking for the definition of the 'CsdSco'
>     typeclass,
>     as I want to write my own instance. It seems to be referenced in
>     the
>     csound-expression documentation, and once in a code comment, but
>     is
>     otherwise absent from the source. Indeed, installing
>     temporal-csound
>     from hackage fails with the error
>     
>     src/Csound.hs:135:10:
>     Not in scope: type constructor or class ‘CsdSco’
>     
>     Where do I find it?
>     
>     thanks,
>     Edward
>     
>     Anton Kholomiov <anton.kholom...@gmail.com> writes:
>     
>     > Status update for my haskell synth csound-expression. The main
>     point is
>     > presence of many cool instruments. They are implemented in the
>     package
>     > csound-catalog. All packages are compiled with GHC-7.10 So the
>     hackage
>     > fails to build them and unfortunately docs a broken too. But you
>     can look
>     > at the source code of the module Csound.Patch to now the names
>     of the
>     > instruments. The usage is pretty straightforward. It's described
>     here:
>     >
>     >
>     
> https://github.com/spell-music/csound-expression/blob/master/tutorial/chapters/Patches.md
>    
>     >
>     > There is an mp3 file to listen to the instruments.
>     http://ge.tt/1jNETqN2/v/0
>     >
>     > *The 4.8.3 is out! New features:*
>     
>     
>     >
>     > This is a very important release to me. It tries to solve the
>     problem
>     > present in the most open source music-production libraries. It's
>     often the
>     > pack of beautiful sounds/timbres is missing. User is presented
>     with many
>     > audio primitives but no timbres are present to show the real
>     power of the
>     > framework. This release solves this problem. See the friend
>     package
>     > csound-catalog on Hackage. It defines 200+ beautiful instruments
>     ready to
>     > be used.
>     >
>     > The csound-expression defines a new type called Patch for
>     description of an
>     > instrument with a chain of effects. It's good place to start the
>     journey to
>     > the world of music production.
>     >
>     > There are new functions for synchronized reaction on events. The
>     triggering
>     > of events can be synchronized with given BPM.
>     >
>     > The library is updated for GHC-7.10!
>     >
>     >
>     > github repo: https://github.com/spell-music/csound-expression
>     >
>     > hackage: http://hackage.haskell.org/package/csound-expression
>     >
>     >
>     > Cheers!
>     
>     
>
>


-- 

Read the whole topic here: Haskell Art:
http://lurk.org/r/topic/1FWdhvApAO1zoyWJzOuHdZ

To leave Haskell Art, email haskell-...@group.lurk.org with the following email 
subject: unsubscribe

Reply via email to