That's the first piece of music done with csound-expression
not by me. I'm very happy to listen to it. I'm biased as an author.
and you have managed to do it so quickly!
It's an interesting piece also. With first bars you can feel
that the thing is out of tune but then slowly ear gets accustomed
to the scale. At the middle of the piece it seems that the
tuning is pretty natural and authentic.

I can see the flaws of my lib. I need to scale
the output of scores by the number of simultaneous notes.
otherwise the clipping is going to happen.
I have done it for the real-time midi but not for scores yet.

On attack randomization: have you created your own patch to do it?

If you are into the classical instruments I've got not so many patches.
They are mostly for electronic music. But you can also use SoundFonts
of real instruments. Csound can play them and moreover it can play them
with arbitrary frequency. Detailed description:

https://github.com/spell-music/csound-expression/blob/master/tutorial/chapters/SoundFontsTutorial.md


Anton

2015-09-16 20:53 GMT+03:00 Edward Lilley <ejlil...@gmail.com>:

> 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/2POI4wGQljSbplwhooNUFc

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

Reply via email to