Csound Csound-dev Csound-tekno Search About

[Csnd] csoundengine, a python package for csound

Date2021-09-10 19:00
FromEduardo Moguillansky
Subject[Csnd] csoundengine, a python package for csound

Hi,

as a part of a project for computer aided composition in python I just released "csoundengine", a python package which makes working with csound in python somewhat more enjoyable. It is built on top of ctcsound. If used inside jupyter it uses its html display / ui capabilities and makes for a quite nice environment for testing sound ideas.

https://github.com/gesellkammer/csoundengine

Documentation: https://csoundengine.readthedocs.io/en/latest/

The benefits it provides over the bare API provided by ctcsound are:

* good documentation
* Sane defaults. csoundengine detects the most appropriate backend together with their corresponding configuration (-b/-B, number of channels, samplerate) based on the state of the system.
* a high level interface where an instrument can be instantiated before or after another instrument
* named pfields, default values for pfields.
* dynamic parameters and automation of a running instance
* a bus system to send audio between instances
* gui control of parameters in jupyter / automatic ui generation
* gui configuration / selection of audio device / gui support for common tasks like loading a soundfile, etc
* builtin instruments for common tasks, like playing a soundfile from disk or table (with fade, looping, speed control, etc)
* automatic generation of unique instance number to control/turnoff a specific instance
* builtin-in instrument to test the audio configuration
* nice plotting of tables (raw data, waveform, spectrogram, spectrograph)
* support for multiple engines
* linux: detects the running sound backend and adapts to it. It will check if jack or pipewire are running and use that as a backend, with the corresponding samplerate, block size, etc. In particular it is able to determine hardware ports both under jack and pipewire and connect to those by default.

It's been quite thoroughly tested in linux and also checked under macos 10.14 (intel) and win10. Any testing and/or feedback is greatly appreciated.

Best regards,

Eduardo Moguillansky


Date2021-09-10 19:09
FromTarmo Johannes
SubjectRe: [Csnd] csoundengine, a python package for csound
Wow!
Congearulations! I will check it out.
Tarmo

R, 10. september 2021 21:00 Eduardo Moguillansky <eduardo.moguillansky@gmail.com> kirjutas:

Hi,

as a part of a project for computer aided composition in python I just released "csoundengine", a python package which makes working with csound in python somewhat more enjoyable. It is built on top of ctcsound. If used inside jupyter it uses its html display / ui capabilities and makes for a quite nice environment for testing sound ideas.

https://github.com/gesellkammer/csoundengine

Documentation: https://csoundengine.readthedocs.io/en/latest/

The benefits it provides over the bare API provided by ctcsound are:

* good documentation
* Sane defaults. csoundengine detects the most appropriate backend together with their corresponding configuration (-b/-B, number of channels, samplerate) based on the state of the system.
* a high level interface where an instrument can be instantiated before or after another instrument
* named pfields, default values for pfields.
* dynamic parameters and automation of a running instance
* a bus system to send audio between instances
* gui control of parameters in jupyter / automatic ui generation
* gui configuration / selection of audio device / gui support for common tasks like loading a soundfile, etc
* builtin instruments for common tasks, like playing a soundfile from disk or table (with fade, looping, speed control, etc)
* automatic generation of unique instance number to control/turnoff a specific instance
* builtin-in instrument to test the audio configuration
* nice plotting of tables (raw data, waveform, spectrogram, spectrograph)
* support for multiple engines
* linux: detects the running sound backend and adapts to it. It will check if jack or pipewire are running and use that as a backend, with the corresponding samplerate, block size, etc. In particular it is able to determine hardware ports both under jack and pipewire and connect to those by default.

It's been quite thoroughly tested in linux and also checked under macos 10.14 (intel) and win10. Any testing and/or feedback is greatly appreciated.

Best regards,

Eduardo Moguillansky

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-09-10 19:40
FromRory Walsh
SubjectRe: [Csnd] csoundengine, a python package for csound
Great stuff Eduardo. Congratulations on the release! 

On Fri, 10 Sept 2021 at 19:09, Tarmo Johannes <trmjhnns@gmail.com> wrote:
Wow!
Congearulations! I will check it out.
Tarmo

R, 10. september 2021 21:00 Eduardo Moguillansky <eduardo.moguillansky@gmail.com> kirjutas:

Hi,

as a part of a project for computer aided composition in python I just released "csoundengine", a python package which makes working with csound in python somewhat more enjoyable. It is built on top of ctcsound. If used inside jupyter it uses its html display / ui capabilities and makes for a quite nice environment for testing sound ideas.

https://github.com/gesellkammer/csoundengine

Documentation: https://csoundengine.readthedocs.io/en/latest/

The benefits it provides over the bare API provided by ctcsound are:

* good documentation
* Sane defaults. csoundengine detects the most appropriate backend together with their corresponding configuration (-b/-B, number of channels, samplerate) based on the state of the system.
* a high level interface where an instrument can be instantiated before or after another instrument
* named pfields, default values for pfields.
* dynamic parameters and automation of a running instance
* a bus system to send audio between instances
* gui control of parameters in jupyter / automatic ui generation
* gui configuration / selection of audio device / gui support for common tasks like loading a soundfile, etc
* builtin instruments for common tasks, like playing a soundfile from disk or table (with fade, looping, speed control, etc)
* automatic generation of unique instance number to control/turnoff a specific instance
* builtin-in instrument to test the audio configuration
* nice plotting of tables (raw data, waveform, spectrogram, spectrograph)
* support for multiple engines
* linux: detects the running sound backend and adapts to it. It will check if jack or pipewire are running and use that as a backend, with the corresponding samplerate, block size, etc. In particular it is able to determine hardware ports both under jack and pipewire and connect to those by default.

It's been quite thoroughly tested in linux and also checked under macos 10.14 (intel) and win10. Any testing and/or feedback is greatly appreciated.

Best regards,

Eduardo Moguillansky

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-09-10 21:02
FromVictor Lazzarini
SubjectRe: [Csnd] [EXTERNAL] [Csnd] csoundengine, a python package for csound
That's very interesting. I like the use of the Csound language as some sort of IR. We should try to facilitate more of that through the API in Csound 7. Congratulations on the work.

Prof. Victor Lazzarini
Maynooth University
Ireland

On 10 Sep 2021, at 19:00, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

Hi,

as a part of a project for computer aided composition in python I just released "csoundengine", a python package which makes working with csound in python somewhat more enjoyable. It is built on top of ctcsound. If used inside jupyter it uses its html display / ui capabilities and makes for a quite nice environment for testing sound ideas.

https://github.com/gesellkammer/csoundengine

Documentation: https://csoundengine.readthedocs.io/en/latest/

The benefits it provides over the bare API provided by ctcsound are:

* good documentation
* Sane defaults. csoundengine detects the most appropriate backend together with their corresponding configuration (-b/-B, number of channels, samplerate) based on the state of the system.
* a high level interface where an instrument can be instantiated before or after another instrument
* named pfields, default values for pfields.
* dynamic parameters and automation of a running instance
* a bus system to send audio between instances
* gui control of parameters in jupyter / automatic ui generation
* gui configuration / selection of audio device / gui support for common tasks like loading a soundfile, etc
* builtin instruments for common tasks, like playing a soundfile from disk or table (with fade, looping, speed control, etc)
* automatic generation of unique instance number to control/turnoff a specific instance
* builtin-in instrument to test the audio configuration
* nice plotting of tables (raw data, waveform, spectrogram, spectrograph)
* support for multiple engines
* linux: detects the running sound backend and adapts to it. It will check if jack or pipewire are running and use that as a backend, with the corresponding samplerate, block size, etc. In particular it is able to determine hardware ports both under jack and pipewire and connect to those by default.

It's been quite thoroughly tested in linux and also checked under macos 10.14 (intel) and win10. Any testing and/or feedback is greatly appreciated.

Best regards,

Eduardo Moguillansky

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-09-11 10:18
Fromluis antunes pena
SubjectRe: [Csnd] csoundengine, a python package for csound
Wonderful! Thank you for making this available!
Best,
Luís

On 10.09.21 20:00, Eduardo Moguillansky wrote:

Hi,

as a part of a project for computer aided composition in python I just released "csoundengine", a python package which makes working with csound in python somewhat more enjoyable. It is built on top of ctcsound. If used inside jupyter it uses its html display / ui capabilities and makes for a quite nice environment for testing sound ideas.

https://github.com/gesellkammer/csoundengine

Documentation: https://csoundengine.readthedocs.io/en/latest/

The benefits it provides over the bare API provided by ctcsound are:

* good documentation
* Sane defaults. csoundengine detects the most appropriate backend together with their corresponding configuration (-b/-B, number of channels, samplerate) based on the state of the system.
* a high level interface where an instrument can be instantiated before or after another instrument
* named pfields, default values for pfields.
* dynamic parameters and automation of a running instance
* a bus system to send audio between instances
* gui control of parameters in jupyter / automatic ui generation
* gui configuration / selection of audio device / gui support for common tasks like loading a soundfile, etc
* builtin instruments for common tasks, like playing a soundfile from disk or table (with fade, looping, speed control, etc)
* automatic generation of unique instance number to control/turnoff a specific instance
* builtin-in instrument to test the audio configuration
* nice plotting of tables (raw data, waveform, spectrogram, spectrograph)
* support for multiple engines
* linux: detects the running sound backend and adapts to it. It will check if jack or pipewire are running and use that as a backend, with the corresponding samplerate, block size, etc. In particular it is able to determine hardware ports both under jack and pipewire and connect to those by default.

It's been quite thoroughly tested in linux and also checked under macos 10.14 (intel) and win10. Any testing and/or feedback is greatly appreciated.

Best regards,

Eduardo Moguillansky

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-09-11 11:40
FromRory Walsh
SubjectRe: [Csnd] csoundengine, a python package for csound
I just took a deeper look at this. I don't use Python much, but I really like how you have abstracted Csound in the Session class. I have been toying with the idea of creating a p5Csound library. I think your approach here would work quite well in the context of p5js. I need to study your code a little more. 

On Sat, 11 Sept 2021 at 10:18, luis antunes pena <antunespena@web.de> wrote:
Wonderful! Thank you for making this available!
Best,
Luís

On 10.09.21 20:00, Eduardo Moguillansky wrote:

Hi,

as a part of a project for computer aided composition in python I just released "csoundengine", a python package which makes working with csound in python somewhat more enjoyable. It is built on top of ctcsound. If used inside jupyter it uses its html display / ui capabilities and makes for a quite nice environment for testing sound ideas.

https://github.com/gesellkammer/csoundengine

Documentation: https://csoundengine.readthedocs.io/en/latest/

The benefits it provides over the bare API provided by ctcsound are:

* good documentation
* Sane defaults. csoundengine detects the most appropriate backend together with their corresponding configuration (-b/-B, number of channels, samplerate) based on the state of the system.
* a high level interface where an instrument can be instantiated before or after another instrument
* named pfields, default values for pfields.
* dynamic parameters and automation of a running instance
* a bus system to send audio between instances
* gui control of parameters in jupyter / automatic ui generation
* gui configuration / selection of audio device / gui support for common tasks like loading a soundfile, etc
* builtin instruments for common tasks, like playing a soundfile from disk or table (with fade, looping, speed control, etc)
* automatic generation of unique instance number to control/turnoff a specific instance
* builtin-in instrument to test the audio configuration
* nice plotting of tables (raw data, waveform, spectrogram, spectrograph)
* support for multiple engines
* linux: detects the running sound backend and adapts to it. It will check if jack or pipewire are running and use that as a backend, with the corresponding samplerate, block size, etc. In particular it is able to determine hardware ports both under jack and pipewire and connect to those by default.

It's been quite thoroughly tested in linux and also checked under macos 10.14 (intel) and win10. Any testing and/or feedback is greatly appreciated.

Best regards,

Eduardo Moguillansky

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-09-12 19:21
FromRichard Knight
SubjectRe: [Csnd] csoundengine, a python package for csound

Looks fantastic, look forward to checking it out.
RK

 


On 2021-09-10 19:00, Eduardo Moguillansky wrote:

Hi,

as a part of a project for computer aided composition in python I just released "csoundengine", a python package which makes working with csound in python somewhat more enjoyable. It is built on top of ctcsound. If used inside jupyter it uses its html display / ui capabilities and makes for a quite nice environment for testing sound ideas.

https://github.com/gesellkammer/csoundengine

Documentation: https://csoundengine.readthedocs.io/en/latest/

The benefits it provides over the bare API provided by ctcsound are:

* good documentation
* Sane defaults. csoundengine detects the most appropriate backend together with their corresponding configuration (-b/-B, number of channels, samplerate) based on the state of the system.
* a high level interface where an instrument can be instantiated before or after another instrument
* named pfields, default values for pfields.
* dynamic parameters and automation of a running instance
* a bus system to send audio between instances
* gui control of parameters in jupyter / automatic ui generation
* gui configuration / selection of audio device / gui support for common tasks like loading a soundfile, etc
* builtin instruments for common tasks, like playing a soundfile from disk or table (with fade, looping, speed control, etc)
* automatic generation of unique instance number to control/turnoff a specific instance
* builtin-in instrument to test the audio configuration
* nice plotting of tables (raw data, waveform, spectrogram, spectrograph)
* support for multiple engines
* linux: detects the running sound backend and adapts to it. It will check if jack or pipewire are running and use that as a backend, with the corresponding samplerate, block size, etc. In particular it is able to determine hardware ports both under jack and pipewire and connect to those by default.

It's been quite thoroughly tested in linux and also checked under macos 10.14 (intel) and win10. Any testing and/or feedback is greatly appreciated.

Best regards,

Eduardo Moguillansky

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2021-09-14 12:58
FromBen Hackbarth
SubjectRe: [Csnd] csoundengine, a python package for csound

On Sun, Sep 12, 2021, 19:21 Richard Knight <richard@1bpm.net> wrote:

Looks fantastic, look forward to checking it out.
RK

 


On 2021-09-10 19:00, Eduardo Moguillansky wrote:

Hi,

as a part of a project for computer aided composition in python I just released "csoundengine", a python package which makes working with csound in python somewhat more enjoyable. It is built on top of ctcsound. If used inside jupyter it uses its html display / ui capabilities and makes for a quite nice environment for testing sound ideas.

https://github.com/gesellkammer/csoundengine

Documentation: https://csoundengine.readthedocs.io/en/latest/

The benefits it provides over the bare API provided by ctcsound are:

* good documentation
* Sane defaults. csoundengine detects the most appropriate backend together with their corresponding configuration (-b/-B, number of channels, samplerate) based on the state of the system.
* a high level interface where an instrument can be instantiated before or after another instrument
* named pfields, default values for pfields.
* dynamic parameters and automation of a running instance
* a bus system to send audio between instances
* gui control of parameters in jupyter / automatic ui generation
* gui configuration / selection of audio device / gui support for common tasks like loading a soundfile, etc
* builtin instruments for common tasks, like playing a soundfile from disk or table (with fade, looping, speed control, etc)
* automatic generation of unique instance number to control/turnoff a specific instance
* builtin-in instrument to test the audio configuration
* nice plotting of tables (raw data, waveform, spectrogram, spectrograph)
* support for multiple engines
* linux: detects the running sound backend and adapts to it. It will check if jack or pipewire are running and use that as a backend, with the corresponding samplerate, block size, etc. In particular it is able to determine hardware ports both under jack and pipewire and connect to those by default.

It's been quite thoroughly tested in linux and also checked under macos 10.14 (intel) and win10. Any testing and/or feedback is greatly appreciated.

Best regards,

Eduardo Moguillansky

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here