Stream e.g. SID as MP3 audio stream

Return a mp3 stream of the specified tune. On the server side the emulator is started and streams the sound output back to the client. All parameters are used to specify emulation settings that should be used. Especially the MP3 parameters control the quality and size of the returned mp3 stream (vbr, cbr and vbrQuality). Using these parameter gives you the control about mobile phone transfer data volume and especially the costs that arise, if you stream over the internet using your specific mobile phone provider contract (as nobody has an unlimited flat rate these days). It is recommended to use less data volume with less precision (lower quality) for connections over the internet and higher data volume with more precision (higher quality) inside your private local network, e.g. WLAN connection.

I have implemented an example android app as a client for JSIDPlay2Server. My android app uses constant bitrate of 64K for the internet and variable bitrate and highest quality for my private WLAN. This is according to my recommendation above.

Example:

https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST/convert/C64Music/MUSICIANS/D/DRAX/Acid.sid?help=false&locale=&textToSpeechType=PICO2WAVE&download=false&reuSize=0&sfxSoundExpander=false&sfxSoundExpanderType=0&pressSpaceInterval=90&status=true&hls=true&hlsType=HLS_JS&sidRegFormat=APP&videoTuneAsAudio=false&audioTuneAsVideo=false&enableSidDatabase=true&startTime=0.0&defaultPlayLength=0.0&fadeInTime=0.0&fadeOutTime=0.0&loop=false&single=false&palEmulation=true&turboTape=true&jiffyDosInstalled=false&audio=SOUNDCARD&deviceIndex=0&samplingRate=MEDIUM&sampling=DECIMATE&mainVolume=0.0&secondVolume=0.0&thirdVolume=0.0&mainBalance=0.5&secondBalance=0.5&thirdBalance=0.5&mainDelay=0&secondDelay=0&thirdDelay=0&bufferSize=65536&audioBufferSize=16384&cbr=-1&vbr=false&vbrQuality=5&audioCoderBitRate=128000&audioCoderBitRateTolerance=64000&videoCoderNumPicturesInGroupOfPictures=12&videoCoderBitRate=600000&videoCoderBitRateTolerance=300000&videoCoderGlobalQuality=0&videoCoderPreset=HQ&videoCoderAudioDelay=0&delayBypass=true&delay=10&delayWetLevel=70&delayDryLevel=70&delayFeedbackLevel=10&reverbBypass=true&reverbComb1Delay=29.7&reverbComb2Delay=37.1&reverbComb3Delay=41.1&reverbComb4Delay=43.7&reverbAllPass1Delay=5.0&reverbAllPass2Delay=1.7&reverbSustainDelay=500.0&reverbDryWetMix=0.25&engine=EMULATION&defaultEmulation=RESIDFP&forceEmulation=DEFAULT&forceStereoEmulation=DEFAULT&forceThirdEmulation=DEFAULT&defaultClockSpeed=PAL&userClockSpeed=AUTO&defaultSidModel=MOS8580&userSidModel=AUTO&forceStereoModel=AUTO&forceThirdModel=AUTO&hardSid6581=0&hardSid8580=1&sidBlasterRead=false&sidBlasterLatencyTimer=2&exsidFakeStereo=true&NetSIDDevHost=127.0.0.1&NetSIDDevPort=6581&ultimate64Mode=OFF&Ultimate64Host=127.0.0.1&Ultimate64Port=64&Ultimate64SyncDelay=720&disableFilter=true&disableStereoFilter=true&disable3rdSidFilter=true&sidToRead=FIRST_SID&digiBoosted8580=false&dualSIDBase=54304&thirdSIDBase=54336&fakeStereo=false&forceStereoTune=false&force3SIDTune=false&muteVoice1=false&muteVoice2=false&muteVoice3=false&muteVoice4=false&muteStereoVoice1=false&muteStereoVoice2=false&muteStereoVoice3=false&muteStereoVoice4=false&muteThirdSidVoice1=false&muteThirdSidVoice2=false&muteThirdSidVoice3=false&muteThirdSidVoice4=false&filter6581=FilterAverage6581&stereoFilter6581=FilterAverage6581&thirdSIDFilter6581=FilterAverage6581&filter8580=FilterAverage8580&stereoFilter8580=FilterAverage8580&thirdSIDFilter8580=FilterAverage8580&reSIDfpFilter6581=FilterAlankila6581R4AR_3789&reSIDfpStereoFilter6581=FilterAlankila6581R4AR_3789&reSIDfpThirdSIDFilter6581=FilterAlankila6581R4AR_3789&reSIDfpFilter8580=FilterTrurl8580R5_3691&reSIDfpStereoFilter8580=FilterTrurl8580R5_3691&reSIDfpThirdSIDFilter8580=FilterTrurl8580R5_3691&detectPSID64ChipModel=true&whatsSIDEnable=true&whatsSIDUrl=https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST&whatsSIDUsername=jsidplay2&whatsSIDPassword=%2A%2A%2A%2A%2A%2A%2A%2A&whatsSIDConnectionTimeout=5000&whatsSIDCaptureTime=15&whatsSIDMatchStartTime=15&whatsSIDMatchRetryTime=15&whatsSIDMinimumRelativeConfidence=4.5&whatsSIDDetectChipModel=false

Stream e.g. D64 as RTMP video stream

Return a live stream of the specified demo. On the server side the emulator is started and streams the video output back to the client. All parameters are used to specify emulation settings that should be used.

Note: I will not take responsability for any costs, that arise from streaming sound or video files from the internet!

Info: All Parameter names match exactly the command line parameter names of the console player in gnu style (prepended by --). For example defaultLength=180 sets the default song length.

Info: The audio parameter let you choose AVI as an alternative, but beware of a much bigger file size.

Example:

https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST/convert/C64Music/10_Years_HVSC_1.d64?help=false&locale=&textToSpeechType=PICO2WAVE&download=false&reuSize=0&sfxSoundExpander=false&sfxSoundExpanderType=0&pressSpaceInterval=90&status=true&hls=true&hlsType=HLS_JS&sidRegFormat=APP&videoTuneAsAudio=false&audioTuneAsVideo=false&enableSidDatabase=true&startTime=0.0&defaultPlayLength=0.0&fadeInTime=0.0&fadeOutTime=0.0&loop=false&single=false&palEmulation=true&turboTape=true&jiffyDosInstalled=false&audio=SOUNDCARD&deviceIndex=0&samplingRate=MEDIUM&sampling=DECIMATE&mainVolume=0.0&secondVolume=0.0&thirdVolume=0.0&mainBalance=0.5&secondBalance=0.5&thirdBalance=0.5&mainDelay=0&secondDelay=0&thirdDelay=0&bufferSize=65536&audioBufferSize=16384&cbr=-1&vbr=false&vbrQuality=5&audioCoderBitRate=128000&audioCoderBitRateTolerance=64000&videoCoderNumPicturesInGroupOfPictures=12&videoCoderBitRate=600000&videoCoderBitRateTolerance=300000&videoCoderGlobalQuality=0&videoCoderPreset=HQ&videoCoderAudioDelay=0&delayBypass=true&delay=10&delayWetLevel=70&delayDryLevel=70&delayFeedbackLevel=10&reverbBypass=true&reverbComb1Delay=29.7&reverbComb2Delay=37.1&reverbComb3Delay=41.1&reverbComb4Delay=43.7&reverbAllPass1Delay=5.0&reverbAllPass2Delay=1.7&reverbSustainDelay=500.0&reverbDryWetMix=0.25&engine=EMULATION&defaultEmulation=RESIDFP&forceEmulation=DEFAULT&forceStereoEmulation=DEFAULT&forceThirdEmulation=DEFAULT&defaultClockSpeed=PAL&userClockSpeed=AUTO&defaultSidModel=MOS8580&userSidModel=AUTO&forceStereoModel=AUTO&forceThirdModel=AUTO&hardSid6581=0&hardSid8580=1&sidBlasterRead=false&sidBlasterLatencyTimer=2&exsidFakeStereo=true&NetSIDDevHost=127.0.0.1&NetSIDDevPort=6581&ultimate64Mode=OFF&Ultimate64Host=127.0.0.1&Ultimate64Port=64&Ultimate64SyncDelay=720&disableFilter=true&disableStereoFilter=true&disable3rdSidFilter=true&sidToRead=FIRST_SID&digiBoosted8580=false&dualSIDBase=54304&thirdSIDBase=54336&fakeStereo=false&forceStereoTune=false&force3SIDTune=false&muteVoice1=false&muteVoice2=false&muteVoice3=false&muteVoice4=false&muteStereoVoice1=false&muteStereoVoice2=false&muteStereoVoice3=false&muteStereoVoice4=false&muteThirdSidVoice1=false&muteThirdSidVoice2=false&muteThirdSidVoice3=false&muteThirdSidVoice4=false&filter6581=FilterAverage6581&stereoFilter6581=FilterAverage6581&thirdSIDFilter6581=FilterAverage6581&filter8580=FilterAverage8580&stereoFilter8580=FilterAverage8580&thirdSIDFilter8580=FilterAverage8580&reSIDfpFilter6581=FilterAlankila6581R4AR_3789&reSIDfpStereoFilter6581=FilterAlankila6581R4AR_3789&reSIDfpThirdSIDFilter6581=FilterAlankila6581R4AR_3789&reSIDfpFilter8580=FilterTrurl8580R5_3691&reSIDfpStereoFilter8580=FilterTrurl8580R5_3691&reSIDfpThirdSIDFilter8580=FilterTrurl8580R5_3691&detectPSID64ChipModel=true&whatsSIDEnable=true&whatsSIDUrl=https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST&whatsSIDUsername=jsidplay2&whatsSIDPassword=%2A%2A%2A%2A%2A%2A%2A%2A&whatsSIDConnectionTimeout=5000&whatsSIDCaptureTime=15&whatsSIDMatchStartTime=15&whatsSIDMatchRetryTime=15&whatsSIDMinimumRelativeConfidence=4.5&whatsSIDDetectChipModel=false

Get number of log messages

Get number of log messages of JSIDPlay2Server filtered by the given parameters.

Example:

Get directory contents containing music collections

You can access any sub-directory of your music collection to navigate to the tunes you want to play on the client side. HVSC music collection root path starts with "/C64Music/" and CGSC music collection starts with "/CGSC/". Please append any sub-directory behind that root path to get the desired directory contents. Directory type entries are appended by a slash, whereas file type entries like tunes ends with their file extensions. To each directory contents a parent folder entry will be added appended by "../". Following that directory entry, you can easily navigate back to the parent directory. Additionally you can specify a file extension filter using the parameter filter, e.g. ".*\\.(sid|dat|mus|str|p00|prg|d64|mp3|mp4)$"

You can add more collections by creating an external configuration file located in your home directory.

The file must be named: "directoryServlet.properties" and be readable on startup of the server.

Example:

/MP3=/media/nas1/mp3,true (1)
/Assembly64=/media/nas1/Ken/C64/C64 Assembly64,false
  1. Syntax is: "<localDirectoryNameInTheRequest>" = "<realDirectoryName>", "<adminRoleRequired>"

In the request above simply use the URL "/jsidplay2service/JSIDPlay2REST/directory/MP3" or "/jsidplay2service/JSIDPlay2REST/directory/Assembly64" to access your collections.

Note: Admin role can restrict access to collections to users with an admin role.

Example:

Get Directory of Disk

Return a list of directory entries of a C64 disk as PETSCII characters.

Example:

Download SID

Download a tune file of your music collection.

Example:

Get names of all favorites tab

Return a list of favorite names.

Example:

Get contents of a favorites tab

Return favorite tune files.

Note: The favorite names endpoint can be used to know how many favorites exist. And the favorites endpoint will fetch these. If this is called without a parameter, just the first favorites are fetched.

Example:

Get SID filter definitions

Note: SID filter names are prefixed with the emulation (RESID or RESIDFP) and the SID model (MOS6581 or MOS8580) and appended by their name, e.g. RESID_MOS8580_FilterAverage8580, That way filters can be grouped or sorted on the client side.

Example:

Get log message list

Return a list of log messages of JSIDPlay2Server filtered by the given parameters.

Example:

Get photo of composer

Request a photo of a well-known tune composer to be displayed.

Example:

Create QR Code for url

Create QR Code for URL in the format specified by the parameters.

Example:

Get random HVSC SID tune

Get random HVSC SID tune of HVSC collection.

Example:

Get SID tune information list (STIL)

Return a list of information of the specified tune file.

Example:

Get SID tune’s current song length

Get song length (from song length database) of a tune contained in your HVSC music collection.

Example:

SpeechToText recognition

SpeechToText recognition. Upload s16le samples continuously and get back text result.

Example:

Get VUE demo pages or web resources

Load VUE demo pages or web resources into your web client.

Example:

https://haendel.ddns.net:8443/static/c64jukebox.vue?help=false&teavmFormat=WASM_GC&maxDirectories=25&sleepTime=3&enableSidDatabase=true&startTime=0.0&defaultPlayLength=0.0&fadeInTime=0.0&fadeOutTime=0.0&loop=false&single=false&palEmulation=true&turboTape=true&jiffyDosInstalled=false&audio=SOUNDCARD&deviceIndex=0&samplingRate=MEDIUM&sampling=DECIMATE&mainVolume=0.0&secondVolume=0.0&thirdVolume=0.0&mainBalance=0.5&secondBalance=0.5&thirdBalance=0.5&mainDelay=0&secondDelay=0&thirdDelay=0&bufferSize=65536&audioBufferSize=16384&cbr=-1&vbr=false&vbrQuality=5&audioCoderBitRate=128000&audioCoderBitRateTolerance=64000&videoCoderNumPicturesInGroupOfPictures=12&videoCoderBitRate=600000&videoCoderBitRateTolerance=300000&videoCoderGlobalQuality=0&videoCoderPreset=HQ&videoCoderAudioDelay=0&delayBypass=true&delay=10&delayWetLevel=70&delayDryLevel=70&delayFeedbackLevel=10&reverbBypass=true&reverbComb1Delay=29.7&reverbComb2Delay=37.1&reverbComb3Delay=41.1&reverbComb4Delay=43.7&reverbAllPass1Delay=5.0&reverbAllPass2Delay=1.7&reverbSustainDelay=500.0&reverbDryWetMix=0.25&engine=EMULATION&defaultEmulation=RESIDFP&forceEmulation=DEFAULT&forceStereoEmulation=DEFAULT&forceThirdEmulation=DEFAULT&defaultClockSpeed=PAL&userClockSpeed=AUTO&defaultSidModel=MOS8580&userSidModel=AUTO&forceStereoModel=AUTO&forceThirdModel=AUTO&hardSid6581=0&hardSid8580=1&sidBlasterRead=false&sidBlasterLatencyTimer=2&exsidFakeStereo=true&NetSIDDevHost=127.0.0.1&NetSIDDevPort=6581&ultimate64Mode=OFF&Ultimate64Host=127.0.0.1&Ultimate64Port=64&Ultimate64SyncDelay=720&disableFilter=true&disableStereoFilter=true&disable3rdSidFilter=true&sidToRead=FIRST_SID&digiBoosted8580=false&dualSIDBase=54304&thirdSIDBase=54336&fakeStereo=false&forceStereoTune=false&force3SIDTune=false&muteVoice1=false&muteVoice2=false&muteVoice3=false&muteVoice4=false&muteStereoVoice1=false&muteStereoVoice2=false&muteStereoVoice3=false&muteStereoVoice4=false&muteThirdSidVoice1=false&muteThirdSidVoice2=false&muteThirdSidVoice3=false&muteThirdSidVoice4=false&filter6581=FilterAverage6581&stereoFilter6581=FilterAverage6581&thirdSIDFilter6581=FilterAverage6581&filter8580=FilterAverage8580&stereoFilter8580=FilterAverage8580&thirdSIDFilter8580=FilterAverage8580&reSIDfpFilter6581=FilterAlankila6581R4AR_3789&reSIDfpStereoFilter6581=FilterAlankila6581R4AR_3789&reSIDfpThirdSIDFilter6581=FilterAlankila6581R4AR_3789&reSIDfpFilter8580=FilterTrurl8580R5_3691&reSIDfpStereoFilter8580=FilterTrurl8580R5_3691&reSIDfpThirdSIDFilter8580=FilterTrurl8580R5_3691&detectPSID64ChipModel=true&whatsSIDEnable=true&whatsSIDUrl=https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST&whatsSIDUsername=jsidplay2&whatsSIDPassword=%2A%2A%2A%2A%2A%2A%2A%2A&whatsSIDConnectionTimeout=5000&whatsSIDCaptureTime=15&whatsSIDMatchStartTime=15&whatsSIDMatchRetryTime=15&whatsSIDMinimumRelativeConfidence=4.5&whatsSIDDetectChipModel=false

Get SID tune infos

Return a list of properties contained in the specified tune file.

Example:

Upload any C64 content to play it back

Upload C64 content to JSIDPlay2Server, to play-back in the next step using the returned server path.

Example:

Get web jars

Load web jars into your web client.

Example:

Keep alive video stream

Ping JSIDPlay2Server periodically, showing that the video is still watched.

Example:

This serves as kind of a proxy

This serves as kind of a proxy to make internal HTTP requests of HLS protocol through HTTPS to avoid mixed content in the browser.

Example:

Insert next cart for emulator running as a RTMP live video stream

Insert next cart for a Player running as a RTMP live video stream.

Example:

Insert next disk for emulator running as a RTMP live video stream

Insert next disk for emulator running as a RTMP live video stream.

Example:

Press joystick 1/2 for emulator running as a RTMP live video stream

Press joystick 1/2 for emulator running as a RTMP live video stream.

Example:

Stop play video stream. Implements RTMP directive on_play_done configured in nginx.conf

Stop play video stream. Implements RTMP directive on_play_done configured in nginx.conf.

Example:

Play video stream. Implements RTMP directive on_play configured in nginx.conf

Play video stream. Implements RTMP directive on_play configured in nginx.conf.

Example:

Press key for emulator running as a RTMP live video stream

Press key for emulator running as a RTMP live video stream.

Example:

Set default emulation to RESIDFP for emulator running as a RTMP live video stream

Set default emulation to RESIDFP for emulator running as a RTMP live video stream.

Example:

Set default emulation to RESID for emulator running as a RTMP live video stream

Set default emulation to RESID for emulator running as a RTMP live video stream.

Example:

Set default chip model to MOS6581 for emulator running as a RTMP live video stream

Set default chip model to MOS6581 for emulator running as a RTMP live video stream.

Example:

Set default chip model to MOS8580 for emulator running as a RTMP live video stream

Set default chip model to MOS8580 for emulator running as a RTMP live video stream.

Example:

Get ExSID(+) SID hardware mapping information

Get ExSID(+) SID mapping information. It contains which device to be used for a specific SID base address.

Example:

https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST/exsid-mapping/C64Music/MUSICIANS/D/DRAX/Acid.sid?help=false&engine=EMULATION&defaultEmulation=RESIDFP&forceEmulation=DEFAULT&forceStereoEmulation=DEFAULT&forceThirdEmulation=DEFAULT&defaultClockSpeed=PAL&userClockSpeed=AUTO&defaultSidModel=MOS8580&userSidModel=AUTO&forceStereoModel=AUTO&forceThirdModel=AUTO&hardSid6581=0&hardSid8580=1&sidBlasterRead=false&sidBlasterLatencyTimer=2&exsidFakeStereo=true&NetSIDDevHost=127.0.0.1&NetSIDDevPort=6581&ultimate64Mode=OFF&Ultimate64Host=127.0.0.1&Ultimate64Port=64&Ultimate64SyncDelay=720&disableFilter=true&disableStereoFilter=true&disable3rdSidFilter=true&sidToRead=FIRST_SID&digiBoosted8580=false&dualSIDBase=54304&thirdSIDBase=54336&fakeStereo=false&forceStereoTune=false&force3SIDTune=false&muteVoice1=false&muteVoice2=false&muteVoice3=false&muteVoice4=false&muteStereoVoice1=false&muteStereoVoice2=false&muteStereoVoice3=false&muteStereoVoice4=false&muteThirdSidVoice1=false&muteThirdSidVoice2=false&muteThirdSidVoice3=false&muteThirdSidVoice4=false&filter6581=FilterAverage6581&stereoFilter6581=FilterAverage6581&thirdSIDFilter6581=FilterAverage6581&filter8580=FilterAverage8580&stereoFilter8580=FilterAverage8580&thirdSIDFilter8580=FilterAverage8580&reSIDfpFilter6581=FilterAlankila6581R4AR_3789&reSIDfpStereoFilter6581=FilterAlankila6581R4AR_3789&reSIDfpThirdSIDFilter6581=FilterAlankila6581R4AR_3789&reSIDfpFilter8580=FilterTrurl8580R5_3691&reSIDfpStereoFilter8580=FilterTrurl8580R5_3691&reSIDfpThirdSIDFilter8580=FilterTrurl8580R5_3691&detectPSID64ChipModel=true

Get HardSID 4U, HardSID UPlay and HardSID Uno SID mapping information

Get HardSID 4U, HardSID UPlay and HardSID Uno SID mapping information. It contains which device to be used for a specific SID base address.

Example:

https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST/hardsid-mapping/C64Music/MUSICIANS/D/DRAX/Acid.sid?help=false&chipCount=1&engine=EMULATION&defaultEmulation=RESIDFP&forceEmulation=DEFAULT&forceStereoEmulation=DEFAULT&forceThirdEmulation=DEFAULT&defaultClockSpeed=PAL&userClockSpeed=AUTO&defaultSidModel=MOS8580&userSidModel=AUTO&forceStereoModel=AUTO&forceThirdModel=AUTO&hardSid6581=0&hardSid8580=1&sidBlasterRead=false&sidBlasterLatencyTimer=2&exsidFakeStereo=true&NetSIDDevHost=127.0.0.1&NetSIDDevPort=6581&ultimate64Mode=OFF&Ultimate64Host=127.0.0.1&Ultimate64Port=64&Ultimate64SyncDelay=720&disableFilter=true&disableStereoFilter=true&disable3rdSidFilter=true&sidToRead=FIRST_SID&digiBoosted8580=false&dualSIDBase=54304&thirdSIDBase=54336&fakeStereo=false&forceStereoTune=false&force3SIDTune=false&muteVoice1=false&muteVoice2=false&muteVoice3=false&muteVoice4=false&muteStereoVoice1=false&muteStereoVoice2=false&muteStereoVoice3=false&muteStereoVoice4=false&muteThirdSidVoice1=false&muteThirdSidVoice2=false&muteThirdSidVoice3=false&muteThirdSidVoice4=false&filter6581=FilterAverage6581&stereoFilter6581=FilterAverage6581&thirdSIDFilter6581=FilterAverage6581&filter8580=FilterAverage8580&stereoFilter8580=FilterAverage8580&thirdSIDFilter8580=FilterAverage8580&reSIDfpFilter6581=FilterAlankila6581R4AR_3789&reSIDfpStereoFilter6581=FilterAlankila6581R4AR_3789&reSIDfpThirdSIDFilter6581=FilterAlankila6581R4AR_3789&reSIDfpFilter8580=FilterTrurl8580R5_3691&reSIDfpStereoFilter8580=FilterTrurl8580R5_3691&reSIDfpThirdSIDFilter8580=FilterTrurl8580R5_3691&detectPSID64ChipModel=true

Get SIDBlaster SID mapping information

Get SIDBlaster SID mapping information. It contains which device to be used for a specific SID base address.

Example:

https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST/sidblaster-mapping/C64Music/MUSICIANS/D/DRAX/Acid.sid?help=false&engine=EMULATION&defaultEmulation=RESIDFP&forceEmulation=DEFAULT&forceStereoEmulation=DEFAULT&forceThirdEmulation=DEFAULT&defaultClockSpeed=PAL&userClockSpeed=AUTO&defaultSidModel=MOS8580&userSidModel=AUTO&forceStereoModel=AUTO&forceThirdModel=AUTO&hardSid6581=0&hardSid8580=1&sidBlasterRead=false&sidBlasterLatencyTimer=2&exsidFakeStereo=true&NetSIDDevHost=127.0.0.1&NetSIDDevPort=6581&ultimate64Mode=OFF&Ultimate64Host=127.0.0.1&Ultimate64Port=64&Ultimate64SyncDelay=720&disableFilter=true&disableStereoFilter=true&disable3rdSidFilter=true&sidToRead=FIRST_SID&digiBoosted8580=false&dualSIDBase=54304&thirdSIDBase=54336&fakeStereo=false&forceStereoTune=false&force3SIDTune=false&muteVoice1=false&muteVoice2=false&muteVoice3=false&muteVoice4=false&muteStereoVoice1=false&muteStereoVoice2=false&muteStereoVoice3=false&muteStereoVoice4=false&muteThirdSidVoice1=false&muteThirdSidVoice2=false&muteThirdSidVoice3=false&muteThirdSidVoice4=false&filter6581=FilterAverage6581&stereoFilter6581=FilterAverage6581&thirdSIDFilter6581=FilterAverage6581&filter8580=FilterAverage8580&stereoFilter8580=FilterAverage8580&thirdSIDFilter8580=FilterAverage8580&reSIDfpFilter6581=FilterAlankila6581R4AR_3789&reSIDfpStereoFilter6581=FilterAlankila6581R4AR_3789&reSIDfpThirdSIDFilter6581=FilterAlankila6581R4AR_3789&reSIDfpFilter8580=FilterTrurl8580R5_3691&reSIDfpStereoFilter8580=FilterTrurl8580R5_3691&reSIDfpThirdSIDFilter8580=FilterTrurl8580R5_3691&detectPSID64ChipModel=true

Get USBSID-Pico SID mapping information

Get USBSID-Pico SID mapping information. It contains which device to be used for a specific SID base address.

Example:

https://haendel.ddns.net:8443/jsidplay2service/JSIDPlay2REST/usbsid-mapping/C64Music/MUSICIANS/D/DRAX/Acid.sid?help=false&engine=EMULATION&defaultEmulation=RESIDFP&forceEmulation=DEFAULT&forceStereoEmulation=DEFAULT&forceThirdEmulation=DEFAULT&defaultClockSpeed=PAL&userClockSpeed=AUTO&defaultSidModel=MOS8580&userSidModel=AUTO&forceStereoModel=AUTO&forceThirdModel=AUTO&hardSid6581=0&hardSid8580=1&sidBlasterRead=false&sidBlasterLatencyTimer=2&exsidFakeStereo=true&NetSIDDevHost=127.0.0.1&NetSIDDevPort=6581&ultimate64Mode=OFF&Ultimate64Host=127.0.0.1&Ultimate64Port=64&Ultimate64SyncDelay=720&disableFilter=true&disableStereoFilter=true&disable3rdSidFilter=true&sidToRead=FIRST_SID&digiBoosted8580=false&dualSIDBase=54304&thirdSIDBase=54336&fakeStereo=false&forceStereoTune=false&force3SIDTune=false&muteVoice1=false&muteVoice2=false&muteVoice3=false&muteVoice4=false&muteStereoVoice1=false&muteStereoVoice2=false&muteStereoVoice3=false&muteStereoVoice4=false&muteThirdSidVoice1=false&muteThirdSidVoice2=false&muteThirdSidVoice3=false&muteThirdSidVoice4=false&filter6581=FilterAverage6581&stereoFilter6581=FilterAverage6581&thirdSIDFilter6581=FilterAverage6581&filter8580=FilterAverage8580&stereoFilter8580=FilterAverage8580&thirdSIDFilter8580=FilterAverage8580&reSIDfpFilter6581=FilterAlankila6581R4AR_3789&reSIDfpStereoFilter6581=FilterAlankila6581R4AR_3789&reSIDfpThirdSIDFilter6581=FilterAlankila6581R4AR_3789&reSIDfpFilter8580=FilterTrurl8580R5_3691&reSIDfpStereoFilter8580=FilterTrurl8580R5_3691&reSIDfpThirdSIDFilter8580=FilterTrurl8580R5_3691&detectPSID64ChipModel=true

Upload WAV for tune recognition

Info: This service method does only work, if server has been started with additional WhatsSID database parameters.

This is a request to upload a WAV recording (short audio recording max. 20 seconds should be enough).

The WAV file must meet the following requirement:

  • Sample size must be 16 bits

  • encoding must be signed (one short per sample -32768..32767)

  • expected endianess is little endian

You are flexible to send:

  • mono or stereo

  • sampling frequencies 8KHz, 44.1KHz, 48KHz or 96KHz (but please use 8KHz to reduce size of the request)

The resulting MusicInfo consists of HVSC entries title, author and release mapped to title, artist and album fields. InfoDir is the path within the HVSC.

Note: The confidence level in the response gives you an idea of how certain the tune has been identified. The bigger the better.

Example: