Score internally normalizes array input and handles empty-string/null lyric cases, so it stays safe with Laravel’s ConvertEmptyStringsToNull middleware in form-driven flows.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Knowledge of Laravel","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/invokable/AuZ0xql2mAbUyZ99/logo/light.svg?fit=max\u0026auto=format\u0026n=AuZ0xql2mAbUyZ99\u0026q=85\u0026s=df0b7397202a6aa1c1f321620c5aa146","dark":"https://mintcdn.com/invokable/AuZ0xql2mAbUyZ99/logo/dark.svg?fit=max\u0026auto=format\u0026n=AuZ0xql2mAbUyZ99\u0026q=85\u0026s=a8a0340d86ff8aa90e9adfc98a0362d7","href":"/"},"favicon":"https://mintcdn.com/invokable/AuZ0xql2mAbUyZ99/favicon.svg?fit=max\u0026auto=format\u0026n=AuZ0xql2mAbUyZ99\u0026q=85\u0026s=8f5a03a681c95d31803fc237b5811065","api":{"playground":{"display":"simple"}},"navbar":{},"footer":{"socials":{"github":"https://github.com/invokable"}},"seo":{"metatags":{"canonical":"https://kawax.biz"},"indexing":"all"},"styling":{"eyebrows":"breadcrumbs","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"navigation":{"languages":[{"language":"jp","default":true,"href":"jp/packages/laravel-boost-copilot-cli"},{"language":"en","href":"en/packages/laravel-boost-copilot-cli"},{"language":"de","href":"de/packages/laravel-boost-copilot-cli"},{"language":"es","href":"es/packages/laravel-boost-copilot-cli"},{"language":"fr","href":"fr/packages/laravel-boost-copilot-cli"},{"language":"it","href":"it/packages/laravel-boost-copilot-cli"},{"language":"ko","href":"ko/packages/laravel-boost-copilot-cli"},{"language":"nl","href":"nl/packages/laravel-boost-copilot-cli"},{"language":"zh-Hans","href":"zh-CN/packages/laravel-boost-copilot-cli"},{"language":"zh-Hant","href":"zh-TW/packages/laravel-boost-copilot-cli"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"invokable","hasAudioNarration":true,"actualSubdomain":"invokable","customDomains":["kawax.biz"],"gitSource":{"type":"github","owner":"kawax","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae8f342fc9ddee2eaca8d1a","collectionId":"b2514921-ee00-4a13-90fc-c22dfe3c058d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae8f342fc9ddee2eaca8d1a"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae8f342fc9ddee2eaca8d1a","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"en","tag":"My Packages","count":145},{"language":"jp","tag":"マイパッケージ","count":145},{"language":"de","tag":"Meine Pakete","count":100},{"language":"es","tag":"Mis paquetes","count":100},{"language":"fr","tag":"Mes packages","count":100},{"language":"it","tag":"I miei pacchetti","count":100},{"language":"ko","tag":"My 패키지","count":100},{"language":"nl","tag":"Mijn packages","count":100},{"language":"zh-Hans","tag":"我的包","count":100},{"language":"zh-Hant","tag":"我的套件","count":100},{"language":"de","tag":"Fortgeschrittene Themen","count":74},{"language":"en","tag":"Advanced Topics","count":74},{"language":"es","tag":"Temas avanzados","count":74},{"language":"fr","tag":"Sujets avancés","count":74},{"language":"it","tag":"Argomenti avanzati","count":74},{"language":"jp","tag":"応用トピック","count":74},{"language":"ko","tag":"심화 주제","count":74},{"language":"nl","tag":"Geavanceerde onderwerpen","count":74},{"language":"zh-Hans","tag":"进阶主题","count":74},{"language":"zh-Hant","tag":"進階主題","count":74},{"language":"en","tag":"VOICEVOX","count":67},{"language":"jp","tag":"VOICEVOX","count":67},{"language":"de","tag":"Leitfaden","count":61},{"language":"en","tag":"Guide","count":61},{"language":"es","tag":"Guía","count":61},{"language":"fr","tag":"Guide","count":61},{"language":"it","tag":"Guida","count":61},{"language":"jp","tag":"ガイド","count":61},{"language":"ko","tag":"가이드","count":61},{"language":"nl","tag":"Gids","count":61},{"language":"zh-Hans","tag":"指南","count":61},{"language":"zh-Hant","tag":"指南","count":61},{"language":"de","tag":"Blog","count":46},{"language":"en","tag":"Blog","count":46},{"language":"es","tag":"Blog","count":46},{"language":"fr","tag":"Blog","count":46},{"language":"it","tag":"Blog","count":46},{"language":"jp","tag":"ブログ","count":46},{"language":"ko","tag":"블로그","count":46},{"language":"nl","tag":"Blog","count":46},{"language":"zh-Hans","tag":"博客","count":46},{"language":"zh-Hant","tag":"部落格","count":46},{"language":"en","tag":"VOICEVOX Engine API Reference","count":45},{"language":"jp","tag":"VOICEVOXエンジンAPIリファレンス","count":45},{"language":"de","tag":"GitHub Copilot","count":43},{"language":"en","tag":"GitHub Copilot","count":43},{"language":"es","tag":"GitHub Copilot","count":43},{"language":"fr","tag":"GitHub Copilot","count":43},{"language":"it","tag":"GitHub Copilot","count":43},{"language":"jp","tag":"GitHub Copilot","count":43},{"language":"ko","tag":"GitHub Copilot","count":43},{"language":"nl","tag":"GitHub Copilot","count":43},{"language":"zh-Hans","tag":"GitHub Copilot","count":43},{"language":"zh-Hant","tag":"GitHub Copilot","count":43},{"language":"de","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"en","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"es","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"fr","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"it","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"jp","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"ko","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"nl","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"zh-Hans","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"zh-Hant","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"de","tag":"Paketentwicklung","count":36},{"language":"en","tag":"Package Development","count":36},{"language":"es","tag":"Desarrollo de paquetes","count":36},{"language":"fr","tag":"Développement de packages","count":36},{"language":"it","tag":"Sviluppo di pacchetti","count":36},{"language":"jp","tag":"パッケージ開発","count":36},{"language":"ko","tag":"패키지 개발","count":36},{"language":"nl","tag":"Package-ontwikkeling","count":36},{"language":"zh-Hans","tag":"包开发","count":36},{"language":"zh-Hant","tag":"套件開發","count":36},{"language":"de","tag":"Tutorial","count":35},{"language":"en","tag":"Tutorial","count":35},{"language":"es","tag":"Tutorial","count":35},{"language":"fr","tag":"Tutoriel","count":35},{"language":"it","tag":"Tutorial","count":35},{"language":"jp","tag":"チュートリアル","count":35},{"language":"ko","tag":"튜토리얼","count":35},{"language":"nl","tag":"Tutorial","count":35},{"language":"zh-Hans","tag":"教程","count":35},{"language":"zh-Hant","tag":"教學","count":35},{"language":"de","tag":"SDK","count":27},{"language":"es","tag":"SDK","count":27},{"language":"fr","tag":"SDK","count":27},{"language":"it","tag":"SDK","count":27},{"language":"ko","tag":"SDK","count":27},{"language":"nl","tag":"SDK","count":27},{"language":"zh-Hans","tag":"SDK","count":27},{"language":"zh-Hant","tag":"SDK","count":27},{"language":"de","tag":"VOICEVOX","count":22},{"language":"es","tag":"VOICEVOX","count":22},{"language":"fr","tag":"VOICEVOX","count":22},{"language":"it","tag":"VOICEVOX","count":22},{"language":"ko","tag":"VOICEVOX","count":22},{"language":"nl","tag":"VOICEVOX","count":22},{"language":"zh-Hans","tag":"VOICEVOX","count":22},{"language":"zh-Hant","tag":"VOICEVOX","count":22}],"searchSettings":{"isFiltersEnabled":false,"showContentSnippets":true,"fullPageSearch":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/packages/laravel-voicevox/song-score-note","slug":"/en/packages/laravel-voicevox/song-score-note","pageMetadata":{"title":"Score and Note Deep Dive - VOICEVOX for Laravel","description":"Learn the Score and Note model used for singing synthesis in VOICEVOX for Laravel, including frame-length math and practical JSON workflows.","sidebarTitle":"Score and Note","href":"/en/packages/laravel-voicevox/song-score-note"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn the Score and Note model used for singing synthesis in VOICEVOX for Laravel, including frame-length math and practical JSON workflows.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`goal`,children:`Goal`}),`\n`,_jsxs(_components.p,{children:[`This page explains `,_jsx(_components.code,{children:`Score`}),` and `,_jsx(_components.code,{children:`Note`}),` details for song synthesis.`]}),`\n`,_jsxs(_components.p,{children:[`The behavior is based on `,_jsx(_components.code,{children:`Revolution\\\\Voicevox\\\\Song\\\\Note`}),`, `,_jsx(_components.code,{children:`Score`}),`, and `,_jsx(_components.code,{children:`SongAudioQuery`}),`.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`note-class`,children:[_jsx(_components.code,{children:`Note`}),` class`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Note`}),` represents one musical note (or one rest).`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Revolution\\\\Voicevox\\\\Song\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`94`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ド'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`60`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'intro-1'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`constructor-arguments`,children:`Constructor arguments`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Argument`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`length`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`int`})}),_jsxs(_components.td,{children:[`Frame length. Integer value based on `,_jsx(_components.code,{children:`seconds × 93.75`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`lyric`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsxs(_components.td,{children:[`Lyrics text. Use `,_jsx(_components.code,{children:`''`}),` for rests`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`key`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`int|null`})}),_jsxs(_components.td,{children:[`MIDI note number. Use `,_jsx(_components.code,{children:`null`}),` for rests`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string|null`})}),_jsxs(_components.td,{children:[`Optional ID copied to `,_jsx(_components.code,{children:`note_id`}),` in `,_jsx(_components.code,{children:`FrameAudioQuery`}),` generation`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`frame-length-calculation`,children:`Frame-length calculation`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`length`}),` is in frames. From seconds:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`length = seconds × 93.75`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`This is not very intuitive, so `,_jsx(_components.code,{children:`Note::len()`}),` is the practical helper for MIDI-oriented workflows.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`int`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $ticks`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`int`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $bpm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 125`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`): `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`int`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Uses the common MIDI assumption: quarter note = `,_jsx(_components.code,{children:`480 ticks`})]}),`\n`,_jsxs(_components.li,{children:[`Default tempo is `,_jsx(_components.code,{children:`125 BPM`})]}),`\n`,_jsxs(_components.li,{children:[`Internally rounds to integer with `,_jsx(_components.code,{children:`round()`}),`, so long songs can accumulate small rounding errors`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`480`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`120`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ド'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`60`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// quarter note`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`960`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`120`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ミ'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`64`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// half note`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Note::len()`}),` is convenient, but keep cumulative rounding error in mind for long compositions.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`rest-representation`,children:`Rest representation`}),`\n`,_jsx(_components.p,{children:`A rest is expressed as:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`15`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`midi-note-quick-table`,children:`MIDI note quick table`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Note`}),_jsx(_components.th,{children:`MIDI`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`C4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`60`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`D4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`62`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`E4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`64`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`F4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`65`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`G4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`67`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`69`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`B4`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`71`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`C5`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`72`})]})]})]}),`\n`,_jsxs(Heading,{level:`2`,id:`score-class`,children:[_jsx(_components.code,{children:`Score`}),` class`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Score`}),` is a container for an array of `,_jsx(_components.code,{children:`Note`}),` objects.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Revolution\\\\Voicevox\\\\Song\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Score`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$score`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Score`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`([`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`15`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`480`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`120`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ド'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`60`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]);`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`critical-rule`,children:`Critical rule`}),`\n`,_jsx(_components.p,{children:`The first note must always be a rest.`}),`\n`,_jsx(Heading,{level:`3`,id:`main-api`,children:`Main API`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`Score::make(array $notes)`}),` to create a score`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`add(Note $note)`}),` to append one note`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`toJson()`}),` to serialize`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$score`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Score`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`([`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`15`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$score`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`add`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`480`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`120`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ド'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`60`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`));`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$json`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $score`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`toJson`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`JSON_PRETTY_PRINT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` JSON_UNESCAPED_UNICODE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Score`}),` internally normalizes array input and handles empty-string/null lyric cases, so it stays safe with Laravel’s `,_jsx(_components.code,{children:`ConvertEmptyStringsToNull`}),` middleware in form-driven flows.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`practical-pattern-manage-chart-data-in-json-recommended`,children:`Practical pattern: Manage chart data in JSON (recommended)`}),`\n`,_jsx(_components.p,{children:`In production, storing chart data in JSON is usually more maintainable than hardcoding long note arrays in PHP.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Save your own chart format as JSON`}),`\n`,_jsxs(_components.li,{children:[`Load JSON and convert into `,_jsx(_components.code,{children:`Note`}),` / `,_jsx(_components.code,{children:`Score`})]}),`\n`,_jsxs(_components.li,{children:[`Pass it to `,_jsx(_components.code,{children:`Voicevox::song()`}),` for synthesis`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`json-example`,children:`JSON example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"teacher\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`6000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"speaker\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3001`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"bpm\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`120`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"notes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"ticks\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`120`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"lyric\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"r0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"ticks\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`480`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"lyric\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ド\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`60`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"n1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"ticks\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`480`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"lyric\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"レ\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`62`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"n2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"ticks\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`960`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"lyric\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ミ\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`64`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"n3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"ticks\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`120`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"lyric\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"r1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`load-and-synthesize`,children:`Load and synthesize`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`26`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`26`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Illuminate\\\\Support\\\\Facades\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Storage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Revolution\\\\Voicevox\\\\Song\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Revolution\\\\Voicevox\\\\Song\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Score`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Revolution\\\\Voicevox\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Voicevox`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$chart`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` json_decode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Storage`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`disk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'local'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`get`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'songs/sample.json'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` flags`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`JSON_THROW_ON_ERROR`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$score`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Score`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` collect`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$chart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'notes'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`map`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`fn`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`array`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $note`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) => `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` length`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Note`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`ticks`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$note`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ticks'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`], `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`bpm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$chart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'bpm'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` lyric`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$note`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'lyric'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`??`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$note`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'key'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$note`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'id'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`??`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ))`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`all`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Voicevox`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`song`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$score`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`teacher`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$chart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'teacher'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`generate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$chart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'speaker'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`storeAs`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'songs'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'sample.wav'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`related-pages`,children:`Related pages`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/en/packages/laravel-voicevox/client-song`,children:`Client: Song`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/en/packages/laravel-voicevox/native-song`,children:`Native: Song`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/en/packages/laravel-voicevox/engine-song`,children:`Engine API: Song`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Score and Note Deep Dive - VOICEVOX for Laravel","description":"Learn the Score and Note model used for singing synthesis in VOICEVOX for Laravel, including frame-length math and practical JSON workflows.","sidebarTitle":"Score and Note","href":"/en/packages/laravel-voicevox/song-score-note"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Goal","slug":"goal","depth":2,"children":[]},{"title":"Note class","slug":"note-class","depth":2,"children":[{"title":"Constructor arguments","slug":"constructor-arguments","depth":3,"children":[]},{"title":"Frame-length calculation","slug":"frame-length-calculation","depth":3,"children":[]},{"title":"Rest representation","slug":"rest-representation","depth":3,"children":[]},{"title":"MIDI note quick table","slug":"midi-note-quick-table","depth":3,"children":[]}]},{"title":"Score class","slug":"score-class","depth":2,"children":[{"title":"Critical rule","slug":"critical-rule","depth":3,"children":[]},{"title":"Main API","slug":"main-api","depth":3,"children":[]}]},{"title":"Practical pattern: Manage chart data in JSON (recommended)","slug":"practical-pattern-manage-chart-data-in-json-recommended","depth":2,"children":[{"title":"JSON example","slug":"json-example","depth":3,"children":[]},{"title":"Load and synthesize","slug":"load-and-synthesize","depth":3,"children":[]}]},{"title":"Related pages","slug":"related-pages","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"narration":{"path":"en/packages/laravel-voicevox/song-score-note","locale":"en","estimatedDurationSec":97},"subdomain":"invokable","siteName":"Knowledge of Laravel","title":"Score and Note Deep Dive - VOICEVOX for Laravel - Knowledge of Laravel","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"jp":{"href":"/jp/packages/laravel-voicevox/song-score-note","matchLevel":1},"en":{"href":"/en/packages/laravel-voicevox/song-score-note","matchLevel":0},"de":{"href":"/de/packages/laravel-voicevox/song-score-note","matchLevel":1},"es":{"href":"/es/packages/laravel-voicevox/song-score-note","matchLevel":1},"fr":{"href":"/fr/packages/laravel-voicevox/song-score-note","matchLevel":1},"it":{"href":"/it/packages/laravel-voicevox/song-score-note","matchLevel":1},"ko":{"href":"/ko/packages/laravel-voicevox/song-score-note","matchLevel":1},"nl":{"href":"/nl/packages/laravel-voicevox/song-score-note","matchLevel":1},"zh-Hans":{"href":"/zh-CN/packages/laravel-voicevox/song-score-note","matchLevel":1},"zh-Hant":{"href":"/zh-TW/packages/laravel-voicevox/song-score-note","matchLevel":1}}},"lastModified":"2026-05-23T09:02:55.534Z","gitLastModified":"2026-05-23T09:02:21.000Z","originalFileLocation":"en/packages/laravel-voicevox/song-score-note.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn the Score and Note model used for singing synthesis in VOICEVOX for Laravel, including frame-length math and practical JSON workflows.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Knowledge of Laravel\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Score and Note Deep Dive - VOICEVOX for Laravel - Knowledge of Laravel\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn the Score and Note model used for singing synthesis in VOICEVOX for Laravel, including frame-length math and practical JSON workflows.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Knowledge of Laravel\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://invokable.mintlify.app/_mintlify/api/og/v2?division=VOICEVOX+for+Laravel\u0026amp;title=Score+and+Note+Deep+Dive+-+VOICEVOX+for+Laravel\u0026amp;description=Learn+the+Score+and+Note+model+used+for+singing+synthesis+in+VOICEVOX+for+Laravel%2C+including+frame-length+math+and+practical+JSON+workflows.\u0026amp;theme=e73cb59538246989d21d6ff5\u0026amp;signature=69a6f38d4bdf68a6a40be728459f07f812d661f206bf30da0a79fc06c3474989\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Score and Note Deep Dive - VOICEVOX for Laravel - Knowledge of Laravel\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn the Score and Note model used for singing synthesis in VOICEVOX for Laravel, including frame-length math and practical JSON workflows.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://invokable.mintlify.app/_mintlify/api/og/v2?division=VOICEVOX+for+Laravel\u0026amp;title=Score+and+Note+Deep+Dive+-+VOICEVOX+for+Laravel\u0026amp;description=Learn+the+Score+and+Note+model+used+for+singing+synthesis+in+VOICEVOX+for+Laravel%2C+including+frame-length+math+and+practical+JSON+workflows.\u0026amp;theme=e73cb59538246989d21d6ff5\u0026amp;signature=69a6f38d4bdf68a6a40be728459f07f812d661f206bf30da0a79fc06c3474989\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Knowledge of Laravel\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/packages/laravel-voicevox/song-score-note.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://kawax.biz/jp/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://kawax.biz/de/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://kawax.biz/es/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://kawax.biz/fr/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://kawax.biz/it/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://kawax.biz/ko/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"nl\" href=\"https://kawax.biz/nl/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-Hans\" href=\"https://kawax.biz/zh-CN/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-Hant\" href=\"https://kawax.biz/zh-TW/packages/laravel-voicevox/song-score-note\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://kawax.biz/jp/packages/laravel-voicevox/song-score-note\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://kawax.biz/#organization\",\"name\":\"Knowledge of Laravel\",\"url\":\"https://kawax.biz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/invokable/AuZ0xql2mAbUyZ99/logo/light.svg?fit=max\u0026auto=format\u0026n=AuZ0xql2mAbUyZ99\u0026q=85\u0026s=df0b7397202a6aa1c1f321620c5aa146\"}},{\"@type\":\"WebSite\",\"@id\":\"https://kawax.biz#website\",\"name\":\"Knowledge of Laravel\",\"url\":\"https://kawax.biz\",\"publisher\":{\"@id\":\"https://kawax.biz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note#webpage\",\"url\":\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note\",\"name\":\"Score and Note Deep Dive - VOICEVOX for Laravel\",\"description\":\"Learn the Score and Note model used for singing synthesis in VOICEVOX for Laravel, including frame-length math and practical JSON workflows.\",\"dateModified\":\"2026-05-23T09:02:21.000Z\",\"isPartOf\":{\"@id\":\"https://kawax.biz#website\"},\"breadcrumb\":{\"@id\":\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"VOICEVOX\",\"item\":\"https://kawax.biz/en/packages/voicevox-core-php/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VOICEVOX for Laravel\",\"item\":\"https://kawax.biz/en/packages/laravel-voicevox/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Score and Note Deep Dive - VOICEVOX for Laravel\",\"item\":\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note#article\",\"headline\":\"Score and Note Deep Dive - VOICEVOX for Laravel\",\"name\":\"Score and Note Deep Dive - VOICEVOX for Laravel\",\"description\":\"Learn the Score and Note model used for singing synthesis in VOICEVOX for Laravel, including frame-length math and practical JSON workflows.\",\"url\":\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note\",\"mainEntityOfPage\":{\"@id\":\"https://kawax.biz/en/packages/laravel-voicevox/song-score-note#webpage\"},\"dateModified\":\"2026-05-23T09:02:21.000Z\",\"publisher\":{\"@id\":\"https://kawax.biz/#organization\"},\"isPartOf\":{\"@id\":\"https://kawax.biz#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Knowledge of Laravel\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Knowledge of Laravel","nav":{"global":null,"languages":[{"language":"jp","default":true,"pages":[{"title":"jp","href":"/jp/packages/laravel-voicevox/song-score-note"}]},{"language":"en","tabs":[{"tab":"My Packages","groups":[{"group":"GitHub Copilot","pages":[{"title":"Laravel Boost custom agent for GitHub Copilot CLI","href":"/en/packages/laravel-boost-copilot-cli"},{"title":"Laravel Boost Custom Agent for PhpStorm with GitHub Copilot","href":"/en/packages/laravel-boost-phpstorm-copilot"},{"group":"GitHub Copilot SDK for Laravel","expanded":false,"pages":[{"title":"GitHub Copilot SDK for Laravel","href":"/en/packages/laravel-copilot-sdk/index"},{"title":"Getting started - GitHub Copilot SDK for Laravel","sidebarTitle":"Getting started","href":"/en/packages/laravel-copilot-sdk/getting-started"},{"title":"Authentication - GitHub Copilot SDK for Laravel","sidebarTitle":"Authentication","href":"/en/packages/laravel-copilot-sdk/auth"},{"title":"SessionConfig","href":"/en/packages/laravel-copilot-sdk/session-config"},{"title":"Permission requests","href":"/en/packages/laravel-copilot-sdk/permission-request"},{"title":"SessionEvent","href":"/en/packages/laravel-copilot-sdk/session-event"},{"title":"RPC (Remote Procedure Call)","href":"/en/packages/laravel-copilot-sdk/rpc"},{"title":"Models","href":"/en/packages/laravel-copilot-sdk/models"},{"title":"Resume session","href":"/en/packages/laravel-copilot-sdk/resume"},{"title":"Session AI credit limits","href":"/en/packages/laravel-copilot-sdk/session-limits"},{"title":"Tools","href":"/en/packages/laravel-copilot-sdk/tools"},{"title":"Ask user","href":"/en/packages/laravel-copilot-sdk/ask-user"},{"title":"MCP","href":"/en/packages/laravel-copilot-sdk/mcp"},{"title":"Session hooks","href":"/en/packages/laravel-copilot-sdk/hooks"},{"title":"Skills","href":"/en/packages/laravel-copilot-sdk/skills"},{"title":"Plugin Directories","href":"/en/packages/laravel-copilot-sdk/plugin-directories"},{"title":"Custom agents","href":"/en/packages/laravel-copilot-sdk/custom-agents"},{"title":"Fleet Mode","href":"/en/packages/laravel-copilot-sdk/fleet-mode"},{"title":"Agent loop","href":"/en/packages/laravel-copilot-sdk/agent-loop"},{"title":"Events","href":"/en/packages/laravel-copilot-sdk/events"},{"title":"send() and on()","href":"/en/packages/laravel-copilot-sdk/send-on"},{"title":"Streaming","href":"/en/packages/laravel-copilot-sdk/streaming"},{"title":"Streaming events","href":"/en/packages/laravel-copilot-sdk/streaming-events"},{"title":"Attachments","href":"/en/packages/laravel-copilot-sdk/attachments"},{"title":"Testing - GitHub Copilot SDK for Laravel","sidebarTitle":"Testing","href":"/en/packages/laravel-copilot-sdk/fake"},{"title":"Laravel Cloud - GitHub Copilot SDK for Laravel","sidebarTitle":"Laravel Cloud","href":"/en/packages/laravel-copilot-sdk/laravel-cloud"},{"title":"GitHub Actions - GitHub Copilot SDK for Laravel","sidebarTitle":"GitHub Actions","href":"/en/packages/laravel-copilot-sdk/github-actions"},{"title":"GitHub token","href":"/en/packages/laravel-copilot-sdk/github-token"},{"title":"Laravel AI SDK integration","href":"/en/packages/laravel-copilot-sdk/ai-sdk"},{"title":"Bundle Copilot CLI","href":"/en/packages/laravel-copilot-sdk/bundle-cli"},{"title":"TCP mode","href":"/en/packages/laravel-copilot-sdk/tcp-mode"},{"title":"Remote Sessions","href":"/en/packages/laravel-copilot-sdk/remote-sessions"},{"title":"Cloud Sessions","href":"/en/packages/laravel-copilot-sdk/cloud-sessions"},{"title":"AHP Host","href":"/en/packages/laravel-copilot-sdk/ahp"},{"title":"Session context and filtering","href":"/en/packages/laravel-copilot-sdk/session-context"},{"title":"Session lifecycle events","href":"/en/packages/laravel-copilot-sdk/session-lifecycle-event"},{"title":"Telemetry","href":"/en/packages/laravel-copilot-sdk/telemetry"},{"title":"Custom providers","href":"/en/packages/laravel-copilot-sdk/custom-providers"},{"title":"Concurrency","href":"/en/packages/laravel-copilot-sdk/concurrency"},{"title":"Steering and queueing","href":"/en/packages/laravel-copilot-sdk/steering"},{"title":"Official SDK-compatible layer","href":"/en/packages/laravel-copilot-sdk/bare-usage"}]}]},{"group":"SDK","pages":[{"group":"Laravel Bluesky","expanded":false,"pages":[{"title":"Laravel Bluesky","href":"/en/packages/laravel-bluesky/index"},{"title":"Basic client - Laravel Bluesky","sidebarTitle":"Basic client","href":"/en/packages/laravel-bluesky/basic-client"},{"title":"Bot tutorial - Laravel Bluesky","sidebarTitle":"Bot tutorial","href":"/en/packages/laravel-bluesky/bot-tutorial"},{"title":"TextBuilder","href":"/en/packages/laravel-bluesky/text-builder"},{"title":"Authentication methods - Laravel Bluesky","sidebarTitle":"Authentication methods","href":"/en/packages/laravel-bluesky/authentication"},{"title":"Socialite - Laravel Bluesky","sidebarTitle":"Socialite","href":"/en/packages/laravel-bluesky/socialite"},{"title":"Notification channel - Laravel Bluesky","sidebarTitle":"Notification channel","href":"/en/packages/laravel-bluesky/notification"},{"title":"Testing","href":"/en/packages/laravel-bluesky/testing"},{"title":"Identity","href":"/en/packages/laravel-bluesky/identity"},{"title":"Routes","href":"/en/packages/laravel-bluesky/route"},{"title":"Verify","href":"/en/packages/laravel-bluesky/verify"},{"title":"Feed Generator","href":"/en/packages/laravel-bluesky/feed-generator"},{"title":"Labeler","href":"/en/packages/laravel-bluesky/labeler"},{"title":"BlueskyManager and HasShortHand","href":"/en/packages/laravel-bluesky/bluesky-manager"},{"title":"WebSocket (Jetstream / Firehose)","href":"/en/packages/laravel-bluesky/websocket"},{"title":"Crypto — AT Protocol Cryptography","href":"/en/packages/laravel-bluesky/crypto"},{"title":"Core — AT Protocol Core Operations","href":"/en/packages/laravel-bluesky/core"}]},{"title":"Laravel Nostr","href":"/en/packages/laravel-nostr"},{"title":"Laravel Notification for Discord(Webhook)","href":"/en/packages/laravel-notification-discord-webhook"},{"title":"Socialite for Discord","href":"/en/packages/socialite-discord"},{"group":"LINE SDK for Laravel","expanded":false,"pages":[{"title":"LINE SDK for Laravel","sidebarTitle":"Overview","href":"/en/packages/laravel-line-sdk/index"},{"title":"Webhook / Bot - LINE SDK for Laravel","sidebarTitle":"Webhook / Bot","href":"/en/packages/laravel-line-sdk/bot"},{"title":"Notifications - LINE SDK for Laravel","sidebarTitle":"Notifications","href":"/en/packages/laravel-line-sdk/notification"},{"title":"Socialite (LINE Login) - LINE SDK for Laravel","sidebarTitle":"Socialite (LINE Login)","href":"/en/packages/laravel-line-sdk/socialite"}]},{"group":"Google Sheets API for Laravel","expanded":false,"pages":[{"title":"Google Sheets API for Laravel","sidebarTitle":"Google Sheets","href":"/en/packages/laravel-google-sheets/index"},{"title":"Service Account Authentication - Google Sheets API for Laravel","sidebarTitle":"Service Account","href":"/en/packages/laravel-google-sheets/service-account"},{"title":"OAuth 2.0 Authentication - Google Sheets API for Laravel","sidebarTitle":"OAuth 2.0","href":"/en/packages/laravel-google-sheets/oauth"}]}]},{"group":"AI SDK","pages":[{"title":"Amazon Bedrock driver for Laravel AI SDK","href":"/en/packages/laravel-amazon-bedrock"}]},{"group":"VOICEVOX","pages":[{"group":"VOICEVOX Core for PHP","expanded":false,"pages":[{"title":"VOICEVOX Core for PHP","sidebarTitle":"Overview","href":"/en/packages/voicevox-core-php/index"},{"title":"Usage - VOICEVOX Core for PHP","sidebarTitle":"Usage","href":"/en/packages/voicevox-core-php/usage"},{"title":"API Reference - VOICEVOX Core for PHP","sidebarTitle":"API Reference","href":"/en/packages/voicevox-core-php/api"}]},{"group":"VOICEVOX for Laravel","expanded":false,"pages":[{"title":"VOICEVOX for Laravel","sidebarTitle":"Overview","href":"/en/packages/laravel-voicevox/index"},{"title":"Installation and setup - VOICEVOX for Laravel","sidebarTitle":"Installation","href":"/en/packages/laravel-voicevox/installation"},{"title":"Getting started - VOICEVOX for Laravel","sidebarTitle":"Getting started","href":"/en/packages/laravel-voicevox/getting-started"},{"title":"Configuration reference - VOICEVOX for Laravel","sidebarTitle":"Configuration","href":"/en/packages/laravel-voicevox/configuration"},{"title":"Client Mode: Talk (Text-to-Speech) - VOICEVOX for Laravel","sidebarTitle":"Client: Talk","href":"/en/packages/laravel-voicevox/client-talk"},{"title":"Client Mode: Song (Singing Synthesis) - VOICEVOX for Laravel","sidebarTitle":"Client: Song","href":"/en/packages/laravel-voicevox/client-song"},{"title":"Client mode - User Dictionary - VOICEVOX for Laravel","sidebarTitle":"Client mode - User Dictionary","href":"/en/packages/laravel-voicevox/client-user-dict"},{"title":"Client mode - Presets - VOICEVOX for Laravel","sidebarTitle":"Client mode - Presets","href":"/en/packages/laravel-voicevox/client-presets"},{"title":"Native mode: Talk (text-to-speech) - VOICEVOX for Laravel","sidebarTitle":"Native: Talk","href":"/en/packages/laravel-voicevox/native-talk"},{"title":"Native Mode: Song (Singing Synthesis) - VOICEVOX for Laravel","sidebarTitle":"Native: Song","href":"/en/packages/laravel-voicevox/native-song"},{"title":"Native mode - User Dictionary - VOICEVOX for Laravel","sidebarTitle":"Native mode - User Dictionary","href":"/en/packages/laravel-voicevox/native-user-dict"},{"title":"Native mode - Presets - VOICEVOX for Laravel","sidebarTitle":"Native mode - Presets","href":"/en/packages/laravel-voicevox/native-presets"},{"title":"Engine API Mode: Talk (Text-to-Speech) - VOICEVOX for Laravel","sidebarTitle":"Engine API: Talk","href":"/en/packages/laravel-voicevox/engine-talk"},{"title":"Engine API Mode: Song (Singing Synthesis) - VOICEVOX for Laravel","description":"Use VOICEVOX-engine-compatible singing endpoints from the Laravel embedded engine API mode.","sidebarTitle":"Engine API: Song","href":"/en/packages/laravel-voicevox/engine-song"},{"title":"Score and Note Deep Dive - VOICEVOX for Laravel","sidebarTitle":"Score and Note","href":"/en/packages/laravel-voicevox/song-score-note"},{"title":"VoicevoxResponse - VOICEVOX for Laravel","description":"Method reference for the VoicevoxResponse class, which represents the result of a VOICEVOX for Laravel synthesis call.","sidebarTitle":"VoicevoxResponse","href":"/en/packages/laravel-voicevox/response"},{"title":".vvproj File Format - VOICEVOX for Laravel","sidebarTitle":".vvproj","href":"/en/packages/laravel-voicevox/vvproj"},{"title":"Guide to Building Apps with VOICEVOX Engine API","sidebarTitle":"App Development Guide","href":"/en/packages/laravel-voicevox/app-guide"},{"title":"Laravel AI SDK Integration - VOICEVOX for Laravel","sidebarTitle":"AI SDK","href":"/en/packages/laravel-voicevox/ai-sdk"}]},{"group":"VOICEVOX Engine API Reference","pages":[{"group":"Query Creation","pages":[{"title":"Create query for speech synthesis","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /audio_query","href":"/en/packages/laravel-voicevox/engine-api/query-creation/create-query-for-speech-synthesis"},{"title":"Create query for speech synthesis using preset","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /audio_query_from_preset","href":"/en/packages/laravel-voicevox/engine-api/query-creation/create-query-for-speech-synthesis-using-preset"},{"title":"Create query for singing voice synthesis","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /sing_frame_audio_query","href":"/en/packages/laravel-voicevox/engine-api/query-creation/create-query-for-singing-voice-synthesis"}]},{"group":"Query Editing","pages":[{"title":"Get accent phrases from text","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /accent_phrases","href":"/en/packages/laravel-voicevox/engine-api/query-editing/get-accent-phrases-from-text"},{"title":"Get phoneme lengths and pitch from accent phrases","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /mora_data","href":"/en/packages/laravel-voicevox/engine-api/query-editing/get-phoneme-lengths-and-pitch-from-accent-phrases"},{"title":"Get phoneme lengths from accent phrases","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /mora_length","href":"/en/packages/laravel-voicevox/engine-api/query-editing/get-phoneme-lengths-from-accent-phrases"},{"title":"Get pitch from accent phrases","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /mora_pitch","href":"/en/packages/laravel-voicevox/engine-api/query-editing/get-pitch-from-accent-phrases"},{"title":"Get frame-by-frame fundamental frequency from a score / singing voice synthesis query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /sing_frame_f0","href":"/en/packages/laravel-voicevox/engine-api/query-editing/get-frame-by-frame-fundamental-frequency-from-a-score-singing-voice-synthesis-query"},{"title":"Get frame-by-frame volume from a score / singing voice synthesis query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /sing_frame_volume","href":"/en/packages/laravel-voicevox/engine-api/query-editing/get-frame-by-frame-volume-from-a-score-singing-voice-synthesis-query"}]},{"group":"Speech Synthesis","pages":[{"title":"Perform speech synthesis","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /synthesis","href":"/en/packages/laravel-voicevox/engine-api/speech-synthesis/perform-speech-synthesis"},{"title":"Perform streaming speech synthesis","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /streaming_synthesis","href":"/en/packages/laravel-voicevox/engine-api/speech-synthesis/perform-streaming-speech-synthesis"},{"title":"Perform speech synthesis (cancellable)","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /cancellable_synthesis","href":"/en/packages/laravel-voicevox/engine-api/speech-synthesis/perform-speech-synthesis-cancellable"},{"title":"Synthesize multiple speeches at once","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /multi_synthesis","href":"/en/packages/laravel-voicevox/engine-api/speech-synthesis/synthesize-multiple-speeches-at-once"},{"title":"Frame Synthesis","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /frame_synthesis","href":"/en/packages/laravel-voicevox/engine-api/speech-synthesis/frame-synthesis"},{"title":"Check if morphing is possible for specified style","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /morphable_targets","href":"/en/packages/laravel-voicevox/engine-api/speech-synthesis/check-if-morphing-is-possible-for-specified-style"},{"title":"Synthesize speech morphed with two styles","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /synthesis_morphing","href":"/en/packages/laravel-voicevox/engine-api/speech-synthesis/synthesize-speech-morphed-with-two-styles"}]},{"group":"OpenAI Compatible","pages":[{"title":"Create speech with an OpenAI-compatible API","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /v1/audio/speech","href":"/en/packages/laravel-voicevox/engine-api/openai-compatible/create-speech-with-an-openai-compatible-api"}]},{"group":"Other","pages":[{"title":"Combine multiple base64-encoded wav data into one","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /connect_waves","href":"/en/packages/laravel-voicevox/engine-api/other/combine-multiple-base64-encoded-wav-data-into-one"},{"title":"Validate AquesTalk-style notation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /validate_kana","href":"/en/packages/laravel-voicevox/engine-api/other/validate-aquestalk-style-notation"},{"title":"Initialize Speaker","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /initialize_speaker","href":"/en/packages/laravel-voicevox/engine-api/other/initialize-speaker"},{"title":"Is Initialized Speaker","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /is_initialized_speaker","href":"/en/packages/laravel-voicevox/engine-api/other/is-initialized-speaker"},{"title":"Supported Devices","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /supported_devices","href":"/en/packages/laravel-voicevox/engine-api/other/supported-devices"},{"title":"Get Presets","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /presets","href":"/en/packages/laravel-voicevox/engine-api/other/get-presets"},{"title":"Add Preset","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /add_preset","href":"/en/packages/laravel-voicevox/engine-api/other/add-preset"},{"title":"Update Preset","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /update_preset","href":"/en/packages/laravel-voicevox/engine-api/other/update-preset"},{"title":"Delete Preset","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /delete_preset","href":"/en/packages/laravel-voicevox/engine-api/other/delete-preset"},{"title":"Speakers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /speakers","href":"/en/packages/laravel-voicevox/engine-api/other/speakers"},{"title":"Speaker Info","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /speaker_info","href":"/en/packages/laravel-voicevox/engine-api/other/speaker-info"},{"title":"Singers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /singers","href":"/en/packages/laravel-voicevox/engine-api/other/singers"},{"title":"Singer Info","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /singer_info","href":"/en/packages/laravel-voicevox/engine-api/other/singer-info"},{"title":"Version","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /version","href":"/en/packages/laravel-voicevox/engine-api/other/version"},{"title":"Core Versions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /core_versions","href":"/en/packages/laravel-voicevox/engine-api/other/core-versions"},{"title":"Engine Manifest","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /engine_manifest","href":"/en/packages/laravel-voicevox/engine-api/other/engine-manifest"},{"title":"Get Portal Page","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /","href":"/en/packages/laravel-voicevox/engine-api/other/get-portal-page"}]},{"group":"Voice Library Management","pages":[{"title":"Downloadable Libraries","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /downloadable_libraries","href":"/en/packages/laravel-voicevox/engine-api/voice-library-management/downloadable-libraries"},{"title":"Installed Libraries","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /installed_libraries","href":"/en/packages/laravel-voicevox/engine-api/voice-library-management/installed-libraries"},{"title":"Install Library","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /install_library/{library_uuid}","href":"/en/packages/laravel-voicevox/engine-api/voice-library-management/install-library"},{"title":"Uninstall Library","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /uninstall_library/{library_uuid}","href":"/en/packages/laravel-voicevox/engine-api/voice-library-management/uninstall-library"}]},{"group":"User Dictionary","pages":[{"title":"Get User Dict Words","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /user_dict","href":"/en/packages/laravel-voicevox/engine-api/user-dictionary/get-user-dict-words"},{"title":"Add User Dict Word","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /user_dict_word","href":"/en/packages/laravel-voicevox/engine-api/user-dictionary/add-user-dict-word"},{"title":"Rewrite User Dict Word","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json put /user_dict_word/{word_uuid}","href":"/en/packages/laravel-voicevox/engine-api/user-dictionary/rewrite-user-dict-word"},{"title":"Delete User Dict Word","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json delete /user_dict_word/{word_uuid}","href":"/en/packages/laravel-voicevox/engine-api/user-dictionary/delete-user-dict-word"},{"title":"Import User Dict Words","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /import_user_dict","href":"/en/packages/laravel-voicevox/engine-api/user-dictionary/import-user-dict-words"}]},{"group":"Settings","pages":[{"title":"Setting Get","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json get /setting","href":"/en/packages/laravel-voicevox/engine-api/settings/setting-get"},{"title":"Setting Post","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/invokable/laravel-voicevox/refs/heads/main/docs/en/laravel-openapi.json post /setting","href":"/en/packages/laravel-voicevox/engine-api/settings/setting-post"}]}]}]},{"group":"Starter Kits","pages":[{"group":"Laravel Console Starter","pages":[{"title":"Laravel Console Starter","href":"/en/packages/laravel-console-starter/index"},{"title":"Tutorial - Laravel Console Starter","sidebarTitle":"Tutorial","href":"/en/packages/laravel-console-starter/tutorial"}]}]},{"group":"Feeds and RSS","pages":[{"title":"Laravel FullFeed","href":"/en/packages/laravel-fullfeed"},{"group":"Feedable","expanded":false,"pages":[{"title":"Feedable","href":"/en/packages/feedable/index"},{"title":"Core package and custom drivers - Feedable","sidebarTitle":"Core \u0026 custom drivers","href":"/en/packages/feedable/core"},{"title":"Supported sites - Feedable","sidebarTitle":"Supported sites","href":"/en/packages/feedable/drivers"}]}]},{"group":"Middleware","pages":[{"title":"Laravel Fetch Metadata","href":"/en/packages/laravel-fetch-metadata"}]}]},{"tab":"Tutorial","pages":[{"title":"Tutorial","href":"/en/introduction"}]},{"tab":"Guide","pages":[{"title":"Guide","href":"/en/lifecycle"}]},{"tab":"Advanced Topics","pages":[{"title":"Advanced Topics","href":"/en/advanced/mcp-server"}]},{"tab":"Blog","pages":[{"title":"Blog","href":"/en/blog/changelog/202609"}]}]},{"language":"de","pages":[{"title":"de","href":"/de/packages/laravel-voicevox/song-score-note"}]},{"language":"es","pages":[{"title":"es","href":"/es/packages/laravel-voicevox/song-score-note"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/packages/laravel-voicevox/song-score-note"}]},{"language":"it","pages":[{"title":"it","href":"/it/packages/laravel-voicevox/song-score-note"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/packages/laravel-voicevox/song-score-note"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl/packages/laravel-voicevox/song-score-note"}]},{"language":"zh-Hans","pages":[{"title":"zh-Hans","href":"/zh-CN/packages/laravel-voicevox/song-score-note"}]},{"language":"zh-Hant","pages":[{"title":"zh-Hant","href":"/zh-TW/packages/laravel-voicevox/song-score-note"}]}]},"basePath":"","title":"Score and Note Deep Dive - VOICEVOX for Laravel - Knowledge of Laravel","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["2bfc744e19"],"chunks":["NarrationPlayer-Cl1Ao-dR.js","types-CiTgMxws.js","shallow-BupWh095.js"]}