FAQ

Organizing Songs – How To…

Avoid program crashes

Most likely you have tried opening a song with incompatible audio/video data. Converting the problematic audio to standard MP3 (CBR, 128kbs, 44.1khz, joint stereo) and video to standard MPG or AVI (DivX, XVid) might help.

Earlier Yass versions (v0.9.9 and less) use the Fobs package for rendering video data, which causes the Java Runtime Environment to crash with an EXCEPTION_ACCESS_VIOLATION for incompatible audio/video data. You can verify if this problem applies to you by checking the Java stack trace: If it includes com.omnividea.media.parser.video.VideoTrack.readFrame or a similar Fobs-specific method, please re-encode your song data.

You can also remove the Fobs library (fobs4jmf.dll, libfobs4jmf.so, or libfobs4jmf.jnilib) from the Yass program folder. Yass will then start without video functionality.

Avoid “Out of Memory”

The Windows EXE’s heap is initally 48MB, and maximal 512MB. Use the following command line option in case you are using the JAR program version and require a larger amount of memory.

java -Xms=48m -Xmx=512m -jar yass.jar

Move articles to the end of artist

Example: “The Howlers” should be listed as “Howlers, The” in the library.

  1. Goto preferences, library sorting tab. Is the option “Move articles to end of artist” checked?
  2. Enable details view. Did you set the song’s language? Articles are only appended if the language is set correctly.
Set entire folder to respective edition

Example: Tag all songs in folder “Greatest Hits” with edition “Greatest Hits”

  • Group by folder
  • Select folder “Greatest Hits”
  • Select all songs
  • Set edition to “Greatest Hits”
Compare similar songs

Example: Four versions of “Brother Jacob” with similar timing but different melody.

  • Select all four song versions in the library
  • Edit songs
Exclude foreign-language songs from print

Example: Print only English and German songs.

  • Group by Languages
  • Goto “English;German” (if the item doesn’t exist, add it to the language group in the preferences)
  • Print
Correct all songs with a misspelled language

Example: Set language “Englisch” to “English” for all songs.

  • Group by languages
  • Goto “Englisch”
  • Select all
  • Drag and drop to “English” (or use menu)

Editing Songs – How To…

File encoding changes to UTF-8 without BOM (Ubuntu)

You have a song that plays well with Ultrastar, but after storing the file with Yass you cannot use the song anymore in Ultrastar.

Most likely, your system-default encoding is incompatible with Ultrastar, as it is in the case of MacOS (AppleRoman) or Ubuntu (UTF-8 without BOM). Please check if the file is encoded as ASCII, Latin-1, Latin-9, or ANSI (CP-1252). Yass will store such files using the the system-default encoding. You can either

  • change the file encoding manually to UTF-8
  • use the option “always-store-as-utf-8” in preferences->filetypes
  • start Yass with the option -Dfile.encoding=ISO-8859-15. This will enforce Latin-9, a superset of Latin-1 containing additional European characters. Thanks to Hermann for reporting this!
Audio playback does not work (Linux, OpenJDK)

On Linux, when playing the song, nothing happens. The editor and the piano work, but you will hear no audio.

The default Java version is OpenJDK on most Linux systems. OpenJDK does not yet support master gain and playback will fail. You can resolve the problem by installing Oracle’s Java.
To switch from OpenJDK to Oracle Java on Kubuntu Saucy:

sudo apt-get purge openjdk*
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Exchange the digit in the last line if you want to install Java 7 or 6.

MIDI playback does not work

First check if MIDI works with other tools, for example by playing a MIDI file with your default audio player.

  • A) Cannot hear MIDI with other tools:
    Check the hardware settings of your MIDI/Synthesizer device and its gain/mute settings in your system’s audio mixer. Some users reported that MIDI worked after stopping their ICQ.
  • B) MIDI works, but not with Yass:
    Check if your Java installation is missing a soundbank. Try to install it manually, see here: java.sun.com/products/java-media/sound/soundbanks.html

Yass version 1.0.1 includes a piano soundbank, check if you are using the required JDK7 (Java 1.7).

Strange timing in Ultrastar editor

You have finetuned your notes perfectly in the Yass editor. The song plays fine with Ultrastar, only in the Ultrastar editor the notes seem misplaced.

Most likely, your song is encoded with variable bitrate (VBR) instead of constant bitrrate (CBR). You can check the encoding in the Yass library’s song information window. If you see VBR instead of CBR, please re-encode to CBR.

Re-encoding to CBR can be done, for example, with the free audio editor Audacity and the LAME MP3 encoder plugin. You can set the MP3 bitrate (128-192 kbps) in the Audacity preferences, under MP3 export settings.

Sometimes I cannot hear very short notes

Silent playback for some short notes results from an MP3 Layer III optimization called “bit reservoir”. In these cases audio information is compressed in earlier frames, outside the range of playback.

You can resolve this issue by re-encoding the MP3 with disabled bit reservoir, using for example RazorLame (see tools) or directly the Lame option -nores. The Fraunhofer MP3 codec does not have such an option, but a 320kbs rate is reported to work there, too. Details can be found here: How accurate is Yass?

Avoid program crashes

Most likely you have tried opening a song with incompatible audio/video data. Converting the problematic audio to standard MP3 (CBR, 128kbs, 44.1khz, joint stereo) and video to standard MPG or AVI (DivX, XVid) might help.

Earlier Yass versions (v0.9.9 and less) use the Fobs package for rendering video data, which causes the Java Runtime Environment to crash with an EXCEPTION_ACCESS_VIOLATION for incompatible audio/video data. You can verify if this problem applies to you by checking the Java stack trace: If it includes com.omnividea.media.parser.video.VideoTrack.readFrame or a similar Fobs-specific method, please re-encode your song data.

You can also remove the Fobs library (fobs4jmf.dll, libfobs4jmf.so, or libfobs4jmf.jnilib) from the Yass program folder. Yass will then start without video functionality.

Avoid “Out of Memory”

The Windows EXE’s heap is initally 48MB, and maximal 512MB. Use the following command line option in case you are using the JAR program version and require a larger amount of memory.

java -Xms=48m -Xmx=512m -jar yass.jar

Show notes outside visible area

Solution: Switch to multi-page view (Page-Down) or manually toggle heights alignment (press L).

Explanation: In single-page view only 10 height lines are shown above the page baseline. If notes span a larger height range, they fall outside the visible area. Multi-page views always show the full range of heights.

Define startup file

Example: Start editor with C:\song.txt

  • Mouse: Drop file on Yass executable (Windows)
  • Command line: yass.exe C:\song.txt
How do you calculate the golden bonus?

Yass supports golden bonus (for notes) and phrase bonus (full lines hit).

The default maximum score without any bonus is 8.000. If the maximum phrase bonus is 1.000, that gives you 1.000 for a golden bonus to sum up to 10.000.

Notes span one or more beats, points are given per beat. Golden beats give double points.

But you will hardly be able to mark golden notes with an exact 1.000 golden bonus. Therefore Yass checks only if you are near that value.The default allowed variance is 200 points, resulting in a 800-1200 bonus range.

This is the formula:
GoldenScore / MaxScore = 2*GoldenBeats / (TotalBeats + GoldenBeats)

Example:
Golden=1000, MaxScore=8000, TotalBeats=1500--> GoldenBeats=100

Which is roughly 7% of the beats or every 15th note if they would have equal length. The 200 golden score variance then allows a variance of less than 19 beats. (1/79 TotalBeats).

Why don’t you use samples instead of synthesized clicks?

I don’t know how. A bug in the Java sound system (see e.g. here: 6251460) prevents short sound clips to be played correctly.
Samples would definitively improve finetuning. If you can produce a working example that can play many small clicks very close together – for example this sample from Freesound -, send me the code and I’ll integrate it.