REST-API · OpenAPI 3.1 · MCP-server
API voor ontwikkelaars
Zet bestanden, links en tekst om in akkoorden en songteksten, en lees en vul je songbook vanuit een script of een assistent.
- Gratis niveau
- Dezelfde engine als de app
- Officiële MCP-server
Wat de API kan
Elke mogelijkheid wordt ontgrendeld door een scope die je aanvinkt bij het maken van je sleutel.
Conversie
Audio, pdf, afbeeldingen, tekst of een link naar songbook, pdf, MIDI, MusicXML en meer.
Privé-songbook
Je nummers en playlists opvragen, lezen, aanmaken, bewerken en ordenen.
Openbare profielen
Alleen lezen: profielen, gepubliceerde nummers, volgers. Geen audiospoor.
Stemscheiding
Een conversie (output=stems) scheidt zang en begeleiding; de tool /stem-tool splitst in twee of vier sporen. Met een API-sleutel vereisen beide een Premium-account.
Audiowachtrij
Akkoord- en tekstanalyse in dezelfde wachtrij als de app.
AI-muziekdetectie
Een aanwijzing voor AI-generatie bij een bestand, een Spotify-link, een directe audiolink of een ISRC.
Limieten, quota en privacy
AI-muziek komt steeds vaker voor. Jam Jam helpt je aanwijzingen te vinden: plak een link of upload een bestand voor een indicatieve uitslag.
Max. 100 MB · Max. 10 min · Spotify, directe audiolink of ISRC. YouTube wordt niet ondersteund. Spotify-links worden mogelijk alleen op basis van een fragment geanalyseerd.
Eén wachtend of actief bestand per account. Premium-accounts krijgen voorrang in de wachtrij.
Bezoeker: 2 scans/dag en 5/maand. Gratis account: 5/dag en 50/maand. Premium: 30/dag en 300/maand. Gedeelde limieten voor site, app en API; mislukte scans tellen niet. Reset om middernacht UTC en op de eerste dag van de maand UTC.
Audio wordt voor analyse naar onze aanbieder SH Labs gestuurd. Die zegt geen audio te bewaren of voor modeltraining te gebruiken. Bij uitval kan een bestand lokaal worden geanalyseerd als de reservedienst beschikbaar is. Tijdelijke bestanden worden na verwerking, fout of annulering verwijderd. Je account bewaart naam of link, datum, status en resultaat 90 dagen; gastresultaten 24 uur. Gastlimieten gebruiken een token en gepseudonimiseerde netwerkcode, zonder het IP-adres onversleuteld te bewaren.
Deze index is geen kansberekening of bewijs. Een lage index garandeert geen menselijke oorsprong.
Ontdek de toolOndersteunde formaten
De volledige, actuele lijst, met exacte limieten en wat deze server daadwerkelijk levert, staat altijd op GET /formats. Kort samengevat:
Invoerformaten
- Audio- en videobestanden
- Pdf: akkoorden, teksten, bladmuziek, tabulatuur, gescand songbook
- Afbeeldingen: akkoorden, teksten, bladmuziek, tabulatuur
- Platte tekst, ChordPro, OnSong
- Links en zoeken op het web (page-link, web-search)
- MusicXML, MIDI
- JamSong, gemengde .zip, songbook (pivot)
Uitvoerformaten
- Songbook (JSON-pivot, altijd beschikbaar)
- Pdf: akkoorden, teksten, bladmuziek, tabulatuur, raster
- PNG, HTML, platte tekst, ChordPro
- chords-lab, chords-csv, toonsoort en BPM
- MusicXML, MIDI (Premium)
- Gesynchroniseerde teksten: .lrc, .srt
- Karaokevideo (.mp4), begeleidingsaudio, JamSong
In vier stappen aan de slag
Conversie is asynchroon: indienen, volgen, ophalen.
-
Sleutel maken
Instellingen › API-sleutels. Prefix
Beheer mijn API-sleutelsjj_live_, één keer getoond, 5 sleutels per account, intrekbaar. -
Indienen
Een bestand, een URL of tekst, met het gewenste uitvoerformaat.
POST /jobs -
Volgen
Poll met inachtneming van
Retry-After, of open een Server-Sent Events-stream.GET /jobs/{id}GET /jobs/{id}/events -
Ophalen
Het resultaat blijft 24 uur beschikbaar, daarna 410 Gone.
GET /jobs/{id}/result
Voorbeelden
Volledige aanroepen, klaar om zo te kopiëren.
De formaten opvragen die deze server levertcurl
curl https://jam-jam.org/api/v1/formatsEen bestand omzetten naar pdfcurl
curl -X POST https://jam-jam.org/api/v1/jobs \
-H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
-F [email protected] \
-F inputFormat=pdf-songbook \
-F output=pdf-songbookEen URL omzetten naar een songbookcurl
curl -X POST https://jam-jam.org/api/v1/jobs \
-H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/tabs/amazing-grace", "output": "songbook"}'Voortgang volgen (SSE of polling)curl
# Server-Sent Events
curl -N -H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
https://jam-jam.org/api/v1/jobs/jb_123/events
# Polling
curl -H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
https://jam-jam.org/api/v1/jobs/jb_123Het resultaat downloadencurl
curl -H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
-OJ https://jam-jam.org/api/v1/jobs/jb_123/resultPython (requests)python
import time
import requests
API = "https://jam-jam.org/api/v1"
HEADERS = {"Authorization": "Bearer jj_live_xxxxxxxxxxxxxxxx"}
# 1. Discover formats
formats = requests.get(f"{API}/formats").json()
# 2. Submit a conversion
resp = requests.post(
f"{API}/jobs",
headers=HEADERS,
json={"url": "https://example.com/tabs/amazing-grace", "output": "songbook"},
)
resp.raise_for_status()
job = resp.json()
# 3. Poll until done (or use GET /jobs/{id}/events for SSE)
while job["phase"] not in ("done", "failed", "cancelled"):
time.sleep(job.get("etaS", 2))
job = requests.get(f"{API}/jobs/{job['id']}", headers=HEADERS).json()
# 4. Fetch the result
if job["phase"] == "done":
songbook = requests.get(f"{API}/jobs/{job['id']}/result/songbook", headers=HEADERS).json()
print(songbook["songs"][0]["title"])
else:
print("failed:", job.get("problem"))Een nummer analyseren met AI-muziekdetectiecurl
# Availability and remaining quota (no key needed)
curl https://jam-jam.org/api/v1/ai-music/availability
# Analyze a file
curl -X POST https://jam-jam.org/api/v1/ai-music/jobs \
-H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
-F "[email protected]"
# Analyze a Spotify link
curl -X POST https://jam-jam.org/api/v1/ai-music/jobs \
-H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"url":"https://open.spotify.com/track/2JUDGXTQYGQZrVVUgq40Ke"}'
# History, current analysis, one analysis
curl -H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
https://jam-jam.org/api/v1/ai-music/history
curl -H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
https://jam-jam.org/api/v1/ai-music/jobs
curl -H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
https://jam-jam.org/api/v1/ai-music/jobs/JOB_ID
# Cancel
curl -X DELETE -H "Authorization: Bearer jj_live_xxxxxxxxxxxxxxxx" \
https://jam-jam.org/api/v1/ai-music/jobs/JOB_IDCodevoorbeelden
Direct uitvoerbare voorbeelden in curl, JavaScript en Python, open source onder de MIT-licentie:
Assistenten en MCP
Een assistent leest het contract en bouwt zelf zijn aanroepen. De officiële MCP-server geeft hem 42 kant-en-klare tools.
Voor AI-agents
Lees eerst GET /openapi.json: het documenteert de aanbevolen aanroepvolgorde (formaten ontdekken, indienen, volgen, ophalen), authenticatie en quota in een x-agent-guide-blok dat bedoeld is om door een model te worden verwerkt. Het llms.txt op deze site vermeldt elke conversiemogelijkheid als eigen item.
MCP-server
Sleutel gelezen uit JAM_JAM_API_KEY: alleen de tools die de scopes toestaan verschijnen. Hij volgt niemand, liket niets en publiceert niets uit zichzelf.
In detail
Een officiële Model Context Protocol-server stelt de API aan een assistent beschikbaar als 42 tools met het voorvoegsel jj_: conversie van bestanden en tekst, lezen en ordenen van je privé-songbook, lezen van publieke profielen, stemscheiding, audioanalyse en wachtrij, detectie van AI-muziek en Mastering. Hij leest je API-sleutel uit de omgevingsvariabele JAM_JAM_API_KEY en toont alleen de tools die de scopes van die sleutel toestaan. Hij regelt polling, quotafouten en bestandsresultaten voor je, zodat een assistent zoals Claude Desktop, Claude Code of Cursor een bestand kan converteren of je songbook kan ordenen zonder dat jij HTTP-code hoeft te schrijven. Hij volgt nooit iemand, geeft geen likes en publiceert uit zichzelf geen nummer.
npx -y @jam-jam/convert-mcpPakketpagina op npm: npmjs.com/package/@jam-jam/convert-mcp
{
"mcpServers": {
"jam-jam": {
"command": "npx",
"args": ["-y", "@jam-jam/convert-mcp"],
"env": {
"JAM_JAM_API_KEY": "jj_live_xxxxxxxxxxxxxxxx"
}
}
}
}Tools en vereiste scopes 42
formaten, bestanden, tekst en jobstatus.
jj_list_formatsgeen scopejj_convert_fileconvert:writejj_convert_textconvert:writejj_get_jobconvert:read
wat de sleutel mag doen en hoeveel er nog over is.
jj_check_usage
nummers en afspeellijsten.
jj_list_songsjj_get_songjj_list_playlistsjj_get_playlist
nummers en afspeellijsten aanmaken, wijzigen en verwijderen.
jj_create_songjj_update_songjj_delete_songjj_create_playlistjj_update_playlistjj_delete_playlist
profielkaarten, gepubliceerde nummers en afspeellijsten, volgers en gevolgden.
jj_get_profilejj_list_profile_songsjj_list_profile_playlistsjj_list_followersjj_list_following
mogelijkheden, jobs en bestanden.
jj_stems_capabilitiesconvert:readjj_stems_separatestems:writejj_stems_get_jobconvert:readjj_stems_list_jobsconvert:readjj_stems_get_fileconvert:readjj_stems_cancel_jobstems:write
een bestand analyseren, jobs weergeven, lezen en annuleren.
jj_audio_analyzeaudio:writejj_queue_listqueue:readjj_queue_get_jobqueue:readjj_queue_cancel_jobaudio:write
beschikbaarheid, analyse, geschiedenis en jobs.
jj_ai_music_availabilityqueue:readjj_ai_music_analyzeaudio:writejj_ai_music_currentqueue:readjj_ai_music_get_jobqueue:readjj_ai_music_historyqueue:readjj_ai_music_cancel_jobaudio:write
mogelijkheden, presets, rendering, jobstatus en annulering.
jj_mastering_capabilitiesgeen scopejj_list_mastering_presetsmastering:readjj_create_mastering_presetmastering:writejj_master_audiomastering:writejj_mastering_get_jobmastering:readjj_mastering_cancel_jobmastering:write
Endpointreferentie
Alle aangeboden routes, per familie, met scope en quotum. Het volledige contract is leidend.
- Conversie (jobs) 6
- Formaten 1
- Gebruik en quota 1
- Songbook, lezen 4
- Songbook, schrijven 8
- Sociaal, alleen lezen 5
- Audiowachtrij en stems 4
- Stemscheiding 6
- Mastering 8
- AI-muziekdetectie 7
- Status en specificatie 2
Conversie (jobs) 6
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| POST | /jobsDien een conversie in: een bestand (multipart/form-data), een URL of platte tekst/ChordPro (application/json). Bij output=stems zijn ook de scope stems:write en een Premium-API-sleutel nodig, met een eigen quotum (200/UTC-dag). | convert:write | quotum: conversie |
| GET | /jobs/{id}Jobstatus (fase, percentage, stappen). Pollen met inachtneming van de Retry-After-header. | convert:read | quotum: geen |
| DELETE | /jobs/{id}Annuleert een job en verwijdert de bijbehorende bestanden; vergoedt het quotum alleen als de job nog in de wachtrij stond. | convert:write | quotum: geen |
| GET | /jobs/{id}/eventsAlternatief voor polling via Server-Sent Events: state-, done-, error- en keep-alive-ping-events. | convert:read | quotum: geen |
| GET | /jobs/{id}/resultDownload het belangrijkste artifact (of een specifiek via ?artifact=). Beschikbaar tot 24 uur na het aanmaken van de job. | convert:read | quotum: geen |
| GET | /jobs/{id}/result/songbookDe canonieke JSON-pivot van het songbook (akkoorden, songtekst, structuur), altijd beschikbaar zodra de job klaar is. | convert:read | quotum: geen |
Formaten 1
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| GET | /formatsRegister van de input/output-paren die deze server daadwerkelijk levert, met limieten (maxBytes, maxPages, maxDurationS). | publiek (geen sleutel nodig) | quotum: geen |
Gebruik en quota 1
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| GET | /me/usageJe quotasaldo (conversie, lezen, schrijven, stems) en de scopes die jouw identiteit daadwerkelijk kan uitoefenen, in één aanroep. | convert:read | quotum: geen |
Songbook, lezen 4
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| GET | /me/songsToont de nummers in je privésongbook, gepagineerd via een ondoorzichtige cursor; gebruik updatedSince voor een incrementele export. | carnet:read | quotum: lezen |
| GET | /me/songs/{songId}Eén volledig nummer uit je songbook, inclusief akkoorden, songtekst en structuur. | carnet:read | quotum: lezen |
| GET | /me/playlistsToont de afspeellijsten in je songbook, plat en met meervoudig lidmaatschap, dezelfde paginering als nummers. | carnet:read | quotum: lezen |
| GET | /me/playlists/{playlistId}Eén afspeellijst en de bijbehorende nummers, in volgorde, in samenvatting. | carnet:read | quotum: lezen |
Songbook, schrijven 8
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| POST | /me/songsVoegt een nummer toe aan je songbook, dezelfde pivot-payload die een conversie oplevert. Stel Idempotency-Key in om duplicaten te vermijden. | carnet:write | quotum: schrijven |
| PUT | /me/songs/{songId}Vervangt een nummer volledig (declaratief); maakt het aan onder dat id als het nog niet bestaat. | carnet:write | quotum: schrijven |
| PATCH | /me/songs/{songId}Werkt alleen de verzonden velden bij (toonsoort, kapo, bpm, playlistIds...); publiceert of depubliceert het nummer ook op je profiel. | carnet:write | quotum: schrijven |
| DELETE | /me/songs/{songId}Verwijdert een nummer uit je songbook; zacht, idempotent, en het verlaat ook elke afspeellijst. | carnet:write | quotum: schrijven |
| POST | /me/playlistsMaakt een afspeellijst aan; songIds is de geordende lijst van nummers die deze bevat, exact bewaard zoals verzonden. | carnet:write | quotum: schrijven |
| PUT | /me/playlists/{playlistId}Vervangt een afspeellijst volledig (declaratief); songIds is verplicht. | carnet:write | quotum: schrijven |
| PATCH | /me/playlists/{playlistId}Hernoemt, wijzigt de cover-emoji of herordent de nummers van een afspeellijst volledig. | carnet:write | quotum: schrijven |
| DELETE | /me/playlists/{playlistId}Verwijdert de afspeellijst zelf; de nummers blijven in je songbook en in hun andere afspeellijsten staan. | carnet:write | quotum: schrijven |
Sociaal, alleen lezen 5
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| GET | /users/{handle}Publieke profielheader van een account op basis van handle; een privéaccount dat je niet volgt levert een gesloten kaart op (geen bio, geen tellers). | social:read | quotum: lezen |
| GET | /users/{handle}/songsNummers die een account op zijn profiel heeft gepubliceerd; audioPlayable is alleen waar als jullie elkaar wederzijds volgen. | social:read | quotum: lezen |
| GET | /users/{handle}/playlistsAfspeellijsten die een account heeft gepubliceerd; songCount telt alleen wat jij daadwerkelijk kunt zien. | social:read | quotum: lezen |
| GET | /me/followersAccounts die jou volgen; status=accepted (standaard) of requested. | social:read | quotum: lezen |
| GET | /me/followingAccounts die jij volgt; status=requested toont de nog openstaande verzoeken naar privéaccounts. | social:read | quotum: lezen |
Audiowachtrij en stems 4
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| POST | /audioPlaatst automatische akkoord- en songtekstanalyse, gevolgd door uitlijning, in de wachtrij voor een nummer dat al in je songbook staat. Dezelfde wachtrij als de app; songId moet van jou zijn. | audio:write | quotum: geen |
| GET | /queueDe audioverwerkingswachtrij van jouw account: actief, in de wachtrij (met rank) en de afgelopen 7 dagen voltooid. | queue:read | quotum: geen |
| GET | /queue/{id}Eén audiowachtrijjob, alleen die van jou; dezelfde niet-onderscheidbare 404 voor een onbekende job of die van iemand anders. | queue:read | quotum: geen |
| DELETE | /queue/{id}Annuleert een van je audiowachtrijjobs; vergoedt alleen als de analyse nog niet was voltooid. | audio:write | quotum: geen |
Stemscheiding 6
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| GET | /stem-tool/capabilitiesControleer de beschikbaarheid, limieten, modellen en het quotum voor stemscheiding van de aanroeper. | convert:read | quotum: geen |
| GET | /stem-tool/jobsBekijk de privé-opdrachten voor stemscheiding van de aanroeper, met een optionele paginacursor. | convert:read | quotum: geen |
| POST | /stem-tool/jobsUpload een audiobestand en splits het in twee of vier stems. API-sleutels vereisen Premium. | stems:write | quotum: stems |
| GET | /stem-tool/jobs/{id}Bekijk de status, voortgang en beschikbare bestanden van een eigen opdracht. | convert:read | quotum: geen |
| DELETE | /stem-tool/jobs/{id}Annuleer een eigen opdracht voor stemscheiding. | stems:write | quotum: geen |
| GET | /stem-tool/jobs/{id}/files/{name}Ontvang een tijdelijk ondertekende download-URL voor een MP3-stem of ZIP-archief. | convert:read | quotum: geen |
Met een API-sleutel vereisen al deze routes een Premium-account; anders is het antwoord een 403 (api-premium-required). De limieten van de aanroeper staan in GET /stem-tool/capabilities.
Mastering 8
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| GET | /mastering/capabilitiesLimieten, bereiken van instellingen, loudnessdoelen, ingebouwde presets en renderrecht. | publiek (geen sleutel nodig) | quotum: geen |
| GET | /mastering/presetsJe masteringpresets ophalen. | mastering:read | quotum: geen |
| POST | /mastering/presetsEen masteringpreset aanmaken (Idempotency-Key verplicht). | mastering:write | quotum: geen |
| DELETE | /mastering/presets/{id}Een van je masteringpresets verwijderen. | mastering:write | quotum: geen |
| POST | /mastering/jobsAudio uploaden en een mastering starten met een preset of instellingen. | mastering:write | quotum: mastering (3/week gratis, onbeperkt met Premium) |
| GET | /mastering/jobs/{id}De status van een masteringtaak ophalen. | mastering:read | quotum: geen |
| DELETE | /mastering/jobs/{id}Een masteringtaak annuleren. | mastering:write | quotum: geen |
| GET | /mastering/jobs/{id}/resultDe gemasterde WAV downloaden. | mastering:read | quotum: geen |
AI-muziekdetectie 7 + 1 intern
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| GET | /ai-music/availabilityBeschikbaarheid van de tool, geaccepteerde formaten en resterende quota van het account of de bezoeker. | publiek (geen sleutel nodig) | quotum: geen |
| POST | /ai-music/jobsDient een audiobestand, een Spotify-link, een directe audiolink of een ISRC in. Eén onafgeronde taak per account; YouTube wordt niet ondersteund. | audio:write | quotum: AI-detectie |
| GET | /ai-music/jobsVindt je lopende of meest recente analyse. | queue:read | quotum: geen |
| GET | /ai-music/jobs/{id}Volgt een analyse en leest het verslag. | queue:read | quotum: geen |
| DELETE | /ai-music/jobs/{id}Annuleert een analyse en verwijdert de tijdelijke bestanden. | audio:write | quotum: geen |
| GET | /ai-music/historyPrivégeschiedenis van de laatste 90 dagen, in pagina’s van 30; account vereist, geen audio bewaard. | queue:read | quotum: geen |
| DELETE | /ai-music/history/{id}Verwijdert een scan uit je geschiedenis; het quotum van een geslaagde analyse wordt niet teruggegeven. | audio:write | quotum: geen |
| GET | /ai-music/source/{token}/{filename}Tijdelijk adres, voorbehouden aan de detectiedienst en hooguit 180 seconden geldig: geen enkele client roept het aan. | intern | quotum: geen |
Status en specificatie 2
| Methode | Pad | Scope | Quotum |
|---|---|---|---|
| GET | /healthServicestatus en gereedheid per engine (OMR, audio, video...); geen authenticatie vereist. | publiek (geen sleutel nodig) | quotum: geen |
| GET | /openapi.jsonDit contract, als machineleesbare JSON. | publiek (geen sleutel nodig) | quotum: geen |
Volledig machineleesbaar contract, altijd gesynchroniseerd met deze tabel:
https://jam-jam.org/api/v1/openapi.json OpenAPI-contract Quota en limieten
Het exacte saldo staat in GET /me/usage en in de X-Quota-*-headers van elk antwoord.
Conversie
- Gratis account
- 6 / week
- Premium
- 500 / maand
- Zonder sleutel of sessie
- 3 / 24 u
Dezelfde teller als de songbook-export in de app.
Lezen en schrijven
| per UTC-dag | Gratis account | Premium |
|---|---|---|
| Leesacties (songbook, profielen) | 2.000 | 20.000 |
| Schrijfacties (songbook) | 200 | 5.000 |
X-Read-Quota-* · X-Write-Quota-*
Sporen via een conversie
POST /jobs · output=stems Premium-API-sleutel vereist: zonder Premium is het antwoord een 403 (premium-required).
- Premium
- 200 per UTC-dag
Door deze routes aan te roepen bevestig je dat je de rechten hebt op de verzonden audio.
In detail
POST /jobsmetoutput=stemslevert een.zip:vocals,accompanimentenmanifest.json.- Vereiste scopes:
stems:writeenconvert:write. - Een aparte teller, los van die van de conversies, geteld per UTC-dag (geen voortschrijdende 24 uur).
- Niet te verwarren met de tool Stemscheiding (
/stem-tool/*): daar vereist een API-sleutel een Premium-account, met eigen limieten (GET /stem-tool/capabilities).
Een API-sleutel verkrijgen
Maak een gratis Jam Jam-account, open dan Instellingen, API-sleutels in de app (mobiel of web) en maak een sleutel aan. Die begint met jj_live_ en wordt maar één keer getoond: kopieer hem meteen. Tot 5 sleutels per account, op elk moment intrekbaar.
Fouten
Elke fout, op elke route, is een application/problem+json-object (RFC 9457) met een stabiel code-veld waarop een client kan vertakken: quota-exhausted, rate-limited, unsupported-pair, not-found... De volledige catalogus staat in het OpenAPI-schema (components.schemas.Problem).
Bewaartermijn
Geüploade bestanden en gegenereerde resultaten worden 24 uur na het aanmaken van de job verwijderd. Niets wordt langer bewaard, inclusief mislukte jobs. Het ophalen van een resultaat na dat venster levert 410 Gone op.
Open source-credits
Deze API steunt op echte open source-engines. Eerlijk gebruikt, met naam gecrediteerd:
- MuseScore 4
GPL-3.0Notatie importeren en weergeven, bladmuziek als pdf - Audiveris
AGPL-3.0Optische muziekherkenning (gescande bladmuziek) - Tesseract OCR
Apache-2.0Tekstherkenning in gescande pagina’s en foto’s - faster-whisper
MITSpraakherkenning voor songteksten uit audio - Basic Pitch
Apache-2.0Noot- en melodiedetectie uit audio - FluidSynth
LGPL-2.1Begeleiding renderen vanuit MIDI (SoundFont-synthese) - FFmpeg
LGPL-2.1 / GPL-2.0Audio- en videocodering, formaatconversie - Chromium
BSD-3-ClausePdf-weergave van bladmuziek en akkoordenschema’s
Modellen en data
Sprekerdetectie (Studio): stemafdrukmodel WeSpeaker ResNet34-LM, WeNet-project (github.com/wenet-e2e/wespeaker), getraind op VoxCeleb (VGG, Universiteit van Oxford), licentie CC BY 4.0 (creativecommons.org/licenses/by/4.0/). Gewijzigd door Jam Jam: gewichten omgezet naar halve precisie.