Skip to main content

Python bindings for Csound (fork of ctcsound)

These bindings can be used with any version of csound >= 6.18. Csound 7 is explicitely supported.

Installation

Csound needs to be installed in the system.

pip install libcsound

Quick Start

Rendering in real-time using a render thread

import libcsound
csound = libcsound.Csound()
csound.setOption('-odac')
csound.compileOrc(r'''

sr = 44100   ; Modify to fit your system
ksmps = 64
nchnls = 2
0dbfs = 1

instr 1
  kchan init -1
  kchan = (kchan + metro:k(1)) % nchnls
  if changed:k(kchan) == 1 then
    println "Channel: %d", kchan + 1
  endif
  asig = pinker() * 0.2
  outch kchan + 1, asig
endin

''')
csound.start()
thread = csound.performanceThread()
thread.play()
# Schedule an instance of instr 1 for 10 seconds
thread.scoreEvent(0, "i", [1, 0, 10])
input("Press any key to stop...\n")
thread.stop()

Render offline

import libcsound
csound = libcsound.Csound()
csound.setOption('-ooutfile.wav')
csound.compileOrc(r'''

sr = 44100
ksmps = 64
nchnls = 2
0dbfs = 1

instr 1
  kchan init -1
  kchan = (kchan + metro:k(1)) % nchnls
  if changed:k(kchan) == 1 then
    println "Channel: %d", kchan + 1
  endif
  asig = pinker() * 0.2
  outch kchan + 1, asig
endin

''')
csound.start()
csound.scoreEvent("i", [1, 0, 10])
csound.setEndMarker(10)
# Perform until the end of the score
while not csound.performKsmps():
    pass

Documentation

https://libcsound.readthedocs.io/en/latest/

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libcsound-0.14.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

libcsound-0.14.0-py3-none-any.whl (181.4 kB view details)

Uploaded Python 3

File details

Details for the file libcsound-0.14.0.tar.gz.

File metadata

  • Download URL: libcsound-0.14.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for libcsound-0.14.0.tar.gz
Algorithm Hash digest
SHA256 f44366e4d5f08ab8e0acd0cdc5be7638e28fa85f4feed0565020ca913e66800a
MD5 024d46073adf12be556b1af284b7b8c7
BLAKE2b-256 e0c9030b5b7ec4d530c7eb6ec5c38645483979da3f4bc791b3aacc82b4fd3dcd

See more details on using hashes here.

File details

Details for the file libcsound-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: libcsound-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 181.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for libcsound-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4761e7476c5c604b70b16115f43531b054707fd98bf75fcda50d1545d7a32560
MD5 a9793174100485db26aed6ea2b33ea93
BLAKE2b-256 73d3ea3025f87826b519cbada3607f30405203735276b4e84f123a06f6f2f714

See more details on using hashes here.

Release history Release notifications | RSS feed

0.14.3

2 files

0.14.1

2 files

This release

0.14.0 This release

2 files

0.13.1

2 files

0.13.0

2 files

0.12.0

1 file

0.11.3

2 files

0.11.2

2 files

0.11.1

2 files

0.11.0

2 files

0.10.8

2 files

0.10.7

2 files

0.10.6

2 files

0.10.5

1 file

0.10.4

1 file

0.10.2

1 file

0.10.1

2 files

0.10.0

2 files

0.9.1

2 files

0.9.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page