Knowledge

Csound

Source 📝

717:
processing objects can be spawned or destroyed in real time, input audio processed in real time, and output generated also in real time. Note events can be triggered based on OSC communications within an instrument instance, spawned by MIDI, or entered to stdin (by typing into a terminal or sending textual statements from another program). The use of Csound 5 as a live performance tool can be augmented with a variety of third-party software. Live Event Sheet within CsoundQt can be used to modify the score in real-time. In addition, interfaces to other programming languages can be used to script Csound. A paper detailing the use of Csound with Qt or Pure Data in real-time musical synthesis was presented at the 2012 Linux Audio Conference The Ounk project attempts to integrate Python with Csound while CsoundAC provides a way to do
757: 36: 167: 1207: 1202: 668:
Csound can take advantage of any number of CPUs for concurrent processing during performance. This occurs without any changes to Csound code. This produces substantial speedups of most Csound processing. For example, a piece that renders in 100 seconds with 1 core should render in about 50 seconds
652:
that is accessible via the Csound API. The tree can then be compiled to a Csound performance runtime using the API. Therefore, after the tree has been compiled, it can be manipulated by user code before compiling it to a Csound performance runtime. Alternatively, the user could create the entire
716:
Currently only Csound score or note events can be generated in real time (as opposed to instruments, which are only definable at compile time, when csound first starts; in Csound 6 this limitation is removed). The set of sound processors is defined and compiled at load time, but the individual
274:
at the University of Bath. The first documented version 5 release is version 5.01 on March 18, 2006. Many developers have contributed to it, most notably Istvan Varga, Gabriel Maldonado, Robin Whittle, Richard Karpen, Iain McCurdy, Michael Gogins, Matt Ingalls, Steven Yi,
542:. The one now officially supported is CsoundQt, and it has many features, such as automatic code insertion, integrated documentation browser, integrated widgets for graphically controlling parameters in realtime, plus a button for playing the code. 597:
The use of plug-ins allows additional capabilities without modifications to the Csound code, as there is the possibility to write user-defined opcodes as extensions to the original language.
550:
Version 5.01 was released on March 18, 2006 – 20 years after csound's first release. Csound 5 is available in binary and source code for Linux, Microsoft Windows and Mac OS X from the
1334: 1206: 662:
The orchestra can be re-compiled at any time, or individual instruments can be compiled at any time, during a running performance. This enables true "live coding" in Csound performances.
628:
Csound 6 has been in development since its features were hashed out at the Csound Conference held in 2011 in Hanover. Csound 6 was released in July 2013 and is now available on
620:
widgets (graphical interface components with sliders, knobs, etc.) for controlling real-time audio, and integration of custom graphical interfaces written in Python.
672:
Csound can compile orchestras and scores directly from strings of text, enabling the use of Csound in environments where writing to the file system is not permitted.
290:. One of its greatest strengths is that it is completely modular and extensible by the user. Csound is closely related to the underlying language for the 1354: 656:
There is a new built-in multi-dimensional array type. Arrays can be passed to instruments and opcodes. Arithmetic may be performed directly on arrays.
1018:
This is a book mostly about programming sound directly using the C language, but it does have a couple of chapters about programming Csound opcodes.
892: 1384: 1369: 696:
An Android app was built which provides user-defined graphical user interfaces and JavaScript-based algorithmic composition using HTML5.
785: 1248: 1359: 1078: 1011: 973: 255: 1463: 762: 675:
Score events such as notes can be scheduled to sample accurate times, even if synthesis is processed in blocks of samples.
299: 1473: 535: 322:
describes notes and other parameters along a timeline. Csound processes the instructions in these files and renders an
1405: 1031: 992: 559: 248: 204: 79: 57: 907: 50: 701: 602: 271: 1478: 591: 571: 233: 554:
Csound project. It is much improved and expanded compared to the original software, effectively made into a
1468: 1253: 1243: 1071: 146: 579: 575: 120: 1441: 1349: 633: 1233: 966:
The Csound Book: Perspectives in Software Synthesis, Sound Design, Signal Processing, and Programming
606: 1131: 1126: 567: 534:
As with many other programming languages, writing long programs in Csound can be eased by using an
237: 230: 180: 44: 653:
abstract syntax tree from another language, then compile the tree to a Csound performance runtime.
1400: 1064: 770: 718: 499:; Table containing a sine wave. Built-in generator 10 produces a sum of sinusoids, here only one. 291: 721:
from Python using Csound as backend. Audivation's Csound for Live packages various opcodes into
687:
Most oscillator opcodes will use an internal sine function table if the table number is omitted.
790: 61: 17: 1344: 659:
There is a new type system that enables user-defined types to be used in the Csound language.
645: 775: 738: 649: 678:
All opcodes that return a single value may be used as functions in the orchestra language.
8: 1415: 1374: 563: 166: 1161: 1121: 358: 342: 1106: 1027: 1007: 988: 985:
Virtual Sound. Sound Synthesis and Signal Processing. Theory and Practice with Csound
969: 276: 262:
in 1985, based on his earlier system called Music 11, which in its turn followed the
810:
Dr. Richard Boulanger - Three Decades with Csound: The Roots, Birth, and Early Years
345:.csd). Here is a very simple example of a unified Csound data file which produces a 270:
at the Bell Labs. Its development continued throughout the 1990s and 2000s, led by
1258: 705: 555: 280: 199: 187: 1268: 1151: 338: 457:; Oscillator: p4 and p5 are the arguments from the score, 1 is the table number. 1263: 1228: 1191: 1176: 1171: 1156: 1087: 922: 874: 809: 780: 722: 287: 192: 1146: 1001: 1457: 1303: 1116: 244: 821: 1434: 1186: 1166: 1101: 726: 259: 845: 1410: 1308: 1273: 1141: 1136: 742: 551: 267: 1111: 323: 693:
Numerous duplicate areas of code within Csound have been rationalized.
690:
Command-line options can be set programmatically using the Csound API.
648:
based parser for the Csound language is now standard. It generates an
1329: 1293: 1288: 1278: 641: 594:
which allows control of Csound from a purely functional environment.
539: 354: 350: 346: 311: 737:
Csound5 was chosen to be the audio/music development system for the
236:
for audio programming. It is called Csound because it is written in
1298: 939: 859: 155: 1283: 1181: 1056: 263: 684:
A single score statement can contain multiple string parameters.
1379: 1201: 629: 598: 295: 729:. Csound is also available for mobile systems (iOS, Android). 1364: 1339: 1223: 587: 1002:
Richard Charles Boulanger and Victor Lazzarini, ed. (2011).
616:
was added in the 1990s. Another addition was the support of
1313: 617: 613: 681:
Audio analysis file formats can be byte-order independent.
963: 583: 337:
files may be unified into a single structured file using
286:
Developed over many years, it currently has nearly 1700
982: 566:
have been developed for it. In addition to the basic
1049: 752: 665:
The Csound API has been rationalized and simplified.
215: 920: 1455: 520:; Play one second of one kHz at amplitude 20000. 318:describes the nature of the instruments and the 732: 711: 636:. The major new features of Csound 6 include: 1072: 1370:Center for New Music and Audio Technologies 1079: 1065: 908:"Csound For Live Coming October 17th wiki" 890: 872: 786:Comparison of audio synthesis environments 240:, as opposed to some of its predecessors. 165: 1021: 905: 80:Learn how and when to remove this message 43:This article includes a list of general 964:Richard Charles Boulanger, ed. (2000). 700:The development of Csound 6 was led by 14: 1456: 538:for editing, previewing, testing, and 1060: 1024:Csound Power! The Comprehensive Guide 814: 326:or real-time audio stream as output. 310:Csound takes two specially formatted 763:Free and open-source software portal 590:among other bindings, like one from 29: 875:"Csound as a Real-time Application" 24: 1086: 983:R. Bianchini; A Cipriani. (2000). 957: 126:6.18.1 / November 24, 2022 49:it lacks sufficient corresponding 25: 1490: 1345:Computer Music Center at Columbia 1041: 632:. Csound 6 is also available for 254:Csound was originally written at 1205: 1200: 755: 34: 846:"Csound | SourceForge.net" 932: 914: 899: 891:Peter Kirn (15 October 2011). 884: 866: 852: 838: 803: 612:Real-time performance through 305: 13: 1: 906:Synthhead (15 October 2011). 796: 725:wrappers suitable for use in 412:; Samples per control signal. 234:computer programming language 424:; Number of output channels. 7: 1464:Audio programming languages 748: 733:One Laptop per Child (OLPC) 712:Csound for live performance 623: 545: 371:csound -W -d -o tone.wav 103:; 38 years ago 10: 1495: 1442:Mortuos Plango, Vivos Voco 1350:Experimental Music Studios 1004:The Audio Programming Book 880:. Institute for New Music. 860:"Csound | GitHub.com" 822:"Releases · csound/csound" 609:support has been removed. 529:</CsoundSynthesizer> 1474:Electronic music software 1426: 1393: 1322: 1234:Composers Desktop Project 1214: 1198: 1094: 366:<CsoundSynthesizer> 210: 198: 186: 176: 145: 141: 119: 115: 97: 1132:Gottfried Michael Koenig 921:S. Yi and V. Lazzarini. 363: 349:containing a one-second 1406:Artificial intelligence 1401:Algorithmic composition 895:. Create Digital Music. 771:Audio signal processing 719:algorithmic composition 128:; 22 months ago 64:more precise citations. 893:"Csound For Live wiki" 791:List of music software 536:integrated environment 475:</CsInstruments> 400:; Control signal rate. 341:tags (a CSD file with 247:, available under the 1479:Software synthesizers 940:"Csound on OLPC wiki" 376:<CsInstruments> 1026:. Cengage Learning. 923:"Csound for Android" 776:Software synthesizer 650:abstract syntax tree 570:API, there are also 283:and Joachim Heintz. 27:Programming language 1469:Free audio software 1380:Oberlin TIMARA Labs 1375:Princeton Sound Lab 605:are supported, but 266:model initiated by 94: 1162:Jean-Claude Risset 1122:Giuseppe di Giugno 1022:Jim Aikin (2013). 987:. ConTempo s.a.s. 373:</CsOptions> 343:filename extension 92: 1451: 1450: 1416:Digital synthesis 1107:Richard Boulanger 1013:978-0-262-01446-5 975:978-0-262-52261-8 369:<CsOptions> 277:Richard Boulanger 249:LGPL-2.1-or-later 224: 223: 205:LGPL-2.1-or-later 90: 89: 82: 16:(Redirected from 1486: 1259:Laptop orchestra 1209: 1204: 1081: 1074: 1067: 1058: 1057: 1053: 1052: 1050:Official website 1037: 1017: 998: 979: 951: 950: 948: 946: 936: 930: 929: 927: 918: 912: 911: 903: 897: 896: 888: 882: 881: 879: 873:Joachim Heintz. 870: 864: 863: 856: 850: 849: 842: 836: 835: 833: 832: 818: 812: 807: 765: 760: 759: 758: 706:Victor Lazzarini 704:, Steven Yi and 556:software library 530: 527: 526:</CsScore> 524: 521: 518: 515: 512: 509: 506: 503: 500: 497: 494: 491: 488: 485: 482: 479: 476: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 443: 440: 437: 434: 431: 428: 425: 422: 419: 416: 413: 410: 407: 404: 401: 398: 395: 392: 389: 386: 383: 380: 377: 374: 370: 367: 361:of 96 kHz: 292:Structured Audio 281:Victor Lazzarini 220: 217: 188:Operating system 169: 164: 161: 159: 157: 136: 134: 129: 111: 109: 104: 95: 91: 85: 78: 74: 71: 65: 60:this article by 51:inline citations 38: 37: 30: 21: 1494: 1493: 1489: 1488: 1487: 1485: 1484: 1483: 1454: 1453: 1452: 1447: 1422: 1411:Sound synthesis 1389: 1318: 1269:MIDI controller 1216: 1210: 1196: 1152:Miller Puckette 1090: 1085: 1048: 1047: 1044: 1034: 1014: 995: 976: 960: 958:Further reading 955: 954: 944: 942: 938: 937: 933: 925: 919: 915: 904: 900: 889: 885: 877: 871: 867: 858: 857: 853: 844: 843: 839: 830: 828: 820: 819: 815: 808: 804: 799: 761: 756: 754: 751: 741:project on the 735: 714: 626: 562:. A variety of 548: 532: 531: 528: 525: 522: 519: 516: 513: 510: 507: 504: 501: 498: 495: 492: 489: 486: 483: 480: 478:<CsScore> 477: 474: 471: 468: 465: 462: 459: 456: 453: 450: 447: 444: 441: 438: 435: 432: 429: 426: 423: 420: 417: 414: 411: 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 368: 365: 339:markup language 308: 288:unit generators 231:domain-specific 214: 172: 154: 137: 132: 130: 127: 107: 105: 102: 98:Initial release 86: 75: 69: 66: 56:Please help to 55: 39: 35: 28: 23: 22: 15: 12: 11: 5: 1492: 1482: 1481: 1476: 1471: 1466: 1449: 1448: 1446: 1445: 1438: 1430: 1428: 1424: 1423: 1421: 1420: 1419: 1418: 1408: 1403: 1397: 1395: 1391: 1390: 1388: 1387: 1382: 1377: 1372: 1367: 1362: 1357: 1352: 1347: 1342: 1337: 1332: 1326: 1324: 1320: 1319: 1317: 1316: 1311: 1306: 1301: 1296: 1291: 1286: 1281: 1276: 1271: 1266: 1261: 1256: 1251: 1246: 1241: 1236: 1231: 1226: 1220: 1218: 1212: 1211: 1199: 1197: 1195: 1194: 1192:Iannis Xenakis 1189: 1184: 1179: 1174: 1172:Laurie Spiegel 1169: 1164: 1159: 1157:Roger Reynolds 1154: 1149: 1144: 1139: 1134: 1129: 1124: 1119: 1114: 1109: 1104: 1098: 1096: 1092: 1091: 1088:Computer music 1084: 1083: 1076: 1069: 1061: 1055: 1054: 1043: 1042:External links 1040: 1039: 1038: 1032: 1019: 1012: 999: 993: 980: 974: 959: 956: 953: 952: 931: 913: 898: 883: 865: 851: 837: 813: 801: 800: 798: 795: 794: 793: 788: 783: 781:Computer music 778: 773: 767: 766: 750: 747: 734: 731: 713: 710: 698: 697: 694: 691: 688: 685: 682: 679: 676: 673: 670: 666: 663: 660: 657: 654: 625: 622: 547: 544: 388:; Sample rate. 364: 314:as input. The 307: 304: 294:extensions to 222: 221: 212: 208: 207: 202: 196: 195: 193:Cross-platform 190: 184: 183: 178: 174: 173: 171: 170: 151: 149: 143: 142: 139: 138: 125: 123: 121:Stable release 117: 116: 113: 112: 99: 88: 87: 42: 40: 33: 26: 9: 6: 4: 3: 2: 1491: 1480: 1477: 1475: 1472: 1470: 1467: 1465: 1462: 1461: 1459: 1444: 1443: 1439: 1437: 1436: 1432: 1431: 1429: 1425: 1417: 1414: 1413: 1412: 1409: 1407: 1404: 1402: 1399: 1398: 1396: 1392: 1386: 1383: 1381: 1378: 1376: 1373: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1351: 1348: 1346: 1343: 1341: 1338: 1336: 1333: 1331: 1328: 1327: 1325: 1321: 1315: 1312: 1310: 1307: 1305: 1304:SuperCollider 1302: 1300: 1297: 1295: 1292: 1290: 1287: 1285: 1282: 1280: 1277: 1275: 1272: 1270: 1267: 1265: 1262: 1260: 1257: 1255: 1252: 1250: 1247: 1245: 1242: 1240: 1237: 1235: 1232: 1230: 1227: 1225: 1222: 1221: 1219: 1213: 1208: 1203: 1193: 1190: 1188: 1185: 1183: 1180: 1178: 1175: 1173: 1170: 1168: 1165: 1163: 1160: 1158: 1155: 1153: 1150: 1148: 1145: 1143: 1140: 1138: 1135: 1133: 1130: 1128: 1127:Charles Dodge 1125: 1123: 1120: 1118: 1117:John Chowning 1115: 1113: 1110: 1108: 1105: 1103: 1100: 1099: 1097: 1093: 1089: 1082: 1077: 1075: 1070: 1068: 1063: 1062: 1059: 1051: 1046: 1045: 1035: 1033:1-4354-6005-7 1029: 1025: 1020: 1015: 1009: 1006:. MIT Press. 1005: 1000: 996: 994:88-900261-1-1 990: 986: 981: 977: 971: 968:. MIT Press. 967: 962: 961: 941: 935: 924: 917: 910:. Synthtopia. 909: 902: 894: 887: 876: 869: 861: 855: 847: 841: 827: 823: 817: 811: 806: 802: 792: 789: 787: 784: 782: 779: 777: 774: 772: 769: 768: 764: 753: 746: 744: 740: 730: 728: 724: 720: 709: 707: 703: 695: 692: 689: 686: 683: 680: 677: 674: 671: 669:with 4 cores. 667: 664: 661: 658: 655: 651: 647: 643: 639: 638: 637: 635: 631: 621: 619: 615: 610: 608: 604: 600: 595: 593: 589: 585: 581: 577: 573: 569: 565: 561: 557: 553: 543: 541: 537: 362: 360: 356: 352: 348: 344: 340: 336: 332: 327: 325: 321: 317: 313: 303: 301: 297: 293: 289: 284: 282: 278: 273: 269: 265: 261: 257: 252: 250: 246: 245:free software 241: 239: 235: 232: 228: 219: 213: 209: 206: 203: 201: 197: 194: 191: 189: 185: 182: 179: 175: 168: 163: 153: 152: 150: 148: 144: 140: 124: 122: 118: 114: 100: 96: 84: 81: 73: 70:November 2010 63: 59: 53: 52: 46: 41: 32: 31: 19: 1440: 1435:Illiac Suite 1433: 1427:Compositions 1238: 1215:Programs and 1187:Barry Vercoe 1167:Curtis Roads 1102:Marc Battier 1023: 1003: 984: 965: 943:. Retrieved 934: 916: 901: 886: 868: 854: 840: 829:. Retrieved 825: 816: 805: 736: 727:Ableton Live 715: 699: 627: 611: 596: 549: 533: 334: 330: 328: 319: 315: 309: 285: 260:Barry Vercoe 253: 242: 226: 225: 76: 67: 48: 1309:TidalCycles 1274:Music Mouse 1217:instruments 1147:Gérard Pape 1142:Max Mathews 1137:Paul Lansky 945:23 November 743:XO-1 Laptop 552:SourceForge 359:sample rate 306:Csound code 268:Max Mathews 62:introducing 1458:Categories 1394:Techniques 1112:David Cope 831:2023-02-11 826:github.com 797:References 745:platform. 702:John Fitch 564:front ends 353:tone of 1 324:audio file 312:text files 272:John Fitch 177:Written in 147:Repository 133:2022-11-24 45:references 1330:Bell Labs 1294:Riffusion 1289:Radiodrum 1279:Pure Data 540:debugging 469:; Output. 351:sine wave 347:wave file 331:orchestra 316:orchestra 1299:Sonic Pi 749:See also 624:Csound 6 558:with an 546:Csound 5 1284:MUSIC-N 1264:Max/MSP 1182:Trimpin 1177:The Hub 723:Max/MSP 634:Android 592:Haskell 264:MUSIC-N 211:Website 200:License 162:/csound 160:/csound 131: ( 106: ( 58:improve 1340:CEMAMu 1323:Places 1239:Csound 1095:People 1030:  1010:  991:  972:  630:GitHub 599:LADSPA 572:Python 415:nchnls 296:MPEG-4 243:It is 227:Csound 216:csound 156:github 93:Csound 47:, but 18:CSound 1365:IRCAM 1335:CCRMA 1244:FAUST 1224:ChucK 926:(PDF) 878:(PDF) 642:bison 514:20000 472:endin 439:oscil 427:instr 403:ksmps 385:96000 357:at a 335:score 320:score 229:is a 1360:ICMA 1355:ICEM 1314:UPIC 1254:Kyma 1249:HMSL 1229:Cmix 1028:ISBN 1008:ISBN 989:ISBN 970:ISBN 947:2010 739:OLPC 646:flex 618:FLTK 614:MIDI 603:DSSI 601:and 586:and 580:Lisp 576:Java 517:1000 490:8192 397:9600 333:and 329:The 300:SAOL 218:.com 158:.com 108:1986 101:1986 1385:IEM 607:VST 588:C++ 584:Tcl 560:API 460:out 355:kHz 258:by 256:MIT 1460:: 824:. 708:. 640:A 582:, 578:, 574:, 493:10 448:p5 442:p4 409:10 391:kr 379:sr 302:. 298:, 279:, 251:. 1080:e 1073:t 1066:v 1036:. 1016:. 997:. 978:. 949:. 928:. 862:. 848:. 834:. 644:/ 568:C 523:e 511:1 508:0 505:1 502:i 496:1 487:0 484:1 481:f 466:1 463:a 454:1 451:, 445:, 436:1 433:a 430:1 421:1 418:= 406:= 394:= 382:= 238:C 181:C 135:) 110:) 83:) 77:( 72:) 68:( 54:. 20:)

Index

CSound
references
inline citations
improve
introducing
Learn how and when to remove this message
Stable release
Repository
github.com/csound/csound
Edit this at Wikidata
C
Operating system
Cross-platform
License
LGPL-2.1-or-later
csound.com
domain-specific
computer programming language
C
free software
LGPL-2.1-or-later
MIT
Barry Vercoe
MUSIC-N
Max Mathews
John Fitch
Richard Boulanger
Victor Lazzarini
unit generators
Structured Audio

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.