Instructions to use bugrayildirim/story-to-music-lyricist with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use bugrayildirim/story-to-music-lyricist with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="bugrayildirim/story-to-music-lyricist")# Load model directly from transformers import AutoTokenizer, AutoModelForMultimodalLM tokenizer = AutoTokenizer.from_pretrained("bugrayildirim/story-to-music-lyricist") model = AutoModelForMultimodalLM.from_pretrained("bugrayildirim/story-to-music-lyricist") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use bugrayildirim/story-to-music-lyricist with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "bugrayildirim/story-to-music-lyricist" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bugrayildirim/story-to-music-lyricist", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/bugrayildirim/story-to-music-lyricist
- SGLang
How to use bugrayildirim/story-to-music-lyricist with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "bugrayildirim/story-to-music-lyricist" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bugrayildirim/story-to-music-lyricist", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "bugrayildirim/story-to-music-lyricist" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "bugrayildirim/story-to-music-lyricist", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use bugrayildirim/story-to-music-lyricist with Docker Model Runner:
docker model run hf.co/bugrayildirim/story-to-music-lyricist
Story-to-Music Lyricist (Müzik Metadata → Türkçe Şarkı Sözü)
google/mt5-small'un müzik metadata'sından Türkçe şarkı sözü üreten fine-tuned
versiyonu. [Verse], [Chorus], [Bridge], [Outro] yapısal etiketleri ile.
Story-to-Music MCP projesinin
"Lyricist" bileşeni.
Görev
Metadata verildiğinde model yapılandırılmış şarkı sözleri üretir:
Girdi:
Türkçe şarkı sözü yaz: duygu=özlem, enerji=4, tempo=80 BPM, ton=A minor,
enstrümanlar=ney, saz, vokal=erkek, kısık, dramatik
Çıktı:
[Verse 1]
Gecenin parıltısı, yağmur dolu yüze
Gökyüzünde kafama bakıyor
İnsanın ötesinde bir çocuk gibi
[Chorus]
Güneşin içinde kalan benim parçam
[Bridge]
Rüzgarın içindeki yıldızlar
Yağmur suları dumanla oynarken
...
Kullanım
⚠️ Sampling parametreleri kritik. Beam search mode collapse'e neden olur
(model aynı çıktıyı verir veya [Outro][Outro][Outro] döngüsüne girer).
Aşağıdaki parametreleri kullan:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("bugrayildirim/story-to-music-lyricist")
model = AutoModelForSeq2SeqLM.from_pretrained("bugrayildirim/story-to-music-lyricist")
prompt = (
"Türkçe şarkı sözü yaz: duygu=hüzün, enerji=4, tempo=72 BPM, ton=A minor, "
"enstrümanlar=ney, keman, piyano, vokal=erkek, kısık, dramatik"
)
inputs = tokenizer(prompt, return_tensors="pt", max_length=64, truncation=True)
outputs = model.generate(
**inputs,
max_new_tokens=350,
do_sample=True, # ZORUNLU — beam search collapse yapar
num_beams=1,
temperature=0.9,
top_p=0.9,
top_k=50,
no_repeat_ngram_size=3,
repetition_penalty=1.3,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Eğitim
- Base model:
google/mt5-small(556M parametre) - Veri: 4062 Türkçe şarkı sözü örneği:
- 342 ham (Genius API'den)
- 3720 Ollama (qwen2.5:7b) tarafından augment edilmiş (5 farklı "lens" prompt)
- Eğitim: Kaggle T4 GPU, 12 epoch, eval_loss 2.82'ye düştü
- Önemli:
fp16=False,BATCH_SIZE=1,GRAD_ACCUM=16,MAX_TARGET_LEN=384, gradient checkpointing aktif
Detaylar: training/story_to_music_lyrics_train.ipynb
Performans (eval, sampling parametreleriyle)
- Yapısal tag (Verse/Chorus): 100%
- Türkçe karakter oranı: ~12% (sağlıklı)
- Dejenere loop yok: >%90
- Çeşitlilik (aynı girdi → farklı çıktı): var
Limitations
- mT5-small kapasite tavanı: Gramer çoğunlukla doğru, ama anlamsal akıcılık zayıf. "Şair seviyesi" değil; Suno/Udio kendi yorumunu kattığı için kullanılabilir.
- Duygu çeşitliliği: hüzün/özlem/aşk net, öfke/neşe zayıf (augment dataset bias'ı)
- CPU inference: ~30-60 saniye, GPU'da 3-5 saniye
- Sampling zorunlu. Beam search ile çalıştırırsan mode collapse görürsün
Lisans
MIT. Eğitim verisi olarak kullanılan şarkı sözlerinin telif hakları orijinal sahiplerine aittir. Story-to-Music MCP projesi inference sırasında Jaccard benzerlik kontrolüyle (eşik 0.35) ezberlemeyi engeller.
Atıf
@misc{story-to-music-lyricist,
author = {Buğra Yıldırım},
title = {Story-to-Music Lyricist: Metadata to Turkish song lyrics},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/bugrayildirim/story-to-music-lyricist}},
}
- Downloads last month
- 43
Model tree for bugrayildirim/story-to-music-lyricist
Base model
google/mt5-small