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,
};
};