Кіріспе
Аудио бағдарламалау тілі MUSIC N – 1957 жылы Макс Мэтьюс Bell Labs-те жазған MUSIC бағдарламасынан тараған немесе оның ықпалында болған компьютерлік музыка бағдарламалары мен бағдарламалау тілдерінің тобы. MUSIC – тікелей синтез арқылы цифрлық аудио толқындарын жасауға арналған алғашқы компьютерлік бағдарлама. Бұл цифрлық компьютерде музыка (нақтырақ айтқанда, дыбыс) жасау үшін жасалған алғашқы бағдарламалардың бірі болды және осы міндетті орындауға қабілетті деп музыка зерттеу қауымдастығында кеңінен мойындалған тұңғыш бағдарлама еді. Әлемдегі алғашқы компьютерлік музыканы Австралиялық бағдарламашы Джефф Хилл Тревор Пирси және Мастон Берд құрастырған CSIRAC компьютері арқылы жасады. Дегенмен, CSIRAC дыбысты тікелей динамикке импульстар жіберу арқылы шығарды, ол MUSIC бағдарламалар сериясы сияқты PCM үлгілерімен стандартты цифрлық аудионы жасаған жоқ.
MUSIC N refers to a family of computer music programs and programming languages descended from or influenced by MUSIC, a program written by Max Mathews in 1957 at Bell Labs. MUSIC was the first computer program for generating digital audio waveforms through direct synthesis. It was one of the first programs for making music (in actuality, sound) on a digital computer, and was certainly the first program to gain wide acceptance in the music research community as viable for that task. The world's first computer controlled music was generated in Australia by programmer Geoff Hill on the CSIRAC computer which was designed and built by Trevor Pearcey and Maston Beard. However, CSIRAC produced sound by sending raw pulses to the speaker, it did not produce standard digital audio with PCM samples, like the MUSIC series of programs.
Дизайн
Барлық MUSIC N және туынды бағдарламалары (көп немесе аз) ортақ дизайнға ие, олар қарапайым сигналды өңдеу және синтез процедуралары (опкодтар немесе бірлік генераторлары ретінде жазылған) негізінде құрылған функциялар кітапханасынан тұрады. Пайдаланушы осы қарапайым опкодтарды құралға (әдетте мәтіндік нұсқаулық файл арқылы, бірақ көбінесе графикалық интерфейс арқылы) құрастырады, ол дыбысты анықтайды, ал одан кейін екінші файлмен ("бағдарламалық ұпай" деп аталады) "ойнатылады", ол ноталарды, ұзақтығын, биіктігін, амплитудаларын және шығарманың музыкалық ақпараттық ерекшеліктеріне қатысты басқа да параметрлерді көрсетеді. Тілдің кейбір нұсқалары құрал мен бағдарламалық ұпайды біріктіреді, бірақ көпшілігі әлі де басқару деңгейіндегі функцияларды (музыкаға әсер ететін) және аудионың үлгі алу жиілігінде жұмыс істейтін функцияларды (дыбысқа әсер ететін) ажыратады. Ерекше жағдай – ChucK, ол аудио және басқару жиіліктерін біртұтас жүйеге біріктіреді, бұл кез келген дәлдіктегі уақыт түйіршігін және оларды басқарудың бір механизмін қамтамасыз етеді. Бұл кодтың икемділігі мен оқылуына қолайлылығының артықшылықтарымен қатар, жүйе өнімділігінің төмендеуіне әкелуі мүмкін. MUSIC N және одан туындаған бағдарламалық жасақтама көбінесе толыққанды, дербес бағдарламалар түрінде қол жетімді, олар мәтіндік интерфейстен GUI-ға дейін әртүрлі пайдаланушы интерфейстеріне ие болуы мүмкін. Осы тұрғыдан алғанда, Csound және RTcmix бағдарламалық кітапханалар ретінде дамуда, оларға C, C++, Java, Python, Tcl, Lua, Lisp, Scheme сияқты түрлі алдыңғы қатарлар мен бағдарламалау тілдері арқылы, сондай-ақ Pure Data, Max/MSP және LADSPA, VST плагиндік жүйелері сияқты басқа музыкалық жүйелер арқылы қол жеткізуге болады. MUSIC және оның ұрпақтары компьютерде дыбыс жасаудың ең тиімді жолы туралы бірқатар ерекше (және бүгінгі күнге дейін күмән тудырмайтын) қағидаларды жүзеге асырады. Мэтьюстің көптеген іске асырулары (мысалы, толқын пішіні мен конвертті сақтау үшін алдын ала есептелген массивтерді пайдалану, аудио жиілігінде емес, музыкалық уақытта жұмыс істейтін жоспарлаушыны пайдалану) бүгінгі күні көптеген аппараттық және бағдарламалық синтез және аудио DSP жүйелері үшін қалыпты жағдай болып табылады.
Scheme, etc., as well as other music systems such as Pure Data, Max/MSP and plugin frameworks LADSPA and VST. A number of highly original (and to this day largely unchallenged) assumptions are implemented in MUSIC and its descendants about the best way to create sound on a computer. Many of Mathews' implementations (such as using pre calculated arrays for waveform and envelope storage, the use of a scheduler that runs in musical time rather than at audio rate) are the norm for most hardware and software synthesis and audio DSP systems today.