This is an advance method, It is recommended to use the User Lyric Dictionary Dialog instead.
The standard_library and extended_library are built-in dictionaries which contain information that assist xLights in converting each word into phonemes. Each word in the dictionary is listed with its associated phonemes. As xLights proceeds with the breakdown process there may occasionally be a word that it cannot find in these dictionary files. When this happens there is a simple process to add that word to the user_dictionary.
When xLights is first installed, this file is located in this folder: C:\Program Files\xLights\ This folder is the default folder that xLights is installed into. This can change if you decide to install xLights somewhere else.
To keep this file from being overwritten in future installs you should move the user_dictionary file to the folder where you store your sequences.
The user_dictionary can be moved to the Show Directory and xLights will read it from there. If you do this xLights will load the user_dictionary in the show directory and skip the user_dictionary in Program Files.
The user_dictionary is a simple text file which can be edited by using a text editor such as windows notepad or any other text editor, such as Notepad++, to open this file. This is only dictionary file that you should make any additions to because the other two files will be overwritten each time xLights is installed. When you first open the user_dictionary file it will contain the information shown below.
Before continuing, create a text file containing all the words that xLights did not have an associated phoneme breakdown created. Name this something easily identifiable, such as ‘missing words.txt’ and put it in the same folder as the sequences. There is no special formatting, just a list of words, one per line, is required. One thing to note here is that if you have any hyphenated words such as ‘screa-um’ you should break the word into two words such as ‘screa’ and ‘um’’ for this list.
Then in your internet browser open to the following webpage… http://www.speech.cs.cmu.edu/tools/lextool.html as shown here:
Then click the ‘'Choose File' button and browse to find the file you created or enter this name into the file box.
Then click the 'Compile' button.
Once the processing has completed another web page will appear similar to this:
Click the work 'link'
Another web page similar to this will appear.
Here click the file with the .dict extension such as 0548.dict, then a web page will appear with the words and their phoneme breakdown as shown below.
Before following the rest of this process, close the current sequence and exit xLights.
If your user_dictionary is not open, open it now. Highlight and copy this list and paste it into your open user_dictionary and save the newly modified file. There is a small bug in xLights at the time this document was written which you need to compensate for. After pasting in the newly added words do a search and replace with a ‘ ‘ (space) for any ‘tab’ characters in the user_dictionary. Between the "word" and the "phonemes" requires two spaces (' ') and one space(' ') is required between phonemes.
This process will work for one to how ever many words that you have. But if you just want to quickly check one word past the following link into your browser.
http://www.speech.cs.cmu.edu/cgi-bin/cmudict
This is the online CMU Pronouncing Dictionary. Here you will look up each word that Papagayo did not find in its dictionaries. Let’s take the first word 'ooky'. There is a box below the title ‘Look up the pronunciation for a word or a sentence in CMUdict (v. 0.7a)’ where you will enter this word. Then click the 'Pronounce it!’ button. If a red dot appears with the phrase ‘not in dictionary; consider using the LOGIOS tool discussed above, which is able to generate missing pronunciations by rule.’ Then you need to click the ‘LOGIOS’ link which takes you to the previously discussed web page.
Now that you have updated the user dictionary you should reopen xLights and load the previously saved sequence and find the newly added dictionary words and do a right click ‘Breakdown Word’ for the missing phonemes. The image now shows the results after adding the word ‘honkey’ to the user_dictionary file.
This section describes how Singing Face functionality i.e. the conversion of phrases from song lyrics or sentences spoken out aloud can be converted to work on Coro faces or Images on a matrix or Mega tree natively in xLights i.e. without using the Papagayo application.
In the model layout tab, select the singing face model, then click on the ellipsis (three dots) button on the Faces property.
The 'Name' dropdown specified the currently selected Face Definition. If the dropdown is empty, then no Face Definition exist for the current model.
Click 'Add' to create a new Face Definition.
'Delete' will delete the current selected Face Definition.
Click the ellipsis (three dots) to copy, rename or import a face definition.
The drop down box below the 'Name' selector is used to select the type of face definition. There are three types of face definition.
For each phoneme, select the channels that will be turned on. Multiple selections can be selected, by holding down the CTRL key.
If force custom colors is selected, then a specific color to be turned on by default. This can be specified for each phenom/row by double clicking in the color column to bring up the color palette.
If ‘Node Ranges’ is selected, then the following window will be displayed.
Type in the list of node numbers (pixel numbers) for what should be turned for each movement. Example: ("1-12,24-30"). Double click the Nodes Column or Phenom Name to bring up the Node Select Dialog.
Click and drag to select the desired nodes for the selected phenom definition.
Click Ok when done selecting the nodes for the current phenom name/row.
There is a right clicked menu that allows the user to import node numbers from a predefined submodel.
If force custom colors is selected, then a specific color to be turned on by default. This can be specified for each phenom/row by double clicking in the color column to bring up the color palette.
If a matrix is selected, then the following window will be displayed.
Then for each mouth position, double click in the eyes open column (you may need to double click more than once) and navigate to and select the face image corresponding to that mouth position. You can specify different images for the Eyes Closed position or by default, the same image is copied across.
The 'Download Images' button will display a list of user submitted singing faces images. Select the 'Insert Face' to download the pictures files to 'DownloadedFaces' folder in the show folder. This will also populate the face definitions in the main dialog.
Pay attention the image resolution compared to the matrix resolution. High resolution image will not scale well to low resolution matrices.
Then select the image placement i.e. Centered or Scaled. 'Center' with display the image in the center of the matrix. If the image resolution is greater than the matrix resolution, xLights will down scale the image to the matrix resolution. 'Scaled' will upscale the X and Y resolution of the image separately to the matrix resolution.
Images used for pictures and faces use the location reference you specify when you added the image. xLights attempts to resolve the location of the image if it cannot be located where specified.
If the images are in your show directory or in a sub folder inside your show directory, then the image will be found. In other cases , the new location may not be detected.
Next add a new Timing track. Right Click on the Row Heading and Select Add Timing Track
Select a Timing Track of type ‘Empty’ and click on OK to add it.
Right click on the name of the timing track and Select Rename Timing Track. Change it to something meaningful, such as ‘Lyrics’ or 'Main Vocals'.
If you have more than one Voice, then repeat this process for the second Voice.
Select the Timing Track (‘Lyrics’) and for clarity deselect any others. There are two ways to add the phrases/lyrics to the Timing Track.
Importing the entire set of Lyrics. Obtain the lyrics from the internet or elsewhere, copy them, then Right click and select ‘Import Lyrics’.
Type or paste the lyrics into the Window and press OK. The words of the lyrics will be evenly distributed across the song.
It is also possible to import an entire timing track (that another person has exported) containing the Lyrics, Words and phonemes via the Import Timing Tracks option. The file must be an .xtimings file.
Play through the song at regular or reduced speed and use the ‘t’ key to add timing marks at the beginning of each phrase. Then on the timing track, between two timing marks, double click or shift double click (this is set by your preference dialog settings) and an ‘Edit label’ box will pop up. Type in, or copy and paste the words that pertain to the selected phrase (or phrases) that belong between the two timing marks. Press Ok to accept.
Repeat for as many phrases as you require or you can do one phrase at a time.
You can break down all the phrases into words by right clicking on the timing track to the left of the Papagayo icon and selecting the Breakdown Phrases option. This will breakdown all the phrases into words or you can do this in sections i.e. Highlight a phrase or group of phrases, right click and accept the Breakdown Phrase option.
A list of words will be generated for the phrase in a timing track, just below the phrase.
You can break down all the words into phonemes by right clicking on the Timing Track to the left of the Papagayo icon and selecting the Breakdown Words option. This will breakdown all the words into phonemes or you can do this in sections ie: highlight a group of words, right click and accept the Breakdown Word or Breakdown Selected Words option. If the Breakdown Selected Words option does not appear, ensure that your cursor is not pointing on a word, otherwise you may only see the Breakdown Word option.
Due to the loading of dictionaries, there could be a delay of several seconds the first time this is used in each session, while the first word is broken down.
A list of phonemes will be generated for the word or words phrase in a timing track, just below the word timing track.
Zoom in to see the words or phonemes more clearly. Drag the words to align them as required.
You also need to separately drag the phonemes to align them as required.
If you wish to regenerate a word or words, highlight the words, right click and select Breakdown Word or Breakdown Selected Words option.
Select and drag the Face effect to the sequence grid against the model (your Singing face model).
Ensure that the color selected on the color window is correct based on your model definition (White is the most common setting).
If the Timing track name (‘Lyrics1’) does not appear in the list of Timing Tracks, click on another effect and then return to the Face effect to force the list to be refreshed.
Using the Effects Setting window, under Mouth Movements, select the applicable Timing Track (‘Lyrics’). The face definition value will default to the one defined for the model.
You can also select ‘Show Outline’ which will activate the outline when the face effect is present and ‘Turn On/Off Eyes’, if you wish. Setting the eyes to Auto will cause the eyes to blink every few seconds when the rest phenome is on.
The timings should automatically appear against each mouth movement.
Repeat the process for the next phrase or group of phrases.
Similarly, repeat for the next Voice by selecting another model (‘Singing Face 2’), and the next Timing Track (‘Lyrics 2’). When you drop the Face effect on the sequence grid, select the second timing track (‘Lyrics 2’) as the Timing Track on the Effects option and proceed as described for Voice.
If you wish to assign a group of phrases/words/ phonemes from one Voice/timing Track to another, then against the model of the second voice (‘Singing face 2’), for the selected group of phrases (‘Chorus’), when you drop the Face effect, select the first timing track (‘Lyrics’) and the effects from that timing track will be duplicated.
This step will help eliminate any words that xLights may not have in its library.
As you breakdown words in xLights, occasionally you may see that there is no phonetic breakdown of the word placed in the timing track. As shown below.
As you can see there is no pink phonemes below the work ‘honkey’. This means that the word is not in the xLights work dictionary. To manually add word breakdowns, Use the User Library Dialog located in the Tools Menu.
This section describes how you can import a Papagayo (.PGO) file into xLights as a timing track, so as to integrate it with xLights functionality and accordingly be able to edit and adjust it.
On the sequencer tab , after creating a new musical sequence or opening an existing musical sequence, right click on the Timing name and select Import Timing Track. Browse to the location of the Papagayo pgo file and select the file.
Specify the number of frames to offset the data by. Due to a performance limitation in the Papagayo software, a sequence often had to be broken up into segments. In which case the second segment had to be offset by the number of frames of the first segment.
For the first segment being imported the offset is zero. Click on OK.
The Phrases, words and phonemes are imported and a timing track with the three components is created for each Voice contained in the PGO file. The phrases, words and phonemes can then be edited, moved and adjusted similar to one that had been created within xLights.
The following image shows a snippet of what the file contains. The 4th line contains the total number of frames and the 5th line has the number of Voices in the file, followed by the details for each voice.
Type
Use Case
Single Node
Coro Faces with LED Lights/Dumb RGB Nodes. i.e. 7/8 Channel LOR Faces
Node Ranges
Coro Faces with Smart RGB Pixels Faces i.e. Boscoyo Singing Faces
Matrix
Smart RGB Pixels/P5/P10 Matrices