{"id":1337,"date":"2024-02-01T11:48:00","date_gmt":"2024-02-01T04:48:00","guid":{"rendered":"https:\/\/unydevelopernetwork.com\/?p=1337"},"modified":"2024-02-01T11:48:03","modified_gmt":"2024-02-01T04:48:03","slug":"merekognisi-file-musik-ke-numerical-music-notation-jianpu","status":"publish","type":"post","link":"https:\/\/unydevelopernetwork.com\/index.php\/2024\/02\/01\/merekognisi-file-musik-ke-numerical-music-notation-jianpu\/","title":{"rendered":"Merekognisi File Musik ke Numerical Music Notation (Jianpu)"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<p>Selamat datang di UNYDeveloperNetwork. Sebagai seorang musisi, terkadang ketika mendengar sebuah lagu, kita sangat ingin mengetahui partitur dari musik yang sedang didengar tersebut. Namun, ada kalanya, partitur sebuah musik itu harganya mahal, atau hanya dapat dilihat dan dibaca di lingkup terbatas saja. Lantas, apakah ada cara merekognisi file musik untuk dapat menjadi partitur? Tentu saja, ADA! Dengan bahasa pemrograman Python, segalanya mungkin. Bahkan untuk merekognisi file musik menjadi partitur juga ada librarynya. Tinggal bagaimana cara kita mengompilasi library library itu menjadi sebuah program yang dapat merekognisi file musik menjadi partitur. <\/p>\n\n\n\n<p>Bagaimanakah caranya? Ikuti langkah-langkah mudah berikut ini. <\/p>\n\n\n\n<p><strong>1. PERSIAPKAN SEBUAH FILE MUSIK BERFORMAT WAV<\/strong><\/p>\n\n\n\n<p>Ya, Saya menyarankan untuk menyiapkan sebuah file berformat .wav. Alasannya? Ya karena .wav adalah interface termudah untuk digunakan program ini untuk merekognisi musik di dalamnya menjadi sebuah partitur. Dalam kasus ini, Saya akan menggunakan file audio dengan nama <strong>125.wav<\/strong>. Berikut informasi detil dari file yang akan Saya gunakan dalam project ini.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"224\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-4-700x224.png\" alt=\"\" class=\"wp-image-1347\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-4-700x224.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-4-300x96.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-4-768x245.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-4-850x272.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-4.png 898w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>File yang Saya gunakan adalah file .wav denga ukuran file sebesar 5.49 MB dan berdurasi 32 detik dengan bitrate 141kbps. File audio yang digunakan ini adalah rekaman asli performance seorang musisi yang direkam dengan menggunakan perekam khusus sehingga audio yang dihasilkan juga bersih dari <em>noise<\/em>. <\/p>\n\n\n\n<p><strong>2. MEMPERSIAPKAN PROGRAM<\/strong><\/p>\n\n\n\n<p>Langkah kedua yakni mempersiapkan Program. Dalam hal ini, Saya menggunakan bahasa pemrograman Python untuk membuat program rekognisi file musik menjadi partitur. Versi python yang Saya gunakan adalah versi 3.8.2rc2<strong> <\/strong>dan berjalan di atas sistem operasi Ubuntu 20.04 lts.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"219\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-1-700x219.png\" alt=\"\" class=\"wp-image-1344\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-1-700x219.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-1-300x94.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-1-768x241.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-1-850x266.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-1.png 858w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>3.<\/strong> <strong>ALUR PROGRAM<\/strong><\/p>\n\n\n\n<p>Alur program yang akan kita buat adalah sebagai berikut:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mengonversi file wav menjadi midi<\/li>\n\n\n\n<li>Menggunakan file midi hasil konversi untuk menghasilkan notes<\/li>\n\n\n\n<li>Mengonversi notes menjadi XML untuk dapat dimuat di aplikasi music sheet reader<\/li>\n<\/ul>\n\n\n\n<p><strong>4. MULAI MEMPROGRAM!<\/strong><\/p>\n\n\n\n<p><em><mark style=\"background-color:#fcb900\" class=\"has-inline-color has-black-color\">KONVERSI DARI WAV KE MIDI<\/mark><\/em><\/p>\n\n\n\n<p>Setelah memahami alur program yang akan kita buat, saatnya kita mulai untuk memprogram. Langkah pertama adalah mengonversi file .wav menjadi .mid. Untuk itu, kita memerlukan sebuah library bernama <strong><a href=\"https:\/\/github.com\/Music-and-Culture-Technology-Lab\/omnizart\">omnizart<\/a><\/strong>. Namun, selain itu, kita juga membutuhkan numpy dan juga Cython. Oleh karena itu kita akan menginstall tiga library ini bersamaan. <\/p>\n\n\n\n<p>Untuk menginstalnya, gunakan syntax di bawah ini.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install numpy Cython omnizart<\/code><\/pre>\n\n\n\n<p>Tunggu proses instalasi hingga selesai <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"67\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-700x67.png\" alt=\"\" class=\"wp-image-1343\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-700x67.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-300x29.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-768x74.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image.png 841w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Setelah menginstall numpy, Cthon, dan omnizart, kita harus menginstall tiga program lainnya yakni libsndfile-dev fluidsynth ffmpeg. Oleh karena itu ketikkan perintah berikut untuk menginstall ketika program tersebut.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install libsndfile-dev fluidsynth ffmpeg<\/code><\/pre>\n\n\n\n<p>Tunggu proses instalasi hingga selesai<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"145\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-2-700x145.png\" alt=\"\" class=\"wp-image-1345\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-2-700x145.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-2-300x62.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-2-768x160.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-2-850x177.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-2.png 1121w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Selesai kita menginstall tiga program tambahan, kita harus mendownload &#8220;last checkpoint&#8221; model yang akan digunakan oleh omnizart. Untuk itu, ketikkan perintah berikut ini.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>omnizart download-checkpoints<\/code><\/pre>\n\n\n\n<p>Tunggu proses download selesai.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"214\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-3-700x214.png\" alt=\"\" class=\"wp-image-1346\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-3-700x214.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-3-300x92.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-3-768x235.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-3-850x260.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-3.png 893w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Selesai mendownload checkpoint, saatnya kita mengoversi file .wav yang kita miliki ke midi. Untuk itu ketikkan perintah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>omnizart music transcribe &#91;input_file]<\/code><\/pre>\n\n\n\n<p>Sebagai contoh, dalam project ini saya menggunakan sebuah file wav dengan nama <strong>125.wav<\/strong> oleh karena itu saya ketikkan perintah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>omnizart music transcribe 125.wav<\/code><\/pre>\n\n\n\n<p>Berikut adalah tangkapan layar proses konversinya.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"138\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-5-700x138.png\" alt=\"\" class=\"wp-image-1348\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-5-700x138.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-5-300x59.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-5-768x152.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-5-850x168.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-5.png 1457w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Proses konversi dari .wav ke .mid telah selesai dilakukan, sekarang saatnya kita merekognisi file midi tersebut ke dalam bentuk global musicxml.<\/p>\n\n\n\n<p><em><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">KONVERSI MIDI KE MUSIC XML<\/mark><\/em><\/p>\n\n\n\n<p>Untuk dapat mengonversi file midi yang sudah kita generate kedalam music xml, kita perlu menginstall satu library lagi yakni music21 dan lxml. Untuk melakukannya, ketikkan perintah berikut ini.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install music21 lxml<\/code><\/pre>\n\n\n\n<p>Tunggu proses instalasi hingga selesai<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"50\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-6-700x50.png\" alt=\"\" class=\"wp-image-1349\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-6-700x50.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-6-300x21.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-6-768x55.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-6-850x60.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-6.png 999w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Selesai menginstall seluruh library, barulah kita dapat menggunakannya untuk membuat program yang berfungsi merekognisi file midi ke bentuk music xml. Buat program dengan nama &#8220;musicxml.py&#8221; dengan kode berikut ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from music21 import converter\r\nimport shutil\r\nimport sys\r\n\r\ndef convert_midi_to_sheet(midi_path, output_path):\r\n    # Load the MIDI file\r\n    midi = converter.parse(midi_path)\r\n\r\n    # Convert MIDI to sheet music (music notation) and get the path to the generated file\r\n    temp_musicxml_path = midi.write('musicxml')\r\n\r\n    # Move the generated MusicXML file to the desired output path\r\n    shutil.move(str(temp_musicxml_path), output_path)\r\n\r\n    print(f\"Sheet music saved to {output_path}\")\r\n\r\nif __name__ == \"__main__\":\r\n    if len(sys.argv) != 3:\r\n        print(\"Usage: python script.py &lt;midi_file_path> &lt;output_sheet_music_path>\")\r\n        sys.exit(1)\r\n\r\n    midi_file_path = sys.argv&#91;1]\r\n    output_sheet_music_path = sys.argv&#91;2]\r\n\r\n    convert_midi_to_sheet(midi_file_path, output_sheet_music_path)\r<\/code><\/pre>\n\n\n\n<p>Simpan kode di atas dengan nama <strong>musicxml.py. <\/strong>Selanjutnya, kita dapat menggunakan program ini untuk merekognisi file midi yang sudah kita buat menjadi musicxml. Untuk melakukannya ketikkan perintah berikut ini<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python musicxml.py &#91;input_file_midi] &#91;output_file_xml]<\/code><\/pre>\n\n\n\n<p>Sebagai contoh, karena saya sudah memiliki file midi dengan nama <strong>125.mid<\/strong> maka saya mengetikkan perintah berikut ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python musicxml.py 125.mid 125.xml<\/code><\/pre>\n\n\n\n<p>Tunggu proses rekognisinya sampai selesai. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"96\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-7-700x96.png\" alt=\"\" class=\"wp-image-1350\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-7-700x96.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-7-300x41.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-7-768x105.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-7-850x116.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-7.png 942w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Tampak pada tangkapan layar di atas, kita berhasil merekognisi file 125.mid menjadi 125.xml. Langkah terakhir yakni membaca music xml yang sudah kita generate ke numerical music notation (jianpu). <\/p>\n\n\n\n<p><em><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">MEMBACA MUSIC XML KE NUMERICAL MUSIC NOTATION (JIANPU)<\/mark><\/em><\/p>\n\n\n\n<p>Untuk dapat membaca music xml ke format numerical musix notation (jianpu) kita memerlukan sebuah program yakni <a href=\"https:\/\/github.com\/lzh9102\/musicxml_to_jianpu\">musicxml_to_jianpu<\/a>. Program ini ditulis dalam bahasa Python dan ada di public repositori Github. Oleh karena itu, kita perlu melakukan clone repo terlebih dahulu sebelum dapat menggunakannya. Untuk melakukan clone repo, kita ketikkan perintah berikut ini.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/lzh9102\/musicxml_to_jianpu<\/code><\/pre>\n\n\n\n<p>Tunggu proses clone selesai<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"132\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-8-700x132.png\" alt=\"\" class=\"wp-image-1351\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-8-700x132.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-8-300x57.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-8-768x145.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-8-850x160.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-8.png 1208w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Setelah proses clone selesai, kita dapat segera masuk ke dalam direktori musicxml_to_jianpu untuk menjalankan programnya. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"87\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-9-700x87.png\" alt=\"\" class=\"wp-image-1352\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-9-700x87.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-9-300x37.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-9-768x96.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-9-850x106.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-9.png 1035w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Kemudian, kita ketikkan perintah berikut untuk membaca file xml ke bentuk numerical music notation<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python converter &#91;input_file_xml]<\/code><\/pre>\n\n\n\n<p>Karena saya sudah memiliki file 125.xml maka saya ketikkan perintah berikut ini<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python converter.py ..\/125.xml<\/code><\/pre>\n\n\n\n<p>dan berikut adalah hasilnya.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"283\" src=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-10-700x283.png\" alt=\"\" class=\"wp-image-1353\" srcset=\"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-10-700x283.png 700w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-10-300x121.png 300w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-10-768x311.png 768w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-10-850x344.png 850w, https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-10.png 1455w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>Menarik bukan? kini kita sudah mampu merekognisi file music yang semula berformat .wav ke dalam numerical music notation (Jianpu). Untuk selanjutnya, Anda dapat berkreasi sesuai dengan kreatifitas Anda.<\/p>\n\n\n\n<p>Bagaimana? apakah sudah paham dengan tutorial ini? Jika Anda masih belum paham, Anda dapat meninggalkan komentar di kolom komentar postingan ini. Bahkan, jika Anda memiliki masalah pemrograman yang lain dan menarik untuk di bahas, Anda juga dapat mengirimkannya melalui kolom komentar postingan ini.<\/p>\n\n\n\n<p>Semoga postingan bermanfaat bagi Anda para pembaca. Apabila ada pertanyaan mengenai postingan ini, Anda dapat meninggalkannya di kolom komentar. Dan, Apabila Anda menemukan artikel ini berguna, Anda dapat membagikannya. Anda juga dapat mencuplik beberapa bagian dari artikel ini, namun jangan lupa untuk sertakan URL nya. Terima kasih.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">^_^<\/h2>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Selamat datang di UNYDeveloperNetwork. Sebagai seorang musisi, terkadang ketika mendengar sebuah lagu, kita sangat ingin mengetahui partitur dari musik yang sedang didengar tersebut. Namun, ada kalanya, partitur sebuah musik itu harganya mahal,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1353,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[16,24,2,1],"tags":[299,347,72,25,348,4],"class_list":["post-1337","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fun","category-python","category-tutorial","category-uncategorized","tag-artificial-intelligence","tag-jianpu","tag-pemrograman","tag-python","tag-recognition-technology","tag-tutorial"],"featured_image_src":"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-10.png","author_info":{"display_name":"Muhammad Irfan Luthfi","author_link":"https:\/\/unydevelopernetwork.com\/index.php\/author\/admin\/"},"jetpack_featured_media_url":"https:\/\/unydevelopernetwork.com\/wp-content\/uploads\/2024\/02\/image-10.png","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/1337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/comments?post=1337"}],"version-history":[{"count":2,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/1337\/revisions"}],"predecessor-version":[{"id":1354,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/posts\/1337\/revisions\/1354"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/media\/1353"}],"wp:attachment":[{"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/media?parent=1337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/categories?post=1337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unydevelopernetwork.com\/index.php\/wp-json\/wp\/v2\/tags?post=1337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}