Karaoke Hoster V5 by Donald Dwane Ross
ddwaner@gmail.com
Website for upgrades is http://ddwaner.synology.me/wordpress/
Karaoke Hoster V5 screenshots at http://ddwaner.synology.me/piwigo/

Written in Gamabas 3.12.2 on RPI 4B Buster OS (64bit)
Tested with RPI 4G & 8G models.
Hard Drive is a 120GB M.2 SSD in a Argon Case with SSD connected thru USB3.
Read Rate at 353.2 MB/s
External Screen tests were with Apache2 & Nginx.
File Servers tested were Synology DSM 4.2 & 7.1.
Tested with HDMI audio and Analog audio outs.
Tested with 1 & 2 screens active.

IMPORTANT! Karaoke song files should be UnZip'd in mp3 and cdg format. Zip'd files CAN be used.

Player Formats are zip (Assumed encapsulated files of 1,.mp3 & 1,.cdg file), Other files formats are, mpg, dat (VideoCD), mp3, MP3+G, wav, mp4, avi, m4v, mkv & webm.

Pitch adjustments are +&- 8 and are software rendered. No changing pitch on a song while playing!

Program Extra's required are in the GetRequirements.sh file which can be ran for install. The Program and environment will be for the most part a Zip file to be extracted with path's ON! All directory's will be set up and some test files are included. With a working Program & Requirements and the Directory's built from zip enter * in the search box and Press return or press the Search button for a list of included player files.
Other includes will be some short sound samples and background screens.

Search's are 10 Minimum to 500 Maximum. Keep search values to a minimum, if you spell campbell, cambell you will get no accurate results. Just type cam and other parts you know are correct seperated by a space. More words qualify for more minimized and more spacific answers. Program upgrades will be about 1 per month and will run for 3 months FREE! Free mode limitations are 10000 songs Internal and 10000 songs External.

The Grids are rows and columns. The mouse over a column in a row may trigger tool tip information or be used for changing values. With songs scheduled and the rendering engine finished on the left column, left mouse single click moves the selection toward autoplay. Right mouse moves away from autoplay. After a search to add a song to a singers list, left single click the singers name then move to the song on the search grid and double click it. It should appear at the bottom of the singer's songs list, for pitch changing, name editing and sync adjustments, and from there a double click on the song moves it to the scheduler. If NO singer is selected the song will go to the scheduler grid at the lowest unused position. Pitch and sync adjustments on the singers songs grid are single left & right mouse on the column and row for the song.
On the external player screen a double click on the top border selects full screen and back to window'd. When the Remote DB Builder builds a quick file, it will have to be manually loaded after the build. If your filenames are NOT pristine in format and pattern'd, a single click on the search line may result in better ATC (Artist, Title, Composer) values as the click extract's the tag information in the mp3 file line selected if available. On the Scheduler, after ALL rendering is finised a song can be removed by selecting the line and press delete. On occasion a song can be removed if it is in CkExist state.

Donations at "PayPal RC Adapters & Stuff" helpful. Out of work for 2 years age 60+ and enjoy programming & Karaoke. Proven donations will be available and key transfer will set Max files for both modes at 500000 and change External DB from 1 to 10 to be used 1 at a time.
All Donations are final with no return.

As of now the program MUST be ran from the OS drive in which the program will work out of the KaraokeV5 directory. The program's operating environment should NOT be from a external flash drive (most are slow anyway). Song files may be about anywhere. Maximum song file length is about 30 minutes. Even the longest songs are only about 15. Interlude is background music selections and are NOT considered in singing
rotation, best used between singers for some music while the singer is getting ready, that will help to prerender. If only playing a song with NO screens the preloader will load fast.

Here is a configuration that I found really helps a RPI 4B running on a internal Micro SD. In your home directory create a file KaraokeHosterV5ScratchPadDirectoryLocation.csv, (The file can also be hidden) and place on the first line the location of your KaraokeV5 files (Full Path). Point to a external USB3 drive plugged into one of the blue plugs, either a ssd or m.2 (Old Style spinning HD are also Ok), in a USB3 case and let the program build and play from there, your Local DB can also be there, I use a 120GB SSD when programming.

Background and Quick samples playback are set with a slider and are nearly unlimited. The clock will speak the time of day with a double click. AP On sets files added to the scheduler from singers, search and hot load to autoplay yes every add. On the autoplay line a autoplay yes will continue to the next song at the end of the last playing song. A No on autoplay line stops to wait for a yes no matter if the lower event positons are yes.

In singer rotation add new singers to your singers list. Every singer will will be there that has sang that has been entered. Clear order availability and choose which singers will be singing, choose them in the order of rotation you want. The singers list on the main form will show selected singers in order of rotation and a double click on the singer will show past songs they have sang with pitch changes and sync adjustable. Artists and Song Names can be edited and changed for better understanding by double clicking Sang#. Relinking is available by SINGLE click on on the Song Name, a relink button will appear if NOT playing video. A test for existance of the file path is on a button press, red is BAD. If a singer has a long list the search box will highlight a matching entry in maginta. Empty the search box and press return to clear the colors. Double click the Song Name to add the song to the scheduler.

I found from the OS file manager single click right click on KaraokeHosterV5 and open in terminal. Enter dir, on a line type su GetRequirements.sh. (The GetRequirements.sh needs to be exicutable if its not) The system will get the requirements from the repositories. You can also do them manually. The file is readable to see whats being added if not there.

A RPI(Raspberry Pi) made program time events tough, running on Ubuntu 22.04 (or Higher) with a faster machine may help a lot. My tests show a noticeable improvement.

Donald Dwane Ross
ddwaner@gmail.com
http://ddwaner.synology.me

Lower left is my WordPress website which will have program upgrades.


