diff --git a/musicxml-singer-with-oddvoices/package.json b/musicxml-singer-with-oddvoices/package.json index f68a212..d9a60ad 100644 --- a/musicxml-singer-with-oddvoices/package.json +++ b/musicxml-singer-with-oddvoices/package.json @@ -6,8 +6,8 @@ "scripts": { "build-oddvoices": "git submodule update --init --recursive; cd ./src/oddvoices; make -C cpp; cd ../../", "dev": "npm run build-oddvoices; vite", - "build": "tsc && npm run build-oddvoices && vite build && mkdir -p ./dist/singing-synthesis && cp -r ./dist/*.* ./dist/singing-synthesis/ && cp -r ./dist/assets ./dist/singing-synthesis/", - "build-dev": "tsc && npm run build-oddvoices && NODE_ENV=development vite build --mode development && mkdir -p ./dist/singing-synthesis && cp -r ./dist/*.* ./dist/singing-synthesis/ && cp -r ./dist/assets ./dist/singing-synthesis/", + "build": "tsc && npm run build-oddvoices && vite build && mkdir -p ./dist/singing-synthesis && cp -r ./dist/*.* ./dist/singing-synthesis/ && cp -r ./dist/assets ./dist/singing-synthesis/ && cp -r ./dist/voices ./dist/singing-synthesis/", + "build-dev": "tsc && npm run build-oddvoices && NODE_ENV=development vite build --mode development && mkdir -p ./dist/singing-synthesis && cp -r ./dist/*.* ./dist/singing-synthesis/ && cp -r ./dist/assets ./dist/singing-synthesis/ && cp -r ./dist/voices ./dist/singing-synthesis/", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, diff --git a/musicxml-singer-with-oddvoices/src/App.tsx b/musicxml-singer-with-oddvoices/src/App.tsx index 3254718..4bedf17 100644 --- a/musicxml-singer-with-oddvoices/src/App.tsx +++ b/musicxml-singer-with-oddvoices/src/App.tsx @@ -12,6 +12,7 @@ import { Typography, } from "@mui/material"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; +import ErrorIcon from "@mui/icons-material/Error"; import { SplitParams } from "./oddVoiceJSON"; import { OddVoiceJSON } from "./oddVoiceJSON/oddVoiceHelpers"; @@ -34,7 +35,7 @@ function App() { console.log({ oddVoiceOutputs }); } - const { isLoadingApp, isLoadingVoice, generateVoiceFromOddVoiceJson } = useOddVoicesApp(); + const { isLoadingApp, isLoadingVoice, voiceLoadingFailed, generateVoiceFromOddVoiceJson } = useOddVoicesApp(); const [isGeneratingAudio, setIsGeneratingAudio] = React.useState(false); @@ -51,7 +52,12 @@ function App() { > : null}> - {isGeneratingAudio ? ( + {voiceLoadingFailed ? ( + <> + + Error loading voice! + + ) : isGeneratingAudio ? ( <> Generating audio... diff --git a/musicxml-singer-with-oddvoices/src/oddvoices/index.tsx b/musicxml-singer-with-oddvoices/src/oddvoices/index.tsx index 97e9665..4253f93 100644 --- a/musicxml-singer-with-oddvoices/src/oddvoices/index.tsx +++ b/musicxml-singer-with-oddvoices/src/oddvoices/index.tsx @@ -44,6 +44,7 @@ export const useOddVoicesApp = () => { const { data: voiceData, isLoading: isLoadingVoice, + error: voiceError, } = useQuery({ queryKey: ["oddVoices", activeVoice], queryFn: async () => { @@ -52,7 +53,7 @@ export const useOddVoicesApp = () => { } const response = await fetch(`${voiceUrlPrefix}${activeVoice}.voice`); const buffer = await response.arrayBuffer(); - + const fileName = `/voices/${activeVoice}.voice`; oddVoiceApp.FS.writeFile(fileName, new Uint8Array(buffer)); @@ -88,11 +89,16 @@ export const useOddVoicesApp = () => { return buffer; }; + if (voiceError) { + console.error(voiceError); + } + return { isLoadingApp: !oddVoiceApp, isLoadingVoice, generateVoiceFromOddVoiceJson, activeVoice, setActiveVoice, + voiceLoadingFailed: !isLoadingVoice && !voiceData, }; };