{"id":36589,"date":"2019-10-31T22:12:30","date_gmt":"2019-10-31T19:12:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-napisat-muzyku-ispolzuya-oop\/"},"modified":"2019-10-31T22:12:30","modified_gmt":"2019-10-31T19:12:30","slug":"kak-napisat-muzyku-ispolzuya-oop","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/kak-napisat-muzyku-ispolzuya-oop","title":{"rendered":"How to Write Music Using OOP","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>We discuss the history of the programming tool OpenMusic (OM), examining its features and telling about its early users. Additionally, we provide analogs.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audiomania\/blog\/461403\/\"><img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/03527608aa7542c035cfe9897deaa5d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<i>Photo <noindex><a rel=\"nofollow\" href=\"https:\/\/unsplash.com\/photos\/J6WmcJrvlLI\"> James Baldwin<\/a><\/noindex> \/ Unsplash<\/i><\/p>\n<h2>What is OpenMusic<\/h2>\n<p>\nIt is an object-oriented <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%92%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5\">visual programming environment<\/a><\/noindex> for digital sound synthesis. The utility is based on a dialect of the LISP language \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Common_Lisp\">Common Lisp<\/a><\/noindex>. It is worth noting that OpenMusic can be used as a universal graphical interface for this programming language.<\/p>\n<p>The tool was developed in the 1990s by engineers from the French Institute for Research and Coordination in Acoustics and Music (<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IRCAM\">IRCAM<\/a><\/noindex>). A total of seven versions of OpenMusic were released \u2014 the latest was published in 2013. At that time, an engineer from IRCAM, Jean Bresson,<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/j-bresson\">Jean Bresson<\/a><\/noindex>) rewrote the utility from scratch, using the <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openmusic-project\/OM6\/\">original code<\/a><\/noindex> of the sixth version (OM6). Today, OM7 is distributed under a license \u2014 its source codes can <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/GNU_General_Public_License#GPL_v3\">GPLv3<\/a><\/noindex> be found on GitHub. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/openmusic-project\/om7\">How to Work with It<\/a><\/noindex>.<\/p>\n<h2>Programs in OpenMusic are created by manipulating graphical objects instead of writing code. As a result, a kind of flowchart is produced, called a \u2018patch\u2019. Similar to modular synthesizers, where patch cords were used for connections.<\/h2>\n<p>\nExample Program<\/p>\n<p>Here <noindex><a rel=\"nofollow\" href=\"https:\/\/openmusic-project.github.io\/om7\/\">OpenMusic, taken from the GitHub repository:<\/a><\/noindex> In OpenMusic, there are two types of objects: basic and score objects (Score Object). The former represent various mathematical operations for working with matrices, columns, and text forms.<\/p>\n<p><img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/6785fe87af24c7509172239adc6b2d09.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nScore objects are necessary for working with sound. They can also be divided into two groups:<\/p>\n<p>Harmonic \u2014 notes, chords, and<\/p>\n<ul>\n<li>harmonic sequences. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%BA%D0%BA%D0%BE%D1%80%D0%B4%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C\">Rhythmic \u2014 voices and measures.<\/a><\/noindex>.<\/li>\n<li>Score objects are controlled using score functions, for example, combining several components into one to create polyphonic sound. Additional functions can be found in plug-in libraries \u2014 a complete list<\/li>\n<\/ul>\n<p>\nis available on the official website. <noindex><a rel=\"nofollow\" href=\"https:\/\/openmusic-project.github.io\/om7\/\">An example of a melody generated by OpenMusic can be listened to<\/a><\/noindex>.<\/p>\n<p>in this video. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=YA0azFm29ts\">To get acquainted with the tool and its capabilities, we recommend referring to the documentation.<\/a><\/noindex>:<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"YA0azFm29ts\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/YA0azFm29ts\/hqdefault.jpg\" alt=\"Play video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\nThe guide for OM7 <noindex><a rel=\"nofollow\" href=\"https:\/\/openmusic-project.github.io\/om7\/\">is still under development. However, you can look at the guide for OM6 \u2014 you need to<\/a><\/noindex> click on the link <noindex><a rel=\"nofollow\" href=\"http:\/\/support.ircam.fr\/docs\/om\/om6-manual\/co\/OM-Documentation.html\">and expand the User Manual section in the left window.<\/a><\/noindex> and in the left window expand the User Manual section.<\/p>\n<h2>Who uses<\/h2>\n<p>\nAccording to the developers' idea, OpenMusic can be used for creating and editing audio tracks, generating mathematical models of compositions, and analyzing recorded musical snippets. Engineers from ITCAM have applied the tool in several scientific studies. For example, for <noindex><a rel=\"nofollow\" href=\"https:\/\/hal.archives-ouvertes.fr\/hal-01839050\/document\">the creation<\/a><\/noindex> an artificial intelligence system that recognizes <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Musical_gesture\">musical gestures<\/a><\/noindex> in audio recordings.<\/p>\n<p>OpenMusic is also used by professional performers\u2014they utilize the utility to study harmonic spectra. One example is the Swiss composer <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%96%D0%B0%D1%80%D1%80%D0%B5%D0%BB%D1%8C,_%D0%9C%D0%B8%D0%BA%D0%B0%D1%8D%D0%BB%D1%8C\">Mikael Jarrin<\/a><\/noindex>, who is a recipient of the Beethoven Prize. His works performed by the Hong Kong Symphony Orchestra can be <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=2by3aXXd6Pg\">listened to here<\/a><\/noindex>.<\/p>\n<p>. It is also worth noting <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D1%8E%D1%80%D0%B0%D0%B9,_%D0%A2%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD\">Tristan Murail<\/a><\/noindex>. He is one of the leading composers working in the field of <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BC%D1%83%D0%B7%D1%8B%D0%BA%D0%B0\">spectral music<\/a><\/noindex>. For example, his works can be found on YouTube, including <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=q6WXzOIsBuQ\">Gondwana<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=Oo_RyHTnERU\">Le partage des eaux<\/a><\/noindex>, created using OpenMusic.<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"Oo_RyHTnERU\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/Oo_RyHTnERU\/hqdefault.jpg\" alt=\"Play video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\nEnglish composer and educator <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A4%D1%91%D1%80%D0%BD%D0%B8%D1%85%D0%BE%D1%83,_%D0%91%D1%80%D0%B0%D0%B9%D0%B0%D0%BD\">Brian Ferneyhough<\/a><\/noindex> used OpenMusic to work with rhythm. Today, his music is part of the repertoire of major contemporary ensembles and performers\u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%B2%D0%B0%D1%80%D1%82%D0%B5%D1%82_%D0%90%D1%80%D0%B4%D0%B8%D1%82%D1%82%D0%B8\">Arditti Quartet<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D1%80%D1%82%D0%BE,_%D0%9F%D1%8C%D0%B5%D1%80_%D0%98%D0%B2\">Pierre-Yves Arto<\/a><\/noindex>.<\/p>\n<h2>Analogues<\/h2>\n<p>\nThere are several systems similar to OpenMusic. Perhaps the most well-known is the commercial tool <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Max\/MSP\">Max\/MSP<\/a><\/noindex>. It was developed by Miller Puckette in the late 1980s while he was working at IRCAM. The system allows for the real-time synthesis of digital sound and video.<\/p>\n<p>In the video below, an installation on one of the buildings in the Italian city of Cagliari is presented. The color of the screens changes depending on the noise from passing cars. The installation is controlled by a combination of Max\/MSP and Arduino.<\/p>\n<p><center><iframe loading=\"lazy\" title=\"Tlight\" width=\"560\" height=\"315\" src=\"https:\/\/player.vimeo.com\/video\/14085912\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><br \/>\nIt is worth noting that Max\/MSP has an open-source counterpart. It is called <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Pure_Data\">Pure Data<\/a><\/noindex>, and it was also developed by Miller Puckette.<\/p>\n<p>Another notable visual system is <noindex><a rel=\"nofollow\" href=\"http:\/\/chuck.cs.princeton.edu\/\">ChucK<\/a><\/noindex>, which was created by Perry Cook and colleagues from Princeton University in 2003. It supports the parallel execution of multiple threads, and changes can be made to the program during execution. It is distributed under the GNU GPL license.<\/p>\n<p>This list of tools for synthesizing digital music does not end here. There are also <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Kyma_(sound_design_language)\">Kyma<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"http:\/\/overtone.github.io\/\">Overtone<\/a><\/noindex>, which allows programming mixes live on stage. We will try to talk about them next time.<\/p>\n<p>\nAdditional reading from our 'Hi-Fi World' and Telegram channel:<\/p>\n<p><img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/8913ea49c2bffe44416da575d424b9d7.jpg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audiomania\/blog\/461299\/\">How PCs Conquered the Media Industry with Successful Software<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/cbc3b067a966ee35edcae6676ffa0a24.jpg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.audiomania.ru\/content\/art-6670.html\">Where to Find Audio Samples for Your Projects: A Selection of Nine Resources<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/80d4d2bc14016e8226ce9f7122bdfd0e.jpg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.audiomania.ru\/content\/art-6638.html\">Music for Your Projects: 12 Thematic Resources with CC Licensed Tracks<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/690399c643a5185387f4dfb44b6ab105.jpg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.audiomania.ru\/content\/art-6637.html\">Innovation SSI-2001: The Story of One of the Rarest Sound Cards for IBM PC<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/8f4e30a5e6719881ef1b97afdc73892d.jpg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.audiomania.ru\/content\/art-6552.html\">The History of Audio Technologies: Synthesizers and Samplers<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/1048b69feecb5ac7b66677e7a0df7cb8.jpg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.audiomania.ru\/content\/art-6499.html\">Enthusiast Recreates the Sound Blaster 1.0 Sound Card<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/f2e6b9bd357392ee45c9e996a6c2224a.jpg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/audiomaniaRU\/783\">How Musical Formats Have Changed Over the Last 100 Years<\/a><\/noindex><br \/>\n<img decoding=\"async\" alt=\"How to Write Music Using OOP\" src=\"\/wp-content\/uploads\/2019\/07\/1170b74cd464d1b6138511dafe6118dc.jpg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/audiomaniaRU\/773\">How an IT Company Fought for the Right to Sell Music<\/a><\/noindex><\/p>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/audiomania\/blog\/461403\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0413\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 OpenMusic (OM), \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445. \u041f\u043b\u044e\u0441 \u043a \u044d\u0442\u043e\u043c\u0443 \u2014 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u0438. \u0424\u043e\u0442\u043e James Baldwin \/ Unsplash \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 OpenMusic \u042d\u0442\u043e \u2014 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0440\u0435\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u0438\u043d\u0442\u0435\u0437\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0433\u043e \u0437\u0432\u0443\u043a\u0430. \u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u0434\u0438\u0430\u043b\u0435\u043a\u0442\u0435 \u044f\u0437\u044b\u043a\u0430 LISP \u2014 Common Lisp. \u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e OpenMusic \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27396,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-36589","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0413\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 OpenMusic (OM), \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/kak-napisat-muzyku-ispolzuya-oop\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0443\u0437\u044b\u043a\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u041e\u041e\u041f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0413\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 OpenMusic (OM), \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/kak-napisat-muzyku-ispolzuya-oop\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:12:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:12:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47How to Write Music Using OOP | ProHoster","description":"We discuss the history of the OpenMusic (OM) software tool, examining its features and telling the story of its early users.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/kak-napisat-muzyku-ispolzuya-oop","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0443\u0437\u044b\u043a\u0443, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u041e\u041e\u041f | ProHoster","og:description":"\u0413\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 OpenMusic (OM), \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/kak-napisat-muzyku-ispolzuya-oop","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:12:30+00:00","article:modified_time":"2019-10-31T19:12:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36589","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 04:01:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:42:25","updated":"2026-01-22 04:01:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/36589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=36589"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/36589\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/27396"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=36589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=36589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=36589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}