{"id":4310,"date":"2026-07-17T22:46:24","date_gmt":"2026-07-17T20:46:24","guid":{"rendered":"https:\/\/stereodaily.com\/?page_id=4310"},"modified":"2026-07-18T08:22:04","modified_gmt":"2026-07-18T06:22:04","slug":"midi-generator","status":"publish","type":"page","link":"https:\/\/stereodaily.com\/ja\/midi-generator\/","title":{"rendered":"JSON to MIDI Generator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4310\" class=\"elementor elementor-4310\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8551e8d e-flex e-con-boxed e-con e-parent\" data-id=\"8551e8d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c6977da elementor-widget elementor-widget-html\" data-id=\"c6977da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Tailwind CDN & Custom Typography -->\r\n<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\r\n<!-- Load the ToneJS MIDI library safely from a reliable CDN -->\r\n<script src=\"https:\/\/unpkg.com\/@tonejs\/midi@2.0.28\/build\/Midi.js\"><\/script>\r\n\r\n<style>\r\n    @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;700;900&family=Playfair+Display:ital,wght@0,700;0,900;1,700&display=swap');\r\n    \r\n    .font-masthead { font-family: 'Playfair Display', serif; }\r\n    .font-body { font-family: 'Inter', sans-serif; }\r\n    .font-headline { font-family: 'Inter', sans-serif; }\r\n\r\n    \/* Custom Animation for Logo Marquee *\/\r\n    @keyframes scroll {\r\n        0% { transform: translateX(0); }\r\n        100% { transform: translateX(-50%); }\r\n    }\r\n    .animate-marquee {\r\n        display: flex;\r\n        width: 200%;\r\n        animation: scroll 30s linear infinite;\r\n    }\r\n    .animate-marquee:hover {\r\n        animation-play-state: paused;\r\n    }\r\n\r\n    .glass-card {\r\n        background: rgba(255, 255, 255, 0.8);\r\n        backdrop-filter: blur(10px);\r\n        transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);\r\n    }\r\n    .glass-card:hover {\r\n        transform: translateY(-8px);\r\n        box-shadow: 0 20px 40px rgba(0,0,0,0.08);\r\n    }\r\n<\/style>\r\n\r\n<div class=\"max-w-[1200px] mx-auto bg-white border-x border-gray-100 font-sans pb-12 shadow-sm overflow-hidden\">\r\n    \r\n    <!-- Hero \/ Headline Section -->\r\n    <div class=\"relative px-6 py-24 md:py-32 border-b border-gray-100 text-center bg-[radial-gradient(#e5e7eb_1px,transparent_1px)] [background-size:20px_20px]\">\r\n        <h6 class=\"font-body text-xs font-bold uppercase tracking-[0.4em] text-gray-400 mb-8\">Hooktheory Toolset<\/h6>\r\n        <h1 class=\"font-masthead text-6xl md:text-8xl font-black tracking-tighter text-black mb-10 leading-[0.9]\">\r\n            Hooktheory <br> to MIDI.\r\n        <\/h1>\r\n        <div class=\"max-w-3xl mx-auto\">\r\n            <p class=\"font-body text-xl md:text-2xl text-gray-800 leading-relaxed font-light\">\r\n                Instant clipboard compilation. Convert structural JSON formatting into production-ready MIDI sequences completely inside your local browser.\r\n            <\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Partner \/ Engine Marquee -->\r\n    <div class=\"py-12 border-b border-gray-100 bg-gray-50 overflow-hidden relative\">\r\n        <div class=\"absolute inset-y-0 left-0 w-20 bg-gradient-to-r from-gray-50 to-transparent z-10\"><\/div>\r\n        <div class=\"absolute inset-y-0 right-0 w-20 bg-gradient-to-l from-gray-50 to-transparent z-10\"><\/div>\r\n        <div class=\"animate-marquee whitespace-nowrap items-center space-x-12 md:space-x-24\">\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Ableton Live<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Logic Pro<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">FL Studio<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Cubase<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Pro Tools<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Studio One<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Ableton Live<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Logic Pro<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">FL Studio<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Cubase<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Pro Tools<\/span>\r\n            <span class=\"font-headline text-2xl font-black text-gray-300 uppercase tracking-tighter\">Studio One<\/span>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Main Workspace Setup -->\r\n    <div class=\"grid grid-cols-1 md:grid-cols-2 border-b border-gray-100\">\r\n        <!-- Input Panel -->\r\n        <div class=\"p-8 md:p-16 flex flex-col justify-center border-b md:border-b-0 md:border-r border-gray-100\">\r\n            <h2 class=\"font-masthead text-4xl md:text-5xl font-bold mb-6 italic\">Data Input<\/h2>\r\n            <p class=\"font-body text-base text-gray-600 leading-relaxed mb-6\">\r\n                Paste the copied Hooktheory raw clipboard data directly into the fields window below. The processor automatically reads structural node layouts.\r\n            <\/p>\r\n            \r\n            <textarea id=\"jsonInput\" placeholder=\"Paste Hooktheory JSON array payload here...\" class=\"w-full h-48 p-4 border border-gray-200 rounded-none bg-gray-50 font-mono text-xs text-gray-700 focus:outline-none focus:border-black transition-all resize-none\"><\/textarea>\r\n            \r\n            <button onclick=\"convertToMidi()\" class=\"mt-6 bg-black text-white px-8 py-4 font-body text-xs font-bold uppercase tracking-widest hover:bg-gray-800 transition-all text-center\">\r\n                Compile & Download MIDI\r\n            <\/button>\r\n\r\n            <!-- Status Window Element -->\r\n            <div id=\"status\" class=\"mt-4 p-4 font-body text-sm font-medium hidden\"><\/div>\r\n        <\/div>\r\n        \r\n        <!-- Instructional Panel -->\r\n        <div class=\"bg-gray-50 p-8 md:p-16 flex flex-col justify-center\">\r\n            <h3 class=\"font-masthead text-3xl font-bold mb-8 italic\">Processing Rules<\/h3>\r\n            <ul class=\"space-y-6\">\r\n                <li class=\"flex items-start\">\r\n                    <span class=\"font-masthead text-2xl font-bold mr-6 text-black\">01<\/span>\r\n                    <div>\r\n                        <h4 class=\"font-headline text-base font-bold mb-1\">Modern Tick Parsing<\/h4>\r\n                        <p class=\"font-body text-gray-500 text-xs leading-relaxed\">Reads relative startTick and durationTicks mappings natively from Hooktheory clipboard structures.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"flex items-start\">\r\n                    <span class=\"font-masthead text-2xl font-bold mr-6 text-black\">02<\/span>\r\n                    <div>\r\n                        <h4 class=\"font-headline text-base font-bold mb-1\">Scale Pitch Mappings<\/h4>\r\n                        <p class=\"font-body text-gray-500 text-xs leading-relaxed\">Converts relative degrees into exact scale interval offsets mapped around root Tonic C3.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"flex items-start\">\r\n                    <span class=\"font-masthead text-2xl font-bold mr-6 text-black\">03<\/span>\r\n                    <div>\r\n                        <h4 class=\"font-headline text-base font-bold mb-1\">Triad Compiling<\/h4>\r\n                        <p class=\"font-body text-gray-500 text-xs leading-relaxed\">Constructs standard minor triad frameworks dynamically based on numerical root parameter indices.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"flex items-start\">\r\n                    <span class=\"font-masthead text-2xl font-bold mr-6 text-black\">04<\/span>\r\n                    <div>\r\n                        <h4 class=\"font-headline text-base font-bold mb-1\">Local Browser Sandboxing<\/h4>\r\n                        <p class=\"font-body text-gray-500 text-xs leading-relaxed\">Zero external network transmission. All generation processes execute safely in RAM memory layers.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n            <\/ul>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Dynamic Architectural Features Matrix -->\r\n    <div class=\"px-6 py-20 bg-black text-white\">\r\n        <div class=\"text-center mb-16\">\r\n            <h6 class=\"font-body text-xs font-bold uppercase tracking-[0.4em] text-gray-500 mb-4\">Precision Grid Matrix<\/h6>\r\n            <h2 class=\"font-masthead text-4xl md:text-6xl font-bold italic text-white\">Engine Specifications.<\/h2>\r\n        <\/div>\r\n\r\n        <div class=\"grid grid-cols-1 md:grid-cols-2 gap-8 max-w-5xl mx-auto\">\r\n            <!-- Parameter Block A -->\r\n            <div class=\"border border-white\/20 p-10 flex flex-col items-center text-center\">\r\n                <div class=\"font-masthead text-6xl font-bold mb-4 text-white\">480<\/div>\r\n                <h4 class=\"font-headline text-sm font-bold uppercase tracking-widest mb-4 text-white\">PPQ Resolution Mapping<\/h4>\r\n                <p class=\"font-body text-gray-400 text-xs leading-relaxed max-w-sm\">\r\n                    Translates modern tick resolutions directly into standardized structural Pulses Per Quarter note parameters.\r\n                <\/p>\r\n            <\/div>\r\n            <!-- Parameter Block B -->\r\n            <div class=\"border border-white\/20 p-10 flex flex-col items-center text-center\">\r\n                <div class=\"font-masthead text-6xl font-bold mb-4 text-white\">C3<\/div>\r\n                <h4 class=\"font-headline text-sm font-bold uppercase tracking-widest mb-4 text-white\">Root Tuning Centering<\/h4>\r\n                <p class=\"font-body text-gray-400 text-xs leading-relaxed max-w-sm\">\r\n                    Establishes baseline pitch mapping operations around MIDI index 48 to ensure strict composition compatibility.\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Signature Brand Footer Alignment -->\r\n    <div class=\"px-6 pt-20 pb-16 text-center border-t border-gray-50 bg-white\">\r\n        <div class=\"inline-block relative\">\r\n            <p class=\"font-masthead text-5xl md:text-7xl italic font-black text-black leading-none\"><a href=\"https:\/\/stereodaily.com\/ja\/what-is-stereo-daily-inside-the-modern-music-journalism-platform\/\">Stereo Daily<\/a> <\/p>\r\n            <div class=\"h-px w-full bg-black mt-4 scale-x-50 origin-center opacity-20\"><\/div>\r\n            <p class=\"font-body text-[10px] uppercase tracking-[0.6em] text-gray-400 mt-8\">A Global Architecture for the Independent Artist<\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<!-- Core Script Logic Layer -->\r\n<script>\r\n    function convertToMidi() {\r\n        const input = document.getElementById('jsonInput').value.trim();\r\n        const statusDiv = document.getElementById('status');\r\n        \r\n        statusDiv.style.display = 'none';\r\n        statusDiv.className = 'mt-4 p-4 font-body text-sm font-medium ';\r\n\r\n        if (!input) {\r\n            showStatus('Please paste JSON data first.', 'bg-red-50 text-red-800 border border-red-100');\r\n            return;\r\n        }\r\n\r\n        try {\r\n            const data = JSON.parse(input);\r\n            \r\n            let notesList = [];\r\n            let chordsList = [];\r\n            const isModern = \"modern\" in data;\r\n\r\n            if (isModern) {\r\n                notesList = data.modern.payload.notes || [];\r\n                chordsList = data.modern.payload.chords || [];\r\n            } else {\r\n                notesList = data.notes || [];\r\n                chordsList = data.chords || [];\r\n            }\r\n\r\n            if (notesList.length === 0 && chordsList.length === 0) {\r\n                showStatus('Error: No valid notes or chords found in the JSON structural format.', 'bg-red-50 text-red-800 border border-red-100');\r\n                return;\r\n            }\r\n\r\n            const tonicMidi = 48;\r\n            const scaleIntervals = [0, 2, 3, 5, 7, 8, 10]; \r\n            const scaleMap = {\"1\": 0, \"2\": 2, \"3\": 3, \"4\": 5, \"5\": 7, \"6\": 8, \"b6\": 8, \"7\": 10, \"b7\": 10};\r\n\r\n            const midi = new Midi();\r\n            const track = midi.addTrack();\r\n\r\n            \/\/ Notes parsing logic sequence\r\n            notesList.forEach(note => {\r\n                if (note.isRest) return;\r\n                \r\n                const interval = scaleMap[note.sd] !== undefined ? scaleMap[note.sd] : 0;\r\n                const midiNote = tonicMidi + 12 + interval + (note.octave * 12);\r\n                \r\n                let startTime, durationTime;\r\n                if (isModern && note.startTick !== undefined) {\r\n                    startTime = note.startTick \/ 480;\r\n                    durationTime = note.durationTicks \/ 480;\r\n                } else {\r\n                    startTime = note.beat - 1;\r\n                    durationTime = note.duration;\r\n                }\r\n\r\n                track.addNote({\r\n                    midi: midiNote,\r\n                    time: startTime,\r\n                    duration: durationTime,\r\n                    velocity: 0.5\r\n                });\r\n            });\r\n\r\n            \/\/ Chords parsing logic sequence\r\n            chordsList.forEach(chord => {\r\n                if (chord.isRest) return;\r\n                \r\n                const rootStep = chord.root - 1;\r\n                const rootMidi = tonicMidi + scaleIntervals[rootStep % 7] + (Math.floor(rootStep \/ 7) * 12);\r\n                const chordNotes = [rootMidi, rootMidi + 3, rootMidi + 7];\r\n                \r\n                let startTime, durationTime;\r\n                if (isModern && chord.startTick !== undefined) {\r\n                    startTime = chord.startTick \/ 480;\r\n                    durationTime = chord.durationTicks \/ 480;\r\n                } else {\r\n                    startTime = chord.beat - 1;\r\n                    durationTime = chord.duration;\r\n                }\r\n\r\n                chordNotes.forEach(midiNote => {\r\n                    track.addNote({\r\n                        midi: midiNote,\r\n                        time: startTime,\r\n                        duration: durationTime,\r\n                        velocity: 0.5\r\n                    });\r\n                });\r\n            });\r\n\r\n            const midiArray = midi.toArray();\r\n            const blob = new Blob([midiArray], { type: \"audio\/midi\" });\r\n            const url = URL.createObjectURL(blob);\r\n            \r\n            const a = document.createElement(\"a\");\r\n            a.href = url;\r\n            a.download = \"hooktheory_output.mid\";\r\n            document.body.appendChild(a);\r\n            a.click();\r\n            \r\n            document.body.removeChild(a);\r\n            URL.revokeObjectURL(url);\r\n            \r\n            showStatus('MIDI file compiled and downloaded successfully!', 'bg-green-50 text-green-800 border border-green-100');\r\n\r\n        } catch (err) {\r\n            showStatus('Invalid JSON data format. Check structural content.', 'bg-red-50 text-red-800 border border-red-100');\r\n            console.error(err);\r\n        }\r\n    }\r\n\r\n    function showStatus(text, classes) {\r\n        const statusDiv = document.getElementById('status');\r\n        statusDiv.innerText = text;\r\n        statusDiv.className = 'mt-4 p-4 font-body text-sm font-medium ' + classes;\r\n        statusDiv.style.display = 'block';\r\n    }\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Hooktheory Toolset Hooktheory to MIDI. Instant clipboard compilation. Convert structural JSON formatting into  [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-4310","page","type-page","status-publish","hentry"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JSON \u304b\u3089 MIDI \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc - Stereo Daily<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/stereodaily.com\/ja\/wp-json\/wp\/v2\/pages\/4310\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JSON \u304b\u3089 MIDI \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc - Stereo Daily\" \/>\n<meta property=\"og:description\" content=\"\u30d5\u30c3\u30af\u7406\u8ad6\u30c4\u30fc\u30eb \u30d5\u30c3\u30af\u7406\u8ad6\u3092 MIDI \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306e\u5373\u6642\u30b3\u30f3\u30d1\u30a4\u30eb\u3002\u69cb\u9020\u7684\u306a JSON \u5f62\u5f0f\u3092 [ \u306b\u5909\u63db\u3057\u307e\u3059\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stereodaily.com\/ja\/midi-generator\/\" \/>\n<meta property=\"og:site_name\" content=\"Stereo Daily\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/stereodaily\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-18T06:22:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/stereodaily.com\/wp-content\/uploads\/2025\/12\/Stereo-Daily-Logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data1\" content=\"1\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/midi-generator\\\/\",\"url\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/midi-generator\\\/\",\"name\":\"JSON to MIDI Generator - Stereo Daily\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/#website\"},\"datePublished\":\"2026-07-17T20:46:24+00:00\",\"dateModified\":\"2026-07-18T06:22:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/midi-generator\\\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/stereodaily.com\\\/ja\\\/midi-generator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/midi-generator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JSON to MIDI Generator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/#website\",\"url\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/\",\"name\":\"Stereo Daily\",\"description\":\"Your Global Music News Since 2012\",\"publisher\":{\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/#organization\"},\"alternateName\":\"StereoDaily\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/#organization\",\"name\":\"Stereo Daily\",\"alternateName\":\"StereoDaily\",\"url\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/stereodaily.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Stereo-Daily-Site-Map.png\",\"contentUrl\":\"https:\\\/\\\/stereodaily.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Stereo-Daily-Site-Map.png\",\"width\":512,\"height\":512,\"caption\":\"Stereo Daily\"},\"image\":{\"@id\":\"https:\\\/\\\/stereodaily.com\\\/ja\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/stereodaily\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JSON \u304b\u3089 MIDI \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc - Stereo Daily","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/stereodaily.com\/ja\/wp-json\/wp\/v2\/pages\/4310\/","og_locale":"ja_JP","og_type":"article","og_title":"JSON \u304b\u3089 MIDI \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc - Stereo Daily","og_description":"\u30d5\u30c3\u30af\u7406\u8ad6\u30c4\u30fc\u30eb \u30d5\u30c3\u30af\u7406\u8ad6\u3092 MIDI \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306e\u5373\u6642\u30b3\u30f3\u30d1\u30a4\u30eb\u3002\u69cb\u9020\u7684\u306a JSON \u5f62\u5f0f\u3092 [ \u306b\u5909\u63db\u3057\u307e\u3059","og_url":"https:\/\/stereodaily.com\/ja\/midi-generator\/","og_site_name":"Stereo Daily","article_publisher":"https:\/\/www.facebook.com\/stereodaily\/","article_modified_time":"2026-07-18T06:22:04+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/stereodaily.com\/wp-content\/uploads\/2025\/12\/Stereo-Daily-Logo.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"1\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/stereodaily.com\/ja\/midi-generator\/","url":"https:\/\/stereodaily.com\/ja\/midi-generator\/","name":"JSON to MIDI Generator - Stereo Daily","isPartOf":{"@id":"https:\/\/stereodaily.com\/ja\/#website"},"datePublished":"2026-07-17T20:46:24+00:00","dateModified":"2026-07-18T06:22:04+00:00","breadcrumb":{"@id":"https:\/\/stereodaily.com\/ja\/midi-generator\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stereodaily.com\/ja\/midi-generator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/stereodaily.com\/ja\/midi-generator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/stereodaily.com\/ja\/"},{"@type":"ListItem","position":2,"name":"JSON to MIDI Generator"}]},{"@type":"WebSite","@id":"https:\/\/stereodaily.com\/ja\/#website","url":"https:\/\/stereodaily.com\/ja\/","name":"Stereo Daily","description":"Your Global Music News Since 2012","publisher":{"@id":"https:\/\/stereodaily.com\/ja\/#organization"},"alternateName":"StereoDaily","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stereodaily.com\/ja\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/stereodaily.com\/ja\/#organization","name":"Stereo Daily","alternateName":"StereoDaily","url":"https:\/\/stereodaily.com\/ja\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/stereodaily.com\/ja\/#\/schema\/logo\/image\/","url":"https:\/\/stereodaily.com\/wp-content\/uploads\/2025\/12\/Stereo-Daily-Site-Map.png","contentUrl":"https:\/\/stereodaily.com\/wp-content\/uploads\/2025\/12\/Stereo-Daily-Site-Map.png","width":512,"height":512,"caption":"Stereo Daily"},"image":{"@id":"https:\/\/stereodaily.com\/ja\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/stereodaily\/"]}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/stereodaily.com\/wp-json\/wp\/v2\/pages\/4310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stereodaily.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stereodaily.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stereodaily.com\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/stereodaily.com\/wp-json\/wp\/v2\/comments?post=4310"}],"version-history":[{"count":5,"href":"https:\/\/stereodaily.com\/wp-json\/wp\/v2\/pages\/4310\/revisions"}],"predecessor-version":[{"id":4325,"href":"https:\/\/stereodaily.com\/wp-json\/wp\/v2\/pages\/4310\/revisions\/4325"}],"wp:attachment":[{"href":"https:\/\/stereodaily.com\/wp-json\/wp\/v2\/media?parent=4310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}