Skip to content
This repository was archived by the owner on May 18, 2025. It is now read-only.

Commit c8f9fed

Browse files
committed
Music troubleshooting guide
1 parent d917303 commit c8f9fed

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
title: "Music Troubleshooting"
3+
description: "Solutions to OpenMarch music importing bugs"
4+
---
5+
6+
import { Steps } from "@astrojs/starlight/components";
7+
8+
The music integration in OpenMarch is currently extremely minimal.
9+
The best think we can ask for right now is your patience as we work through it. 😊
10+
11+
We have many plans to fix and improve the experience so that it can work for many different types of projects.
12+
It's not a trivial issue.
13+
There's lots of different tempo combinations and syncing methods to think about.
14+
We want to make sure our next crack at it is done right.
15+
In the meantime, here is a list of tips and tricks to get music to work for you.
16+
17+
This video walks through the steps if you prefer not to read.
18+
19+
<iframe
20+
width="560"
21+
height="315"
22+
src="https://www.youtube.com/embed/2HjLimsxUxQ?si=m-FCDOpT7oJvauCR&amp;start=972"
23+
title="YouTube video player"
24+
frameborder="0"
25+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
26+
referrerpolicy="strict-origin-when-cross-origin"
27+
allowfullscreen
28+
></iframe>
29+
30+
> If OpenMarch ever seems broken, refreshing the page `Ctrl + R` will often fix it.
31+
32+
## Current limitations
33+
34+
Since the music integration is so bare bones, keep in mind the following limitations:
35+
36+
- Accelerandos, deccelerandos and other gradual tempo changes are not supported
37+
- If you must change the tempo gradually, only change the tempo at the **start of the measure**
38+
- The less information the MusicXML has, the better
39+
- The parser OpenMarch uses to extract the tempo information from MusicXML files is not perfect
40+
- Remove all notes from the staff and only have one part
41+
- If it's still not working, try removing all staff notes and other markings
42+
- If you have a count-in, the MusicXML must also include that
43+
44+
## Creating your MusicXML
45+
46+
### If you have the sheet music file
47+
48+
Follow these steps if you have the sheet music to open in Musescore, Dorico, etc.
49+
50+
<Steps>
51+
52+
1. Open your score in your notation software
53+
- If you don't have any notation software, [Musescore](https://musescore.com) is free and is what this project is tested on
54+
1. Create a **new part** that has no notes in it
55+
1. Click `File``Export`
56+
1. Ensure **only the new part with no notes** is checked
57+
- You might also just want to make a copy of the file and delete all of the other parts besides the one with no notes
58+
1. Import this file into OpenMarch by clicking `Music``Import MusicXML`
59+
1. If nothing seems to have happened try refreshing the page with `Ctrl + R`
60+
- If it's still not working, reach out on the [community Discord](https://github.com/OpenMarch/OpenMarch) or [dev@openmarch.com](mailto:dev@openmarch.com) for troubleshooting
61+
62+
</Steps>
63+
64+
### If you don't have the sheet music file
65+
66+
If you only have an audio file and no sheet music file, this is a lot trickier, but possible!
67+
I have done this personally.
68+
It's annoying and not clean, but it works.
69+
70+
The TLDR is that you need to find some way to convert the tempo information in your audio file (`.mp3` or `.wav`) into a `.midi` file.
71+
Once you have a `.midi` file, you can import it into a music notation software (like [Musescore](https://musescore.com)) and create your MusicXML.
72+
73+
> I've only done this in MacOS. Try to find a Windows/Linux alternative of GarageBand or Logic Pro that is free
74+
>
75+
> It needs to be able to import audio files and also support midi instruments.
76+
> [Audacity](https://www.audacityteam.org/) comes to mind, but I've never used it for this.
77+
78+
<Steps>
79+
80+
1. Open a [DAW](https://en.wikipedia.org/wiki/Digital_audio_workstation) of some kind that can support audio files and software MIDI instruments.
81+
1. Get the project's tempo to align with the audio file's.
82+
1. **Make sure that if there are tempo changes, they only happen once at the start of a measure**
83+
- Gradual tempo changes will not work
84+
1. Add a MIDI software instrument track
85+
1. Add a single note at the start of each measure
86+
- This is to make sure the MIDI that we export uses the whole project
87+
1. Validate that the tempo lines up as intended
88+
1. Export the project as a `.midi` file
89+
1. Import the `.midi` file into Musescore
90+
1. Follow [the steps above](#if-you-have-the-sheet-music-file)
91+
92+
</Steps>
93+
94+
## Disclaimer
95+
96+
Please know that we are aware of the shortcomings of the current system and are working hard to fix them.
97+
I invite you to use OpenMarch's many shortcomings as opportunities to hack your way through and figure out how you can make it work 🙂.
98+
99+
As always, this project is made up entirely of volunteers doing the best they can with the free time they can spare
100+
Please consider donating to the [Patreon](https://www.patreon.com/c/openmarch) to show your support for our team.

0 commit comments

Comments
 (0)