Csound News Archive

[Updated - 25 May, 2005]
.: 2005 :.

Archived on May 25, 2005

[+] SndObj lib 2.6.1 Now Available

For those of you who might be interested:

Sound Object Library 2.6.1 is now available at
http://www.nuim.ie/academic/music/musictec/SndObj

New classes:
-ReSyn, cubic phase interpolation resynthesis of partial tracks with
timescale and pitch control.
-IFAdd, cubic phase interpolation resynthesis of instantaneous frequencies, amplitudes and phases in DFT bin frames, with timescale/pitch controls.

Sources & executables available for linux, OSX and windows.
all the best,

Dr. Victor Lazzarini

[+] MacCsound 1.2a4

Here is the last alpha version for 1.2 -- all features are now in and just need some final testing and documentation. ิ๘‡any help you could provide finding bugs, etc would be greatly appreciated!

http://csounds.com/matt/MacCsound1.2a4.dmg.sit

MacOSX 10.2 and earlier users must also download this CsoundLib and put in /Library/Application Support/Csound
http://csounds.com/matt/CsoundLib/CsoundLib_OS10.2.sitx

THANKS AGAIN to all of you who have contributed with a "development donation" - it has really helped, especially in my current gigless sampleframe!

NEW FEATURES IN MacCsound 1.2 ALPHA 4


meter object enhancements:

- 1-dim and 2-dim(x/y) mouse control [ mouse down and click-toggle]
- 2-dim x/y display [ crosshair and point ]
- 'line' and 'inverse fill' 1-dim display
- pretty gradual fade for oscilloscope/vectormonitor-like display
- color selection


- PICT file graphics support in Button object
- added presets for gui
- some optimization in rtaudio
- cpu usage readout
- option-drag copy io objects (like in Max/MSP)
- added location offset to cur selection when pasting objects
- added window size/location to .csd
- added standard osx "window" menu
- added time display and space-bar toggleplay to soundfile document


- fixed bug with lineevents making button object crash
- fixed bug when plugin folder isnt found
- fixed note dropout bug ala csound5
- fixed bug with menu object size initializing wrong
- fixed bug when stopping a file render sfinfo did not display
- fixed bug with default name generation for 2nd time rendering to file
- fixed bug in pluck opcode when given 0 or negative cps
- fixed hang bug when find-replace has nothing to replace
- fixed minor display bugs in soundfile playback
- function graphs io object now deletes old functions on every new render
- made newfile automatically be "modified"
- added text in template: "to run this file, save this first!"
- added better handling of creating/deleting channelname and channel - registration when copying


Donate to help development of MacCsound!

[+] New file release for Csound5 and CsoundVST


Project Tree


This is a bug fix release for Csound 5 and CsoundVST with sources and examples for all platforms, and binaries for Windows compiled with MinGW.

I have added the Loris Python module and Csound opcodes to this release, and made them work with the new SUBR signature.

I have removed all Python runtime code from the project as SWIG 1.3.24, the current version, does not use it.

I have changed the Java version of the Csound API to build as CsoundVST.jar containing the CsoundVST package.

I have removed documentation from the installer and zip file. API documentation can be found in the CsoundAPI.pdf file in this release or in the Csound manual at csounds.com.

Istvan Varga has contributed faster FFT code, a zero-lengh convolve opcode, and a C version of Sean Costello's waveguide reverb.

Gabriel Maldonado and Istvan Varga have contributed GEN51 for creating interleaved multichannel tables from other tables.

John ffitch and Istvan Varga have contributed a number of bug fixes.

For more information, see the ChangeLog.

I have hidden some recent earlier releases that differed only in having a bug or so more than this one.

-Michael Gogins

[+] Csound 4.23f12gbs.10


Windows and Linux

Mac OS X

Csound version 4.23f12gbs.10 has been released. ิ๘‡

It installs header files needed for building opcodes that were missing in earlier releases. ิ๘‡With this release, a project that builds Csound opcodes, such as Loris, need not have access to the Csound sources. ิ๘‡The installed libraries and headers provide all that is needed.

The document included in the GBS distribution describes what a project should add to its configure.ac file to configure it for use with the installed version of Csound. ิ๘‡For Loris, I recommend the following addition instead.

AC_ARG_VAR([CSOUND_CONFIG],
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ [Path to the Csound configuration script when available])
AC_PATH_PROG([CSOUND_CONFIG], [csound-config])

if test -n "$CSOUND_CONFIG"; then
ิ๘‡CSOUND_CXXFLAGS="`$CSOUND_CONFIG --cxxflags`"
ิ๘‡CSOUND_LDFLAGS="`$CSOUND_CONFIG --ldflags`"
ิ๘‡CSOUND_LIBS="`$CSOUND_CONFIG --libs`"
ิ๘‡CSOUND_PREFIX="`$CSOUND_CONFIG --prefix`"
ิ๘‡AC_SUBST([CSOUND_CXXFLAGS])
ิ๘‡AC_SUBST([CSOUND_LDFLAGS])
ิ๘‡AC_SUBST([CSOUND_LIBS])
ิ๘‡AC_SUBST([CSOUND_PREFIX])
fi


John

Here is some of the CHANGELOG:

2005-03-18 ิ๘‡John D. Ramsdell
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡* CVS: Tagged as csound-4_23f12gbs_10.

2005-03-16 ิ๘‡John ff

ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡* csound/soundin.c (sndinset):
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡* csound/soundio.h (SOUNDIN):
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡* csound/diskin.c (newsndinset):
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡* csound/diskin.h (SOUNDINEW): Allow skipping of initialisation

2005-03-12 ิ๘‡John D. Ramsdell

ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡* csound/load_opcodes.c: Changed organization from

ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡#if defined(WIN32)
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡... A
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡#elif defined(LINUX) ...
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡... B

ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡to

ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡#if defined(HAVE_DLFCN_H) || defined(LINUX) ...
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡... B
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡#elif defined(WIN32)
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡... A

2005-03-09 ิ๘‡John D. Ramsdell

ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡* csound/Makefile.am (pkginclude_HEADERS): Add cs.h which is
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡included by OpcodeBase.hpp. ิ๘‡Also added headers included by cs.h.

2005-03-05 ิ๘‡John D. Ramsdell

ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡* flcsound/dmg/Makefile.in: Added a makefile for generating
ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡a compressed disk image for MacOS X.

[+] Blue 0.94.0 beta 15

Steven Yi writes,

As mentioned in my last email on the bluemusic list, this will be the last 0.94.0 beta release. ิ๘‡The CeciliaModule now comes disabled, and for the near term I will be focusing on other dev work. ิ๘‡The CeciliaModule will be scheduled for after this next major arc of development.

This release has a few fixes, but is largely driven by contributions by others. Very much a big thanks to all who have contributed!!! The repeat point code by Micahel Bechard now allows setting of a repeat point, no longer making ghost notes necessary to fine tune when a soundObject will repeat when using the repeat time option. ิ๘‡Also, the number of translations has increased greatly by individuals who have been kind enough to spare some time for the project. ิ๘‡My sincerest appreciation for your time and effort!

The next release after this will be 0.95.0, and I will be restarting my efforts to cleaning up and enhancing blue. A system instrument library, improved blueShare, global undoability, and some new plugins are all on the drawing board.

Thanks again and enjoy!
steven

[Notes for 0.94.0 beta 15]
[released 2004.03.17]

blue

ิ๘‡ ิ๘‡[new] - UndoableEdits added for GenericEditor for Instruments and ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡SoundObjects; Undo manager is available for object while editing and ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡in focus; if you go from one object, then leave, then come back, ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡can not undo (only while editing current object); temporary solution ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡but helpful for accidental deletes, etc.

ิ๘‡ ิ๘‡[new] - SoundObject - RepeatPoint - SoundObjects now have an optional time ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡value for setting at what point to start repeating when using ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡time behavior of "Repeat"; for more information, consult user's ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡manual (Feature suggested and originally implemented by Michael ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡Bechard, modified by Steven Yi)

ิ๘‡ ิ๘‡[fix] - Undos - reenabled capturing of style changes in undoable edits, ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡was causing intermittent errors when trying to undo/redo; ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡implemented new UndoManager to do all style changes associated with ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡an edit so that undo/redo works as one would expect

ิ๘‡ ิ๘‡[fix] - CSD Import - blue was not able to import scores using "." and "+" ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡when importing using "Import Score and Split into SoundObjects by ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡Instrument Number"

ิ๘‡ ิ๘‡[update] - CeciliaModule disabled (can reenable by editing ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡blue/conf/registry.xml)

ิ๘‡ ิ๘‡[update] - ScoreTimeCanvas - Only show soundObject menu when rt-clicking on ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡a soundObject which has already been selected

ิ๘‡ ิ๘‡[update] - PianoRoll - Rt-click on selected notes brings up popup menu to ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡remove notes

ิ๘‡ ิ๘‡[update] - PianoRoll - added zooming of noteHeight and pixels per time value

ิ๘‡ ิ๘‡[update] - Italian language files submitted by Gabriel Maldonado

ิ๘‡ ิ๘‡[update] - Japanese language files submitted by Takashi Fukui

ิ๘‡ ิ๘‡[update] - French language files submitted by Stephane Boussage and ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡ ิ๘‡Jean Argenty

[+] Density v.3.1.5


-Prototypes bugs fixed

Download here!

-
Alessandro Petrolati

[+] Dr. Victor Lazzarini posts "Extensions to Csound

Dr. Victor Lazzarini shares a comprehensive written article involving the extension of Csound.

March 03, 2005 : Dr. Lazzarini posts an edited version.

"It is therefore expected that developments discussed in this article are but only the start of a new phase in the evolution of csound."
- Victor Lazzarini

Get the article right here at cSounds.com!


In this article he outlines possiblities in UDO's, plugin opcodes, the addition of function table generators, and a discussion of spectral signals as they exist in Csound.

Dr. Lazzarini is affiliated with the
Music Technology Laboratory at the National University of Ireland (Maynooth).

Archived on March 3, 2005

[+] Libsndfile (sndfile.h Csound5) - Linux

John ffitch points out that users need libsndfile to handle audio files in Csound5 (in sndfile.h)

It can be found here.

Libsndfile is a C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface. It is released in source code format under the Gnu Lesser General Public License.

The library was written to compile and run on a Linux system but should compile and run on just about any Unix (including MacOSX). It can also be compiled and run on Win32 systems using the Microsoft compiler and MacOS (OS9 and earlier) using the Metrowerks compiler. There are directions for compiling libsndfile on these platforms in the Win32 and MacOS directories of the source code distribution.

It was designed to handle both little-endian (such as WAV) and big-endian (such as AIFF) data, and to compile and run correctly on little-endian (such as Intel and DEC/Compaq Alpha) processor systems as well as big-endian processor systems such as Motorola 68k, Power PC, MIPS and Sparc. Hopefully the design of the library will also make it easy to extend for reading and writing new sound file formats.

Compiling libsndfile is relatively easy. The INSTALL file in the top level directory gives instructions on compiling and installing libsndfile on Unix-like systems (including MacOSX). For Win32 there are instructions in the doc/ directory of the tarball. These instructions are mirrored here.

libsndfile-devel mailing list.

[+] Canonical Reference Manual updated @ cSounds.com

http://www.csounds.com/manual

There are HTML, PDF, and CHM versions up. Also is a tar.gz of the HTML manual. This version now integrates Michael Gogins' Csound5 documentation as well as some changes reflecting some of the new things in Csound5.

There's still a lot to be done considering things are changing in Csound5 quite a bit.

Thanks to the developers for all of their hard work!


March 02, 2005: Added manual support for the "pconvolve" opcode.

Thanks to Steven Yi, Matt Ingalls and the rest of the developers whom we know work so hard in the name of Csound.

[+] Makescore bug fix up

Iain Duncan comments:

Couple of bug fixes, end of score was not getting through and string pitches in i lines in the arrange file weren't getting converted.

New version, makescore_0.2.zip is up at:
http://www.xornot.com

enjoy,

Iain

[+] John Harrison posts PyPortMIDI

PyPortMidi is a Python wrapper for PortMidi. PortMidi is a cross-platform C library for realtime MIDI control. Using PyPortMidi, you can send and receive MIDI data in realtime from Python.

PyPortMidi is in a reasonable stage of completeness, but does not yet exist in a good distribution package. What this means is that setup and installation is not yet as straightforward as it could be.

The download package includes a binary for WinNTish (NT, XP, 2000) systems running Python 2.3.x and OS-independent source code. If you running a Windows system with a different version of Python, you should be able to compile the provided source code using the included setup.py file. However, you will need the required compiler and linker on your system and Pyrex. If you are running Linux or OSX, you will need to have PortMidi as well as Pyrex. You may also be required to have asoundlib.h .

Eventually PyPortMidi will exist in a decent package...so if you are not in a rush you might wait until I or somebody else packages it decently for your OS and Python version.

Or if you come up with a decent package and/or other improvements, please email me at harrison [at] media [dot] mit [dot] edu.

I have just completed Python bindings for PortMidi. PyPortMidi supports realtime MIDI streaming from Python using the PortMidi C library. It is one of several options available to us for sharing data in realtime between Python and Csound. The website for pyPortMidi is:

http://sound.media.mit.edu/~harrison/pyportmidi.html

Below is text from the website. Enjoy!

-John

[+] Csound 4.23f12gbs.9

There is a new file release on Sourceforge for MacOS X containing binaries compiled from the Csound 4.23f12gbs.8 sources released by John Ramsdell last week.

http://sourceforge.net/project/showfiles.php?group_id=81968&package_id=1254 44&release_id=307003 - gbs8

http://sourceforge.net/project/showfiles.php?group_id=81968&package_id=108587&release_id=307335 - gbs9

GBS9:

This release fixes a build bug that caused the output from console applications started at the Windows prompt not to appear.

GBS8:

* Working real-time audio output (see caveats in ReadMe.txt)

* Compiled with FLTK for displaying graphs.

* Includes flCsound, a minimal graphical interface for Csound.

* FLTK opcodes work in flCsound.

Please be sure to read the ReadMe file as it contains some important information about problems and some suggested workarounds.

[+] MacCsound 1.2 alpha 3

Matt Ingalls releases an update for his award winning MacCsound software.

http://csounds.com/matt/MacCsound1.2a3.sitx

New in version 1.2 alpha 3:

+ Added ability to set text for text object from a new opcode 'outvalstr' syntax: outvalstr "channel name", "text"

+ Added current line number display for orc & sco

+ Added instr/useropcode selection popup menu

+ Added automatic opcode plugin directory
[/Library/Application Support/Csound]



New in version 1.2 alpha 2:

+ Many changes to real-time audio, trying to eliminate crashes

+ NEW GUI objects: checkbox and popupmenu

+ GUI Object Additions:

Text Obj:

= you now edit text by double clicking on object
= new option for control value scroller [like Max/MSP's number box]
click and drag, farther away you drag the faster the value changes
double click object to type in value resolution parameter - sets the
rounding resolution of display and how big scrolling steps
= left/center/right justification

Button Obj: new option to trigger a control value instead of score event

Most objects: created a wider border to make dragging easier

+ fixed output file name generation error

+ fixed analysis crashes and window size errors

+ fixed "this is a bug" message

+ fixed temp file creation problems

+ fixed if/then/ithen/else bugs during i-time

+ added opcode plugin support

+ added better error checking for corrupt sFonts

+ fixed text format errors when pasting from another program

[+] Csound for Macintosh Development Preview

Feb. 23, 2005

I have posted to my personal web site a new preview release of the current development work that I am performing on Csound for Macintosh computers running System 7 through OS 9. This snapshot addresses several issues with the previous release and makes some general improvements to the interface and appearance of the programs.

http://akozar.spymac.net/csound-macos/


Changes in this snapshot include:

* Creates sound files owned by SoundHack again with proper file types as well.

* Added Victor Lazzarini's GEN 43 for use with the pvsbasic opcodes (available as part of Opcode Plugin Pack A).

* New menu items for "Keep sorted score" (-t0) and "No PEAK chunks" (-K)

* New opcode plug-in libraries including Matt Ingalls' pconvolve, some table opcodes from CsoundAV, and the ATS resynthesis opcodes.

* Several other interface and cosmetic changes.

-Anthony Kozar

[02.01.05]
Gerard van Dongen announces a new release of J(ack)Csound 0.3

What is Jcsound?
jack and alsa-sequencer client wrapper for csound

This release fixes a couple of major and stupid bugs.
-Fixes segfaults caused by an uninitialized variable
-Fixes artifacts caused by not clearing the output buffers
-Fixes extended duration behaviour when using midi

This is the third beta release of Jcsound. It requires Csound to be installed as a shared library. The easiest way to get a library of Csound installed, is to download
csound-gbs from:

http://sourceforge.net/projects/csound

gbs stands for gnu-build-system.
Then do the standard ./configure --enable-shared && make and (as root)
make install
Make sure to add the "enable-shared" flag to configure.


Currently jcsound is somewhat jack-transport aware: If slave mode is set to 1 , it will only play if the jack transport is rolling, playing silence when it is not. It will _not_ reposition, and it will still quit at the end of the score. (see the TODO)

You can also set it to 2: jcsound will then reload the orc/sco if it has changed on disk when you start the transport again.
If you made an error, it will (try to) put out silence. Or you can set it to both by setting to slave mode to 3 (1+2)

Type jcsound --help to see the available options.


[01.31.05]
Steven Yi announces UDO Database Moved to Csounds.com!

Steven comments, "Hi All,

After discussing with Dr. Boulanger, we felt that the UDO database would have a good home over at cSounds.com, together with everything else Csound there. =)

I've just completed the move of the User-Defined Opcode Database over to cSounds.com!

All opcodes and usernames/passwords have been moved over so anyone with an existing account can still add/update/remove opcodes using their old account information.

The old home at kunstmusik.com has been updated with a link to the new
page and the RSS feed has been taken down there.

Thanks and enjoy!"
steven

[01.31.05]
Jean Piché releases Cecilia 2.58 for OSX

[+] Release Notes:

-Includes some quad (5.1) modules.
-Handle for octophonic modules -- (more to come)
-New 4.23f12 engine, fixes temp file issues
--thanks to Matt Ingalls!

jp
__________________________________________
Pour en savoir plus / To find out more: http://jeanpiche.com

[01.28.05]
Luigi Negretti Lanner releases new version of his SY.MU.S. Csound score generator [Windows]

[01.20.05]
Christopher Penrose
releases Hyperupic

An intuitive graphic to sound utility for Macintosh OS X.


[01.20.05]
Anthony Kozar announces Opcode Plugin Pack A for Macintosh OS


He comments, "This is a package of new opcodes for Csound 4 packaged as 'plugins.' The libraries in this distribution are designed to be used with Mills Csound 4.23f12 and later, the version of canonical Csound for MacOS 7-9. (It is possible that they may work with MacCsound 1.0 (but not 1.1), but this has not been tested).

Plugin Pack A adds a collection of new opcodes from several different authors to your Csound resources. There are 7 plugin libraries with a total of 22 new unit generators. Included are:

pvsbasiclib - Victor Lazzarini's fantastic library that adds several new ways to manipulate streaming Phase Vocoder signals.

newfilterslib - three new filter opcodes from Victor Lazzarini: moogladder, statevar, and fofilter.

syncgrainlib - a synchronous granular synthesis opcode, also by Victor Lazzarini.

chosclib - two chaotic oscillator ops by John ffitch. John says these are still experimental/unfinished.

spirallib - an implementation of "spiral synthesis" from Bradley Bell. This technique was originally described by Tracy Lind Petersen in the book, Digital audio signal processing: An anthology.

shapelib - several opcodes for waveshaping and Casio-style phase distortion. Written by Anthony Kozar. (The phasine opcode is still experimental).

hardsynclib - a "naive" implementation of the classic analog hard sync technique by Anthony Kozar that does not attempt to reduce aliasing.

Examples, documentation, and source code are included."


[01.18.05]
Victor Lazzarini's releases examples involving New Loadable Code

Victor comments, "now in CVS -- built with SCons, but not with the other systems
------------------------------------------------------------------------
MOOGLADDER, STATEVAR and FOFILTER

alp moogladder ain, kcf, kres[, istor]
ahp,alp,abp,abr
statevar ain, kcf, kq [, iosamps, istor]
abp
fofilter ain, kcf, kris, kdec[,istor]


INITIALIZATION

iosamps - number of times of oversampling used in the
filtering process. This will determine the maximum sharpness
of the filter resonance (Q). More oversampling allows higher Qs,
less oversampling will limit the resonance. The default is 3
times (iosamps=0).

istor - initial disposition of internal data space. Since
filtering incorporates a feedback loop of previous output,
the initial status of the storage space used is significant.
A zero value will clear the space; a non-zero value will allow
previous information to remain. The default value is 0.

PERFORMANCE

ahp - high-pass output

alp - low-pass output

abp - band-pass output

abr - band-reject output

ain - input signal.

kcf - centre/cutoff frequency (Hz)

kres - resonance, generally < 1, but not limited to it.
Higher than 1 resonance values might cause aliasing,
analogue synths generally allow resonances to be above 1.

kq - filter Q. This value is limited internally depending on
the frequency and the number of times of oversampling used in
the process (3-times oversampling by default).

kris - impulse response attack time (secs)

kdec - impulse response decay time (to -60dB, in secs)

Moogladder is an new digital implementation of the Moog ladder filter based on
the work of Antti Huovilainen, described in the paper "Non-Linear Digital
Implementation of the Moog Ladder Filter" (Proceedings of DaFX04, Univ of
Napoli).
This implementation is probably a more accurate digital representation of
the original analogue filter.

Statevar is a digital implementation of the analogue state-variable filter.
This filter has four simultaneous outputs: high-pass, low-pass,
band-pass and band-reject. This filter uses oversampling for sharper
resonance (default: 3 times oversampling)

Fofilter generates a stream of overlapping sinewave grains, when fed with
a pulse train. Each grain is the impulse response of a combination of
two BP filters. The grains are defined by their attack time (determining
the skirtwidth of the formant region at -60dB) and decay time
(-6dB bandwidth). Overlapping will occur when 1/freq < decay, but,
unlike FOF, there is no upper limit on the number of overlaps.
The original idea for this opcode came from J McCartney's formlet class
in SuperCollider, but this is possibly implemented differently(?).

These three filters are also offered in UDO form in Steven Yi's
repository at
http://csounds.com/udo/


EXAMPLES:

instr 1

kfe expseg 500, p3*0.9, 1800, p3*0.1, 3000
kenv
linen 10000, 0.05, p3, 0.05
asig
buzz kenv, 100, sr/(200), 1
afil
moogladder asig, kfe, 1

out afil

endin

instr 2

kfe
expseg 10, p3*0.9, 180, p3*0.1, 175
kenv
linen 1000, 0.05, p3, 0.05
asig
buzz kenv, kfe, sr/(2*kfe), 1
afil
fofilter asig, 900, 0.007, 0.04

out afil
endin

instr 3

kenv
linseg 0,0.1,1, p3-0.2,1, 0.1, 0
asig
buzz 16000*kenv, 100, 100, 1;
kf
expseg 100, p3/2, 5000, p3/2, 1000
ahp,alp,abp,abr
statevar asig, kf, 200

outs alp,ahp

endin

AUTHOR

Victor Lazzarini, 2005

------------------------------------------------------------------------
SYNCGRAIN:

asig syncgrain kamp, kfreq, kpitch, kgrsize, kprate, ifun1, ifun2, iolaps

Synchronous granular synthesis.

INITIALIZATION

ifun1 - source signal function table. Deferred-allocation tables (see GEN01)
are accepted, but the opcode expects a mono source.

ifun2 - grain envelope function table.

iolaps - maximum number of overlaps, max(kfreq)*max(kgrsize).

PERFORMANCE

kamp - amplitude scaling

kfreq - frequency of grain generation, or density, in grains/sec.

kpitch - grain pitch scaling (1: normal pitch, < 1: lower, > 1: higher;
negative: reverse)

kgrsize: grain size in secs.

kprate: readout pointer rate, in grains. The value of 1 will advance
the reading pointer 1 grain ahead in the source table. Larger values
will time-compress and smaller values will time-expand the source signal.
Negative values will cause the pointer to run backwards and zero will
freeze it.


Syncgrain implements synchronous granular synthesis. The source sound for
the grains is obtained by reading a function table containing the samples
of the source waveform. For sampled-sound sources, GEN01 is used.
Syncgrain will accept deferred allocation tables (with aif files).

The grain generator has full control of frequency (grains/sec), overall
amplitude,
grain pitch (a sampling increment) and grain size (in secs),
both as fixed or time-varying (signal) parameters.
An extra parameter is the grain pointer speed (or rate),
which controls which position the generator will start reading samples
in the table for each successive grain. It is measured in fractions of grain
size,
so a value of 1 (the default) will make each successive grain read from where
the
previous grain should finish. A value of 0.5 will make the next grain start at
the midway position from the previous grain start and finish, etc.
A value of 0 will make the generator read always from a fixed position of
the table (wherever the pointer was last at). A negative value will decrement
pointer positions. This control gives extra flexibility for creating
timescale modifications in the resynthesis.

Syncgrain will generate any number of parallel grain streams (which will
depend on grain density/frequency), up to the olaps value. The number of
streams (overlapped grains) is determined by grainsize*grain_freq.
More grain overlaps will demand more calculations and
the synthesis might not run in realtime (depending on processor power).

Syncgrain can simulate FOF-like formant synthesis, provided that a suitable
shape is used as grain envelope and a sinewave as the grain wave.
For this use, grain sizes of around 0.04 secs can be used.
The formant centre frequency is determined by the grain pitch.
Since this is a sampling increment, in order to use a frequency in Hz,
that value has to be scaled by tablesize/sr.
Grain frequency will determine the fundamental.

Syncgrain uses floating-point indexing, with linear interpolation, so its
precision is not affected by large-size tables.

The syncgrain opcode is based on an improved version of the
SndObj library SyncGrain class.

EXAMPLE:

iolaps = 2
igrsize = 0.04
ifreq = iolaps/igrsize
ips = 1/iolaps

istr = .5 /* timescale */
ipitch = 1 /* pitchscale */

a1
syncgrain 16000, ifreq, ipitch, igrsize, ips*istr, 1, 2, iolaps

out a1

AUTHOR

Victor Lazzarini, 2005
------------------------------------------------------------------------

[01.14.05]
Steven Yi updates his program Blue to version 0.94.0 beta 13

Steven comments, "Hi All,

(I haven't crossposted to the csound list in a while as I've been wanting to finish the CeciliaModule before I resumed announcing to the list, but I've added a new PianoRoll SoundObject to blue that I thought some Csounders who haven't tried blue in a while might be interested in.)

I'm excited about two new SoundObjects that are in this release, the LineObject (suggested by Andres Cabrera, thanks!) and the PianoRoll. More information about them can be found from the manual at:

http://csounds.com/stevenyi/blue/blueDocs/lineObject.html
http://csounds.com/stevenyi/blue/blueDocs/pianoRoll.html


or the PDF manual:

http://csounds.com/stevenyi/blue/blueDocs/blue_manual.pdf

The LineObject enables drawing of k-rate signals (code was taken from the CeciliaModule SoundObject, and that in itself is based on Cecilia). The PianoRoll functions like most other PianoRolls except that it requires some Csound-isms as well as is Microtonal. It is able to load in any Scala scale and adapt itself to have more or less notes to the octave, depending on how many scale degrees are defined in the Scala scale file. (The screenshots on the documentation page show a Bohlen-Pierce 13-tone Equal Temperament scale being edited, thus there are thirteen scale degrees in the editor before the "octave" repeats) As this is a first version of this PianoRoll, any feedback on it would be greatly appreciated!"

Thanks and enjoy!
steven


[01.12.05]
Matt Ingalls proudly announces MacCsound 1.1b

Matt comments, "It seems way more stable than the previous alpha and some new features too - sorry for the big download, i dont know how that happened. please try it out and let me know if you have any problems.

there is also an updated OSX command line version with the new features
[midiout, pvs opcodes, etc]"

THANKS!
-m

[01.05.05]
Jean Piché releases Cecilia 2.53 for OSX

[+] Release Notes:

--> 4.23f12 engine with full 24-bit support.
--> All modules have been updated: All Gain values in dB, all pitch changes in semitones or fraction thereof.
--> New Streaming FFT modules: PV-Harmonize, PV-FreqShift, PV-MaskFilter, PV-CrossSynth and PV-SpectralDelay using Victor Lazzarini's wonderful opcodes.
--> Some minor bug fixes in the interface.
--> Even less fickle.. charming as ever.

Install

1- Get it here:
ftp//:ftp.musique.umontreal.ca/FTP_musique/Cecilia

2- Place Cecilia in the "Application" folder, nowhere else, not in a
subfolder. If you are upgrading from 2.5 or 2.5.2, you dont need to do
anything else: simply replace your existing Cecilia application.

3- Install TclTk8.4 if you are doing a new installation

4- Do the preferences under the File menu when you first launch
Cecilia. It is primordial to specify the Cecilia folders.

[Extending my warmest thanks to Matt Ingalls who built a special
24-bit csound engine for this release.]

Enjoy!

http://jeanpiche.com

[01.04.05]
Anthony Kozar revives Mr. Tweaky for Macintosh OS


Anthony comments, "Regarding editing hetro data, there used to be a program called Mr. Tweaky available from Mills college FTP. This site is inaccessible now, so I just now put a copy of the program on my web site (look near the bottom of the page):

http://akozar.spymac.net/csound-macos/

I hope that this helps!"

Anthony


[01.03.05]
Alessandro Petrolati releases New Density GSC v3.1.4 for CsoundAV

FEATURES - New Density Shell:

[+] C-Synth integration by Density_Prototypes
-New dialog box for load functions
-Real time load functions bug fixed
-Modal bug dialog fixed
-16 functions wave (folder)
-GUI color setting RGB
-Help update
-Some bugs fixed


[12.23.04]
Gerard van Dongen announces a new release of J(ack)Csound 0.2d

What is Jcsound?
Jcsound is a thin wrapper for csound 4 that makes it a jack client and
alsa-sequencer client. Use rosegarden to trigger csound instruments and record them in ardour!

Gerard comments, "It is build fix release. I found out that configure didn't work with csound-gbs I fixed the autotool stuff so that (if all works well) compiling jcsound is again as easy as ./configure && make and make install.

You need csound-gbs-4.23 for this to work. But anybody on linux should try this out.

And yes, I am thinking of moving the whole thing to csound5, but I do not have the time at the moment to contribute much in the way of coding for that, so I am waiting for it to reach beta stage.

and merry Xmas and best wishes for 2005"

Gerard


[12.12.04]
Michael Gogins posts a new release of the Csound5 & CsoundVST package built with MinGW 3.4.2, for Windows.

Michael comments, "This is a new build of Csound 5 and CsoundVST with prebuilt binaries for Windows with MinGW, and sources for all platforms.

csoundvst package at http://www.sourceforge.net/projects/csound
csound5-mingw-2004-12-12.zip Windows binaries and all sources
csound-2004-12-12.pdf Csound reference manual and API documentation

Built with updated versions of libsndfile, PortAudio, FLTK, and Loris.

New features include user-defined function tables in Csound, and acounterpoint generator in CsoundVST. Experimental PortMIDI support.

Several bug fixes. Removed most compiler warnings (with MinGW, anyway)."


[11.18.04]
Victor Lazzarini's releases a new version of Csound4

which he calls MyCsound4, now permits Windows users to work in the latest version of Csound4 in real time - using
MIDI input and FLTK widgets. Up until now, the only option for Windows realtimers was CsoundAV.

Art Hunkins verifies that FLTK widgets seem to work flawlessly. (He has fixed the FLcount "bug" that required an extra argument when an event was not being triggered.) So does MIDI input.

Victor's version, like all Csound4 canonicals, only works with MME drivers - no DirectSound or ASIO (including ASIO4ALL). This means that latency is an issue. However, more powerful and recent computer systems, making use of the -b flag, can get latency down to a reasonable level.

For realtime MIDI, use the flag -M0 in either the command line (MyCsound4 is a console version of Csound) or in CsOptions.
*The device number is required*.
If you've multiple MIDI devices, run with -M0, note in the run the numbers of any other MIDI devices you have and then substitute that number.

For realtime output, use the flag -odac or -odevaudio. No number is *required*. Without number, the default is zero. Again, during the run, any other output devices are listed and you can then substitute this number.

One last note: MyCsound4 is current with canonical 4.23, whereas CsoundAV
for the moment is only synced with canonical 4.19. Several significant
developments have taken place since 4.19, including incorporation of
if..then..else structures.

We're all indebted to Victor for his ongoing significant contributions to
Csound - and to us Windows realtimers especially.

[11.17.04]
Michael Bechard posts MidiKeys (Mac), Virtual Keyboard (Linux), Bome's Mouse Keyboard (Windows 95/98/ME)

A useful tool for using the standard ASCII keyboard to output MIDI notes.

[11.06.04]
Victor Lazzarini announces New streaming pvoc opcodes and gen 43

A library of new pvoc streaming opcodes, pvsbasic has been released in CVS for csound5. This includes six new opcodes that manipulate Richard Dobson's fsig streaming pvoc signals:

pvsmix: seamless mix of fsig data
pvsfilter: time-varying filtering
pvscale: frequency scaling (pitch shifting), with optional formant preservation
pvshift: frequency shifting, also with optional formant preservation
pvsblur: time averaging of pvoc signals (bluring)
pvstencil: masking of a pvoc stream by a function table

In addition to these, gen 43 was added: it builds a table by averaging the magnitudes from a PVOCEX file.

The opcodes are fully documented with manual pages and examples (John ffitch has kindly added these to the manual).


[10.31.04]
Michael Gogins uploads the following to SourceForge

csound5-mingw-2005-10-31.zip, new binary release of Csound and Csound 5 for Windows built with MinGW 3.4.2, with sources for all platforms

csound-2004-10-31.pdf, Csound and CsoundVST reference manual, including new features, usage guide, Csound orchestra and score language reference, and Csound and CsoundVST API reference.

Change Log:

2004-10-24 Michael Gogins

* Renamed libsndfile.dll.0.0.19.

* Updated documentation to provide improved directions for extending
Csound
with builtin or plugin opcodes.

* Fixed badly formatted tables in documentation.

* Improved API documentation with simple examples.

2004-10-26
John ffitch

* OOps/ugrw1.c: Simplified some of the error reporting

* H/ugrw1.h (zkwm): and remove value from domix

2004-10-26
John ffitch

* OOps/ugens6.c (cmbset): Round rather than truncate

[10.27.04]
John ffitch
posts comments on Csound4.23

The CVS files are updated as bugs are found. I am no longer building binaries as I do not have control of the new building scheme anymore, so I build for my own tests only. I am actually using csound5 for all my own work these days (although that is very little). No idea is others are producing binaries.

Reading the ChangeLog, since 4.23f12 there have been adjustments to
rezzy and moogvcf to allow skipping of initialisation, same for vco, bqrez and tbvcf. Also some fix to the delay opcodes to round.

[10.25.04]
Michael Gogins posts a new release of the CsoundVST package built with MinGW 3.4.2, for Windows.

The csound::Score class in CsoundVST has been given a getCsoundScore method to make it easier to use CsoundVST's score generators and music graphs in other software.

The Kevin Conder manual has been folded into csound.pdf -- this is a first release with plenty of LaTeX errors. An HTML manual will be produced in the near future.

The PortAudio driver has been restored to the most functional version.

John ffitch has fixed some rounding errors in delay lines (delset, delrset, deltap).


[10.20.04]
Steven Yi updates his User-Defined Opcode Archive [Web Utilty]

Added a registration page and the ability login. After logging in, you are able to add opcodes as well as edit ones that you yourself have entered.

[09.28.04]
John ffitch
posts a Csound5 Status Report

Parser
Some internal reworking but this is not integrated and is not progressing as it should

Sound file library
Apart from dnoise this is believed to be completed

Completion of Portaudio v19
Runs acceptably on Linux. OSX causes problems as the blocking code for PA is missing. A callback mechanism has been written. Still some problems. On Windows there are no problems with ASIO, and the latency is excellent, comparable to Linux. There remains a problem with breaking out of an ASIO performance, often causing the computer to hang. There is no problem if the performance finishes normally.

Software bus
The code is written. Perhaps the names need to be revised, and there is currently no API code using it. There are alternative ideas so the current implementation cannot be taken as settled.

Check mac build
Not sure of Mac status; there are conflicting reports. It builds for me but I have not stressed it at all

Check Windows build
The scons build on Windows appears to be be in pretty good shape, except the NSIS installer target suggested by Steven Yi has not yet been implemented. Also, CsoundVST built with useDouble=1 used to function in Cubase SX and now does not (must be built with float samples to work), although useDouble=1 works in all other contexts.

Reorganisation of opcodes
The move to a plugin-based architecture is essentially complete. This could be revisited, but this is low priority.

Separation of API
Largely complete. Still in minor development

MIDI
A first attempt at deploying portMIDI has been made, but the whole MIDI area is not substantially changed. This needs to be improved before we can release.

Making re-entrant
Slow progress; needs some higher priority given to it. There are some positive suggestions on a mechanism.

Loris opcodes
Loris opcodes are functional with CsoundVST. Michael has ported them to Csound5. Steven Yi has suggestions for improving the Loris target for non-CsoundVST builds.

Python opcodes

The Python opcodes are functional, and Oeyvind Brandtsegg is playing with these opcodes and providing feedback on them.

Documentation

Micael has begun working on folding the new documentation on Csound5 found in csound.pdf into the Kevin Conder documentation system. When this is done the documentation target from scons will be removed (or changed...). There will still be a csound.pdf, but it will produced by DocBook and contain all Csound documentation in one place, including the Conder manual, up to date installation and build instructions, new features, extending Csound with plugin opcodes, and documentation of the API.

SConstruct changes
File to be reorganized to have build targets as well as to handle collecting data for installers. install-opcodes, install-executables, and install targets already integrated.

Installers
Not much progress here, mostly dependent on SConstruct changes


[09.18.04]
Alessandro Petrolati releases Density 3.1 for CsoundAV

[+] Load/save user prototypes and envelopes functions
[+] Envelope and Wave scope realtime
[+] Some bug fixed

[09.11.04]
Anthony Kozar releases CsoundMacOS9 for Macintosh Computers running System 7 - MacOS9.

Differences from canonical Mills Csound:

[+] Csound front end with some new dialogs and the ability to easily select between multiple Perf engines.

[+] Perf 4.23f12 with enhanced features including the use of Cscore plugins (cscore programs loaded from shared libraries).

[+] New Perf64 application that uses 64-bit double-precision floating-point
numbers for internal calculations.

[+] Standalone versions of many utilities from Unix-based Csound:

--> Score Sort (scsort)
--> Score Extract
--> Scot (Score translation language)
--> Envelope Extract (envext)
--> Scale Soundfile (scale)
--> SndInfo
--> Hetro Export
--> Hetro Import
--> LPC Export
--> LPC Import
--> PV Export
--> PV Import

[+] Three example Cscore plugins: Double Durations, Quad Stretch, and Parallel Fifths.


[09.10.04]
John Ramsdell
releases Csound4.23f12gbs.5

Csound version 4.23f12gbs.5 has been released in the csoundgbs package of the Csound SourceForge project. This release corresponds to John ffitch's 4.23f12 release. It contains the fifth minor revision of the original GNU Build System 4.23f12 release. See the ChangeLog for more details.

The GBS version of Csound is designed to provide an easily installed, platform independent version of Csound capable of supporting Windows and a variety of Unix-like platforms, including Linux and Mac OSX. (Windows is supported using MinGW/MSYS, but Cygwin will also work.)

The Csound source distribution will produce an FLTK enabled build if FLTK is installed, and its configuration script is available to the build. You configure Csound to build a shared library or a DLL, as it will build only static libraries by default. See the README for details.

The Csound RPM was compiled with FLTK enabled.

The flCsound Windows installer contains Csound with a simple GUI. This is the easiest way to install Csound on Windows.

Bug Fixes:
With this release, an orchestra reading bug is fixed, and the flCsound transcript window supports copy and select all operations. Also, it is working on OS X as well as the previous release and is now reading MacOS 9 and DOS line endings just fine.


[08.21.04]
Steven Yi updates his Online Archive for User-Defined Opcodes [Web Utilty]

[08.18.04]
Anthony Kozar releases Mills Csound 4.23f12 for Macintosh Computers running System 7 - MacOS9.

This is an update of the Mills College version of Csound developed by Matt Ingalls, Dave Madole, and Mike Berry. It includes Perf 4.23f12, fully updated with the latest canonical code including all bug fixes as of Aug. 18th that are in CVS. This release also includes Csound 1.5.4, a new version of the Mac graphical front-end which includes numerous bug fixes and feature updates that allow it to take advantage of recent changes in canonical Csound.

Full release notes can be found by clicking on the release name at Sourceforge or in the "What's New" file that is part of the distribution. Executable applications and documentation are in the "MillsCsound4.23f12.smi.bin" file release. Full source code is available in the "MillsCsound4.23f12src.smi.bin" file.

Features:
[+] Csound now supports opcode plug-ins on MacOS. The distribution includes two sample plug-in libraries which add the opcodes pans, metro, splitrig, and timedseq.
[+] Fixed a problem that could cause Perf 4.23 to run up to 70x slower.
[+] New "Additional Options" window in the front end for adding any Csound options not covered by the GUI.
[+] The first official Mac release with the new GNU Lesser General Public License. Enjoy your freedom to copy, modify, and distribute Csound, including the source code!
[+] OMS real-time Midi support has been removed in this release due to possible license incompatibilities with the LGPL. I am very sorry to have to do this. Reading Midi files as scores still works. I hope to add support for the open source MidiShare library in the future.
[+] New and updated documentation with several example orchestras and scores (kindly borrowed with the permission of Matt Ingalls and Dr. Richard Boulanger).
[+] Over 35 bug fixes to the front end and the many, many fixes to the canonical code since version 4.23.


[08.16.04]
Michael Gogins again updates Csound5 and CsoundVST with sources for ALL platforms and with prebuilt Binaries for Windows built with MinGW.
[Found in the csoundvst package]
[Named: csound5-mingw-2004-08-16.zip]

Changes in this Release:
[+] The portaudio.dll file is now named portaudio.dll instead of
portaudio.dll.0.0.19. It is built with Dev-C++/MinGW instead of autotools and contains ASIO drivers, DirectSound (DirectX) drivers, and Windows Multimedia Extensions (WMME) drivers.
[+] Top/main.c and InOut/pa_blocking.c contain minor changes in an effort to improve the ability to cancel a performance with real-time audio using Control-C (console Csound only).


[08.14.04]
Michael Gogins uploads Csound5 and CsoundVST with sources for ALL platforms and with prebuilt Binaries for Windows

Changes in this Release:
[+] the PortAudio driver now uses ASIO with a blocking wrapper to perform low-latency audio input and output on Windows. Output latency as little as 3 milliseconds was tested on Windows XP. Input has not been tested!
[+] the csound.pdf file has been updated regarding ASIO. Read this BEFORE you try using real-time audio!
[+] he csound.pdf file's sections have been re-ordered to make it easier for beginners to get started with Csound 5.

[08.13.04]
John Ramsdell
releases Csound4.23f12gbs.3 [linux]

Csound version 4.23f12gbs.3 has been released in the csoundgbs package of the csound project on SourceForge. The Linux RPM was built with FLTK support enabled. You do not have to have FLTK installed on your system to use this RPM.


[07.27.04]
Michael Gogins updates the CsoundVST package in Csound5 [built with mingw for Windows]

Bug Fixes:
[+] fixed the new Csound API functions for function table access
[+] fixed bug in the CsoundVST.inputEvent API so that CsoundVST can now accept line events in real time through the CsoundVST API as longas -Lstdin has been set

[07.27.04]
Michael Gogins renames the CsoundVST opcodes

[+] vstinit - Loads a plugin
[+] vstaudio, vstaudiog -- Returns a plugin's output
[+] vstmidiout -- Sends MIDI data to a plugin
[+] vstparamset, vstparamget -- Send automation data to and from the plugin
[+] vstnote -- Sends a MIDI note with definite duration
[+] vstinfo -- Outputs the Parameter and Program names for a plugin
[+] vstbankload-- Loads an .fxb Bank
[+] vstprogset-- Sets a Program in an .fxb Bank.
[+] vstedit -- Opens the GUI editor for the