သင်သည် Suno တွင် သီချင်းတစ်ပုဒ် ဖန်တီးထားပါသည်။ ယခု သင်သည် ဖိုင်ကို လိုချင်နေပါသည် — ဖုန်းတွင်၊ ဗီဒီယိုတည်းဖြတ်သည့်အက်ပ်တွင်၊ DAW တွင်။ Suno Downloader သည် သီချင်းလင့်ခ်တစ်ခုကို ယူပြီး အကောင့်မလို၊ install လုပ်ရန်မလိုဘဲ MP3 သို့မဟုတ် Lossless WAV ဖိုင်ကို ပြန်ပေးသော အခမဲ့ browser ကိရိယာတစ်ခုဖြစ်ပါသည်။ ၎င်း၏ အောက်တွင် platform ပြောင်းလဲမှုတစ်ခုကို ခံနိုင်ရည်ရှိခဲ့ပြီးသားသော အင်ဂျင်နီယာလုပ်ရပ်တစ်ခု ရှိပါသည်။ ၎င်းအကြောင်းအရာအားလုံးကို ဤနေရာတွင် ဖော်ပြပေးပါမည်။
"သီချင်းတစ်ပုဒ် ဖန်တီးခဲ့သည်" နှင့် "ဖိုင်တစ်ခု ရရှိသည်" ကြားရှိ ခြားနားချက်
AI သီချင်းဖန်တီးသူများသည် ဖိုင်စနစ်ထက် player တစ်ခုပေါ်တွင် အခြေခံထားပါသည်။ သင်သည် သီချင်းတစ်ပုဒ်ကို ဖော်ပြပါ၊ သီချင်းတစ်ပုဒ် ရပါ၊ browser tab တစ်ခုထဲတွင် နားဆင်ပါ — ထို့နောက် သင်သည် ၎င်းကို အမှန်တကယ် အသုံးပြု လိုပါသည်။ ဗီဒီယိုတစ်ခုထဲ ထည့်ပါ။ DAW တစ်ခုထဲ ထည့်ပါ။ ခြေလှမ်းလျက် သွားနေသော ဖုန်းတစ်လုံးပေါ် သွင်းပါ။ အကောင့်မရှိသူတစ်ဦးထံ ပို့ပါ။
နောက်ဆုံးအဆင့်သည် friction ဖြစ်ပွားရာ နေရာဖြစ်ပါသည်။ အသံဖိုင်သည် player တစ်ခု၏ နောက်ကွယ်တွင် ရှိနေပြီး၊ download ရွေးချယ်စရာများသည် plan အဆင့်များနှင့် ဆက်စပ်နေကာ၊ ထွက်လာသော ဖိုင်သည် UUID အမည်ဖြင့် ခေါင်းစဉ်တပ်ထားပြီး၊ mobile တွင် အရာအားလုံးသည် စစ်ပွဲတစ်ခုကဲ့သို့ ဖြစ်နေပါသည်။ Suno Downloader သည် ထိုအဆင့်ကို paste တစ်ကြိမ်နှင့် click တစ်ကြိမ်ဖြင့် ပြေလည်စေရန် ရည်ရွယ်ပါသည်။
အခမဲ့ဖြစ်ပြီး အကောင့်ဖွေစရာမလို၊ မိုဘိုင်းဘရောက်ဇာထဲမှာ အလုပ်လုပ်ပြီး ဖိုင်အမည်အဖြစ် hash တစ်ခုအစား တကယ့် သီချင်းခေါင်းစဉ်ကို ထားပေးပါတယ်။ ဤဆောင်းပါး၏ ကျန်ရှိသောအပိုင်းများသည် ထိုအရာ၏ နောက်ကွယ်ရှိ အချက်အလက်များနှင့် ပတ်သက်၍ ဖြစ်ပါသည်။
သင် ထိုနေရာတွင် ကူးယူထည့်သွင်းနိုင်သော အရာများ
အချက်ပေး parser သည် ဤကဲ့သို့သော ကိရိယာအများစုထက် ပိုမိုရှင်းလင်းပြီး လူများသည် ဖုန်းရှိ မျှဝေသည့်စာမျက်နှာ၊ ဘရောက်ဇာ၏ ခလုတ်တိုင်၊ Discord မက်ဆေ့ချ်၊ id သာ ကျန်ရှိနေသော မှတ်စု စသည့် မတူညီသော နေရာများမှ လင့်ခ်များကို ကူးယူသည့်အတွက် ထိုအချက်က အရေးပါပါသည်။
| သင် ကူးယူထည့်သွင်းသည့်အရာ | ဖြစ်ပျက်သွားသည့်အရာ |
|---|---|
https://suno.com/song/<uuid> | စံသီချင်းစာမျက်နှာ URL။ တိုက်ရိုက် parse လုပ်သည်။ |
https://suno.com/s/<code> | မျှဝေသည့်လင့်ခ်။ သီချင်း id ကို မပါဝင်သဖြင့် ဝန်ဆောင်မှုသည် redirect ကိုလိုက်ပြီး နောက်ဆုံး URL ထဲမှ id ကို ဖတ်ရှုသည်။ |
| တစ်ခုတည်းသော မျှဝေသည့်ကုဒ် | ဆix ခြောက်လုံးမှ သုံးဆယ်နှစ်လုံးအထိ alphanumeric အက္ခရာများ။ မျှဝေ URL အဖြစ် ပြောင်းလဲပြီး အတူတူပင် ဖြေရှင်းသည်။ |
| တစ်ခုတည်းသော UUID | သီချင်း id ပါဝင်သော မည်သည့် string ကိုမဆို။ ထုတ်ယူပြီး အသုံးပြုသည်။ |
| တိုက်ရိုက် Suno CDN URL | Host သည် allowlist တွင် ပါဝင်ပါက လက်ခံပြီး၊ မူလအတိုင်း အသုံးပြုသည်။ |
| Playlist ခလုတ် | ပယ်ချသည် — playlist များသည် ဖိုင်တစ်ခုတည်း မဟုတ်ဘဲ၊ သီချင်းတစ်ပုဒ်တည်းကို ဖွင့်ကြည့်ရန် မှာကြားသည့် စာသားဖြင့် ရှင်းပြသည်။ |
| Profile ခလုတ် | ပယ်ချသည် — ထိုသို့ဖြစ်ကြောင်း ပြောဆိုသည့် စာသားဖြင့် ရှင်းပြသည်။ |
| အခြားအရာအားလုံး | ပယ်ချသည် — Suno သီချင်း သို့မဟုတ် မျှဝေခလုတ် တောင်းဆိုသည့် စာသားဖြင့် ရှင်းပြသည်။ |
နောက်ဆုံးအတန်းသုံးတန်းသည် စိဝိဝင်ဆုံး အပိုင်းများ ဖြစ်သည်။ ပိုမိုလွယ်ကူသော implementation တစ်ခုသည် 502 error ကို ပြန်ပေးပြီး အသုံးပြုသူကို ခန့်မှန်းခိုင်းစေသည်။ ဤနည်းလမ်းသည် ဘာကြောင့် input မှားယွင်းခဲ့သည်ကို သတ်မှတ်ပေးပြီး၊ လူသားတစ်ဦးက လုပ်ဆောင်နိုင်သည့် စာသားတစ်ခုကို ပြန်ပေးသည်။ ရှင်းလင်းမှုနည်းပါးခြင်းကို ကာကွယ်ပေးနိုင်သည့် ကြီးမားသော အကျိုးကျေးဇူးအတွက် ဤကုဒ်ပမာဏသည် အလွန်နည်းပါးသည်။
ပုံစံနှစ်မျိုး၊ နှစ်မျိုးလုံး ဘာကြောင့် လိုအပ်သနည်း
MP3 — အခြေခံပုံစံ
သိပ်သည်းသော၊ ယေဘုယျအသုံးပြုနိုင်သော၊ ကားဆီယိုမှ စမတ်စပီကာအထိ မည်သည့်စနစ်တွင်မဆို ဖွင့်နိုင်သည်။ LAME ဖြင့် အမြင့် VBR quality setting ဖြင့် encode ပြုလုပ်ထားပြီး၊ ဤသည်မှာ နားဆင်ရန် copy အတွက် မှန်ကန်သော trade-off ဖြစ်သည်။ နားထောင်သူ၏ နားကို မထိခိုက်စေဘဲ အရွယ်အစားအနည်းငယ်ဖြင့် transparent ဖြစ်စေသည်။
ဖုန်းများ၊ messaging apps များ၊ YouTube background များ၊ podcast များနှင့် ဖိုင်ကို အလုပ်လုပ်ရန်ထက် နားဆင်ရန် ဖြစ်သော မည်သည့်အရာအတွက်မဆို ဤသည်မှာ သင်လိုချင်သော အရာဖြစ်သည်။ ဤစနစ်မှတစ်ဆင့် ဒေါင်းလုပ်ဒေတာ၏ ခန့်မှန်းခြေ 85% ခန့်သည် ဤပုံစံဖြင့် ဖြစ်သည်။
WAV — အလုပ်လုပ်ရန် copy
Uncompressed PCM။ ပိုကြီးသည်၊ ဤသို့ ပြုလုပ်ရန် ရည်ရွယ်ချက်ရှိသည် - သင်ရှိပြီးသား အသံအပေါ် အပို lossy generation မရှိပါ။
ဤသည်ကို editor ထဲသို့ ယူဆောင်သင့်သည်။ သီချင်းတစ်ပုဒ်ကို ဖြတ်တောက်ရန်၊ layer ပြုရန်၊ time-stretch ပြုရန်၊ voiceover အောက်တွင် duck ပြုရန် သို့မဟုတ် video platform တွင် upload ပြုလုပ်သည့်အခါ re-encode ပြုရန် ဖြစ်ပါက၊ lossy codec တစ်ခုမှ ဖြတ်သန်းပြီးသော ဖိုင်ကို သင်ပေးလိုက်ခြင်း မဟုတ်သင့်ပါ။ နောက်ထပ် encode တိုင်းသည် ပိုမိုဆိုးရွားစေသည်။ WAV သည် ဒေါင်းလုပ်ဒေတာ၏ ခန့်မှန်းခြေ ခုနစ်ပုံတစ်ပုံခန့်သာ ဖြစ်ပြီး၊ ထိုသူအားလုံးသည် ဤကဲ့သို့ အတိအကျ လုပ်ဆောင်နေသူများ ဖြစ်သည်။
တစ်ခုစီအတွက် သီးသန့် landing page တစ်ခုစီကို ထိန်းသိမ်းထားခြင်း — Suno to MP3 နှင့် Suno WAV Download — အဘယ်ကြောင့်ဆိုသော် ၎င်းတို့သည် ကိရိယာတစ်ခုတည်းကို အသုံးပြုသော်လည်း ရည်ရွယ်ချက်နှစ်ခုလုံးသည် အမှန်တကယ် ကွဲပြားခြင်းကြောင့် ဖြစ်သည်။
စိတ်ဝင်စားဖွယ် အပိုင်း: ပလက်ဖောင်း ပြောင်းလဲမှုကို ရှင်သန်ရန်
ဤနေရာတွင် ပရောဂျက်သည် wrapper တစ်ခုသာမက engineering တစ်ခုအဖြစ် ပြောင်းလဲလာပြီး၊ ဤအမျိုးအစားရှိ ကိရိယာအများစုကို တိတ်တဆိတ် သတ်ပေးလေ့ရှိသော ဤကဲ့သို့သော အချက်ကို ကောင်းမွန်စွာ ဖော်ပြရန် တန်ဖိုးရှိသည်။
ကြာရှည်စွာအတွက် လုပ်ဆောင်ချက်များသည် ရိုးရှင်းခဲ့သည် — Suno သည် ခန့်မှန်းနိုင်သော CDN URLs မှ အသံထွက်ပေးခဲ့ပြီး၊ downloader တစ်ခုသည် cdn1.suno.ai/<id>.mp3 ကို ချက်ချင်း fetch လုပ်ပြီး streaming ပြုလုပ်နိုင်ခဲ့သည်။ ၂၀၂၆ ခုနှစ် ဩဂုတ်လတွင် ထိုနည်းလမ်းသည် အလုပ်မလုပ်တော့ပါ။ Suno သည် ၎င်း၏ အသံထွက်ကို signed CDN URLs နောက်တွင် ထားရှိခဲ့ပြီး၊ အရင် direct path သည် လူအားလုံးအတွက် 403 error ကို ပြန်ပေးလေ့လာခဲ့သည်။
အရင် ယူဆချက်ပေါ် မူတည်ပြီး တည်ဆောက်ထားသော ကိရိယာအများစု ပျက်စီးသွားခဲ့သည်။ ဤကိရိယာသည် ပြောင်းလဲလိုက်ပြီး၊ ထိုပြောင်းလဲမှုသည် အဆင့်ဆင့် ဖြစ်သည်:
- ၁ · ပုံမှန်စာမျက်နှာကို scrape လုပ်ပါ၊ တစ်ကြိမ်တည်း ပုံမှန် သီချင်းစာမျက်နှာသည် တိုက်ရိုက် fetch လုပ်နိုင်သော CloudFront
.m4aclip တစ်ခုကို embed လုပ်ထားဆဲ ဖြစ်သည် URL။ စာမျက်နှာတစ်ခုလုံးကို fetch လုပ်ခြင်းဖြင့် URL နှင့် သီချင်း၏ အမှန်တကယ် ခေါင်းစဉ်ကို ရယူနိုင်သည် —og:titleမှ ရယူပြီး၊ နောက်ဆုံးရှိ brand suffix ကို ဖယ်ရှားထားသော<title>သို့ fallback ပြုလုပ်သည်။ - ၂ · ဤသီချင်း၏ clip ကို ဦးစားပေးပါ စာမျက်နှာတွင် clip URL တစ်ခုထက်ပို၍ ပါဝင်နိုင်သဖြင့်၊ matcher သည် requested song နှင့် id ကိုက်ညီသော clip ကို ရှာဖွေပြီး၊ ထို exact match ပါမလာပါက စာမျက်နှာရှိ clip မည်သည့်တစ်ခုခုသို့ fallback ပြုလုပ်သည်။
- ၃ · unsigned MP4 ကို ဆွဲယူပါ အသံထွက် stream သည် ယခုအခါ gated နှင့် encrypted ဖြစ်သွားခဲ့သော်လည်း MP4 — အသံတူညီသော audio track ပါသည့် static-image video — သည် unsigned အဖြစ် ဆက်လက်ပေးလျက်ရှိသည်။ downloader သည် အမှန်တကယ် MP4 ကို fetch လုပ်သည်။
- ၄ · ffmpeg ဖြင့် ထုတ်ယူပါ MP4 ကို ယာယီဖိုင်အဖြစ် အရင်ရေးသားသည်၊ အဘယ်ကြောင့်ဆိုသော် ၎င်း၏ moov atom သည် container ၏ နောက်ဆုံးတွင် တည်ရှိနိုင်ပြီး ffmpeg သည် seekable input လိုအပ်သောကြောင့် ဖြစ်သည်။ pipe ဖြင်းတစ်ဆင့် streaming ပြုလုပ်ပါက "moov atom not found" error ဖြင့် ကြားဖြတ် ပျက်ကွက်နိုင်သည် — ဤကွဒ်သည် comment တစ်ခုတွင် ဤ bug ကို မှတ်တမ်းတင်ထားပြီး၊ နောက်ထောက်လုပ်သူအတွက် ထပ်မံရှာဖွေတွေ့ရှိရန် မထားရှိပါ။
- ၅ · stream out ပြုလုပ်ပါ၊ သန့်ရှင်းရေး ပြုလုပ်ပါ ffmpeg သည် video track ကို ဖယ်ရှားပြီး MP3 သို့မဟုတ် WAV သို့ encoding ပြုလုပ်ကာ response သို့ တိုက်ရိုက်ပေးသည်။ temp file သည် process ပိတ်သည့်အခါ၊ error ဖြစ်သည့်အခါ နှင့် client disconnect ဖြစ်သည့်အခါ တို့တွင် unlink ပြုလုပ်သည် — လမ်းကြောင်းသုံးခုလုံး ကွဲပြားပြီး၊ အားလုံးကို ကာကွယ်ထားသည်။
အသုံးပြုသူအတွက် ရလဒ်မှာ MP3 သည် pass-through ဖြစ်ခဲ့သည့်အချိန်က ကွဲပြားသော်လည်း၊ ယခုအခင် format နှစ်မျိုးလုံးသည် server-side transcoding လိုအပ်လာခြင်း ဖြစ်သည်။ service အတွက် ရလဒ်မှာ အခြား alternative များစွာသည် တိတ်တဆိတ် error များ ပြန်ပေးနေသည့် လအတွင်း အလုပ်လုပ်သော downloader တစ်ခု ရှိခြင်း ဖြစ်သည်။
အလုပ်အများစုကို ပြုလုပ်ပေးသော အသေးစိတ်အချက်များ
- အမှန်တကယ် ဖိုင်အမည်များ သီချင်းခေါင်းစဉ်ကို page မှဖတ်ယူပြီး filename အဖြစ် အသုံးပြုသည်။ Non-ASCII ခေါင်းစဉ်များ ပျက်စီးမသွားဘဲ ကျန်ရစ်နေသည်၊ အဘယ်ကြောင့်ဆိုသော် download header ကို naive ASCII string အဖြစ်မရေးဘဲ RFC 5987 encoded field အဖြစ် ရေးသားထားသောကြောင့် — "Пісня про дощ" သို့မဟုတ် "夜明けのうた" ခေါင်းစဉ်ရှိ track များသည် mojibake သို့မဟုတ် UUID အဖြစ်မဟုတ်ဘဲ မှန်ကန်သောအမည်ဖြင့် ရောက်ရှိလာမည်ဖြစ်သည်။
- ထွက်ခွာရာတွင် buffering မရှိခြင်း ရှေ့ဘက်ရှိ nginx layer ကို proxy buffering off နှင့် long read timeouts များဖြင့် ချိန်ညှိထားသည်။ အဘယ်ကြောင့်ဆိုသော် audio ဖိုင်များသည် အရွယ်အစားကြီးပြီး buffered proxy တစ်ခုသည် byte တစ်ခုပို့မီ စုစုပေါင်းကို memory ထဲတွင် ထိန်းသိမ်းထားမည်ဖြစ်သောကြောင့် ဖြစ်သည်။
- ဖိုင်အမျိုးအစားအလိုက် cache policy ရွေးချယ်ခြင်း HTML ကို content သို့မဟုတ် SEO ပြင်ဆင်မှုများ ချက်ချင်းအသက်သွားစေရန် သတိပေးစွမ်းအားဖြင့် cache မလုပ်ဘဲထားသည်။ CSS နှင့် JS များသည် ၎င်းတို့၏ filename များတွင် content-hash မပါဝင်သောကြောင့် တစ်ရက်တာ TTL ရရှိသည်။ ပုံများနှင့် icon များသည် နေ့သုံးရက် TTL ရရှိသည်။ Blog ပုံများကို တစ်နှစ်တာအတွက် immutable အဖြစ် သတ်မှတ်ပြီး nginx မှတစ်ဆင့် application ကို မထိတွေ့ဘဲ disk မှတိုက်ရိုက်ပေးပို့သည်။
- တရားမျှတသော error message များ "ဤ track ကို ရှာမတွေ့ပါ — ၎င်းသည် Suno ပေါ်ရှိ public single song ဖြစ်ကြောင်း သေချာပါစေ" သည် အသုံးပြုသူကို ဘာလုပ်ရမည်ကို ပြောပြသည်။ "502 Bad Gateway" ကမူ မပြောပြပါ။ download handler ရှိ failure path အားလုံးသည် အရင်တစ်မျိုးမျိုးကို ထုတ်ပေးသည်။
- ဖုန်းပေါ်တွင် အလုပ်လုပ်သည် install လုပ်ရန်မလို၊ app store မလို၊ extension မလို။ mobile browser သည် first-class client ဖြစ်သည်။ ၎င်း၏ အသုံးအများဆုံး use case သည် "ကျွန်ုပ် ဤအရာကို ဖုန်းပေါ်တွင် လိုချင်သည်" ဖြစ်သောကြောင့် ၎င်းသည် အဓိကအချက်ဖြစ်သည်။
The API
web page သည် small public API ၏ client တစ်ခုဖြစ်ပြီး၊ ထို API ကို တိုက်ရိုက်အသုံးပြုနိုင်သည်။
| အဆုံးအမှတ် | ပြန်ပေးသည် |
|---|---|
GET /api/health | { "ok": true, "ffmpeg": true } — အသက်ရှင်မှုနှင့် ပြောင်းလဲဖိုင်ပုံစံ (transcoding) အသုံးပြုနိုင်မှုကို စစ်ဆေးသည်။ |
GET /api/info?url=<link> | { ok, id, title, pageUrl, ffmpeg } — ပေးပို့ထားသော အချက်အလက်ကို ဖြေရှင်းပေးပြီး၊ ဂီတတီးမှုတ်မှု (track) သည် လူသိများပြီး ဒေါင်းလုဒ်ဆွဲနိုင်ကြောင်း အတည်ပြုပေးကာ ၎င်း၏ တကယ့် ခေါင်းစဉ်ကို ပြန်ပေးသည်။ |
GET /api/download?url=<link>&format=mp3|wav[&title=…] | ဖိုင်ကို စီးဆင်းပေးပြီး ဒေါင်းလုဒ် header တွင် မှန်ကန်သော ဖိုင်အမည်ဖြင့် ပေးပို့သည်။ လိုအပ်ပါက ခေါင်းစဉ်ကို ပြန်လည်သတ်မှတ်နိုင်သည်။ |
POST /api/contact | စစ်ဆေးပြီးသော ဆက်သွယ်ရန် ပုံစံ ပြည့်ဖြည့်မှု၊ IP တစ်ခုချင်းစီအတွက် နှုန်းထားကန့်သတ်ချက် (rate-limit) ချထားသည်။ |
curl 'https://sunodownloader.ai/api/info?url=https://suno.com/song/<id>'
curl -OJ 'https://sunodownloader.ai/api/download?url=https://suno.com/song/<id>&format=wav'သင်သည် script ဖြင့် အသုံးပြုမည်ဆိုပါက ဤအဆင့်နှစ်ဆင့်ခွဲခြားမှုသည် အရေးကြီးသည်။ /api/info သည် စရိတ်ကုန်ကျမှုနည်းပြီး၊ link တစ်ခု အသုံးပြုနိုင်ကြောင်းနှင့် ၎င်း၏ ခေါင်းစဉ်မှာ အဘယ်နည်းဆိုတာကို ပြသပေးသည်။ ထို့ကြောင့် batch job တစ်ခုသည် megabytes များကို ဆွဲယူမီစမီမီတမီက စာရင်းကို အတည်ပြုရန် အသုံးပြုနိုင်သည်။
နှင့် ဒုတိယအဆင့်၊ ကန့်သတ်ချက်ရှိသော အဆင့်
ထိုအဆင့်များနှင့်အတူ /api/v1/health၊ /api/v1/info နှင့် /api/v1/download တို့ ရှိသည် — ပူးပေါင်းထားသော app token နှင့် တစ်ခုချင်း install အတွက် နှုန်းထားကန့်သတ်ချက်များ နောက်ကွယ်တွင် တူညီသော လုပ်ဆောင်ချက်များ။ Token သည် သတ်မှတ်ထားပါကသာ အသုံးပြုသည်။ ထို့ကြောင့် web build နှင့် ဒေသတွင်း ဖွံ့ဖြိုးတိုးတက်ရေး (local development) တို့သည် ပြောင်းလဲမှုမရှိဘဲ ဆက်လက်အလုပ်လုပ်နိုင်ပြီး၊ mobile app သည် network tab ကို ဖတ်ရှုနိုင်သော မည်သူမဆိုမှ ရိုးရှင်းစွာ အသုံးချနိုင်မည့် မဟုတ်သော မျက်နှာစာ (surface) ကို ရရှိသည်။
Android App
Android အတွက် Flutter client တစ်ခု ရှိသည်။ ၎င်း၏ ဒီဇိုင်းသည် ၎င်းလုပ်ဆောင်သော အရာများနှင့် မလုပ်ဆောင်သော အရာများအကြောင်း အလွန် ရှင်းလင်းပြီး ရိုးရှင်းသည်။
- ၎င်းသည် ပါးလွှာသော client ဖြစ်သည် လင့်ခ်တစ်ခုကို Paste လုပ်လိုက်ပါ၊ အက်ပ်က
/api/v1/infoကို app token နဲ့ ခေါ်ဆိုပြီး audio URL ကို ပြန်ရရှိကာ လက်တွေ့ အသုံးပြုမှုကို Android ၏ ကိုယ်ပိုင် DownloadManager သို့ လွှဲပြောင်းပေးသည်။ - စနစ်က ဒေါင်းလုပ်လုပ်ခြင်းကို ဆောင်ရွက်ပေးသည် ဆိုလိုသည်မှာ အစစ်အမှန် စနစ်ဆိုင်ရာ တိုးတက်မှု အသိပေးချက်၊ ပြန်လည်ဆက်လက်ဒေါင်းလုပ်ဆွဲနိုင်မှုနှင့် ဖိုင်သည် ဖုန်းရှိ အခြားအက်ပ်အားလုံး မြင်နိုင်သော public Music folder ထဲတွင် ရောက်ရှိခြင်းဖြစ်သည် — အခြားအရာများ မဖတ်နိုင်သော sandboxed app directory ထဲတွင် မဟုတ်ပါ။
- Android 8 နှင့် ၎င်းနောက်ပိုင်း ဗားရှင်းများ အက်ပ်အိုင်ဒီ
ai.sunodownloader.app၊ အနည်းဆုံး SDK ၂၆။ - Sign-in လုပ်ခြင်းသည် သန့်ရှင်းစွာ လွှဲပြောင်းပေးသည် Google OAuth မှ အက်ပ်အတွင်း စတင်သည့် အစီအစဉ်သည် လမ်းကြောင်းတစ်လျှောက်လုံး marker တစ်ခုကို သယ်ဆောင်သွားပြီး callback သည် deep link မှတစ်ဆင့် အသုံးပြုသူကို web page တစ်ခုပေါ်တွင် ချထားမည့်အစား session ကို အက်ပ်ထံ ပြန်လည်ပေးပို့သည်။
Repository သည် အက်ပ်နှင့် သက်ဆိုင်သော source များသာ — Dart code၊ native activity၊ manifest၊ icons — ကိုသာ ထိန်းသိမ်းထားပြီး Gradle scaffolding ကို builder တွင် Flutter ဗားရှင်း မည်မျှ install ထားသည်ပေါ် မူတည်၍ setup အချိန်တွင် ဖန်တီးပေးသည်။ ၎င်းသည် deliberate anti-bitrot ရွေးချယ်မှုဖြစ်သည် — setup အဆင့်တစ်ခုကို လဲလှယ်ပြီး stale build system နှင့် မည်သည့်အခါမျှ တိုက်ခိုက်ရန်မလိုအပ်ဘဲ အဆင်ပြေစေသည်။
Account များ: လိုအပ်ချက်ရှိနိုင်ပြီး အမှန်တကယ် လိုအပ်ချက်ရှိနိုင်သည်
Account layer တစ်ခု ရှိသည် — local email နှင့် password၊ Google OAuth ပါဝင်ပြီး ၎င်းကို စီမံသော စည်းမျဉ်းကို source ထဲရှိ comment တွင် ဖော်ပြထားပြီး code အားလုံးတွင် လိုက်နာဆောင်ရွက်ထားသည်: downloads များသည် public နှင့် anonymous အဖြစ် ဆက်လက်တည်ရှိပြီး login သည် perks များကိုသာ ဖွင့်ပေးသည်; download flow ကို auth ပေါ်တွင် ချဉ်းကပ်ခွင့်မပေးပါ။
Sign-in လုပ်ခြင်းမှ ရရှိမည့် အရာများ:
- Download history — သင် ဒေါင်းလုပ်ဆွဲထားသော tracks များ၊ deduplicated ပြုလုပ်ထားပြီး၊ titles၊ formats နှင့် timestamps များ ပါဝင်သည်။
- သင့်ကို ခြေရာခံသော session — web app နှင့် Android app အကြား။
အဆိုပါသည် စာရင်းတစ်ခုလုံးဖြစ်သည်။ ၎င်းနောက်တွင် ပိတ်ထားသော paid tier မရှိပါ၊ login လုပ်ခြင်းဖြင့် တိုးလာသော daily cap မရှိပါ၊ ဖယ်ရှားပေးသော watermark မရှိပါ။
Auth ကို ဖန်တီးထားပုံ
- မှီခိုမှုမရှိသော စကားဝှက် hashing Node ၏ ကိုယ်ပိုင် crypto module မှ scrypt ကို အသုံးပြုပြီး user တစ်ဦးချင်းစီအတွက် salted လုပ်ကာ structured string အဖြစ် သိမ်းထားသည်။ bcrypt package မရှိ၊ auth framework မရှိ။
- Opaque database sessions Session tokens များသည် သီးသန့်တန်ဖိုးရှိသော random values များဖြစ်ပြီး ၎င်းတို့တစ်ခုတည်းဖြင့် အဓိပ္ပာယ်မရှိပါ။ Server-side တွင်သာ lookup လုပ်ရသည်။ Self-describing token များ မဟုတ်သောကြောင့် revoke လုပ်ရန် delete လုပ်ရုံဖြင့် လုံလောက်သည်။
- လောကနှစ်ခုစလုံးတွင် ပြုမူသော Cookies များ TLS သည် nginx နှင့် Cloudflare တွင် terminate ဖြစ်သောကြောင့် app သည် forwarded protocol header ကို အသုံးပြု၍ cookies များကို Secure အဖြစ် သတ်မှတ်မည် သတ်မှတ်မည် ဆုံးဖြတ်သည်။ Production တွင် Secure cookies များကို အသုံးပြုပြီး plain-HTTP local development တွင်လည်း ဆက်လက်အလုပ်လုပ်နိုင်သည်။
- Timing-safe comparison နှင့် per-IP auth throttling နှစ်ခုစလုံး ရှိသည်၊ နှစ်ခုစလုံး အလွန်သေးငယ်သည်၊ နှစ်ခုစလုံးသည် side project တစ်ခုတွင် ပုံမှန်လျစ်လျူရှုလေ့ရှိသော အရာများဖြစ်သည်။
- Password hashes များသည် server မှ အမြဲတမ်း ထွက်ခွာခြင်း မရှိပါ User object အတွက် explicit public-shape function တစ်ခု ရှိပြီး၊ ၎င်းသည် hash ကို response ထဲသို့ ကျပန်းဖြစ်သွားခြင်း မရှိစေရန် ရည်ရွယ်ထားသည်။
Analytics နှင့် ၎င်းသည် သတိထား၍ မစုဆောင်းသော အရာများ
ဆုံးဖြတ်ပြီးသော download တိုင်းကို log လုပ်ထားသည် — အောင်မြင်မှုများနှင့် မအောင်မြင်မှုများ နှစ်မျိုးစလုံး၊ မအောင်မြင်သည့် အကြောင်းရင်း ပါဝင်သည် — နှင့် log လုပ်ခြင်းသည် fire-and-forget ဖြစ်သည်။ ၎င်းသည် response ကို block လုပ်ခြင်း မရှိပါ၊ download path ထဲသို့ error ကို throw လုပ်ခြင်းလည်း မရှိနိုင်ပါ။ Analytics table တစ်ခု ပျက်စီးသွားလျှင် download ကို ပျက်စီးစေနိုင်ခြင်း မရှိပါ။
Record တစ်ခုတွင် ပါဝင်သော အချက်အလက်များ - သီချင်း id၊ ခေါင်းစဉ်၊ format၊ အောင်မြင်မှု ရှိ/မရှိ၊ မအောင်မြင်ပါက အဘယ်ကြောင့် ဖြစ်သည်။ ၎င်းတို့ကို ဝန်းရံထားသည်မှာ cookie ထဲရှိ long-lived anonymous visitor id၊ Cloudflare ၏ header မှ ရယူထားသော client IP တကယ့်တန်ဖိုး၊ နှင့် user-agent string မှ small hand-written parser ဖြင့် read out လုပ်ထားသော device၊ browser နှင့် operating system best-effort ဖတ်ရှုမှုတို့ ဖြစ်သည်။
သင် login ဝင်ထားပါက download သည် သင့် account သို့ ဆက်စပ်မည် — ၎င်းသည် history feature ကို ဖြစ်နိုင်စေသော အချက်ဖြစ်သည်။ သင် login မဝင်ပါက ၎င်းသည် anonymous အဖြစ် ဆက်လက်တည်ရှိမည်။
အချက်အလက်များ၏ လက်ရှိ ပုံစံ - 858 download ပြီးဆုံးမှု၊ ၎င်းတို့အနက် 731 ခု MP3 ဖြစ်ပြီး 127 ခု WAV ဖြစ်ကာ၊ 24 registered account နှင့် ပိုမိုများပြားသော anonymous visitor များအပေါ်တွင် ဖြစ်သည်။ ၎င်းသည် ဝန်ဆောင်မှု အသစ်တစ်ခု ဖြစ်သည်၊ ထို့ကြောင့် ဤကိန်းဂဏန်းများသည် marketing figure အဖြစ် ပြောင်းလဲထားခြင်း မဟုတ်ဘဲ ယုံကြည်စိတ်ချရသော ကိန်းဂဏန်းများ ဖြစ်သည်။
လူအများ မမျှော်လင့်သော Library
ဤ project ထဲရှိ surprise သည် content ဖြစ်သည်။ 311 published articles၊ database မှ အသုံးပြုပြီး in-memory cache ဖြင့်၊ paginated၊ tagged၊ နှင့် static pages များအပြင် automatically generated sitemap ထဲတွင် ချိတ်ဆက်ထားသည်။
ဒါဟာ ဖြည့်စွက်စာသားမဟုတ်ပါ။ Tag ဖြန့်ဖြူးမှုက ပုံမှန်တည်းဖြတ်ရေး ဖွဲ့စည်းပုံကို ပြသနေပါတယ် -
| Tag | ဆောင်းပါးများ |
|---|---|
| လမ်းညွှန်များ | 99 |
| စိတ်ကူးများ | 53 |
| အသုံးပြုမှုကိစ္စများ | 52 |
| နှိုင်းယှဉ်ချက် | 14 |
| ပိုင်ဆိုင်ခွင့်နှင့် လိုင်စင် | 13 |
| မြင်ကွင်းကျယ်များ | 12 |
| သုံးသပ်ချက် | 11 |
| အမျိုးအစားများ | 11 |
| ဒေါင်းလုဒ်များ | 8 |
| ကိရိယာများ | 7 |
| ဘယ်လိုလုပ်မလဲ | 7 |
| အခွင့်အရေးများ | 6 |
နဲ့ ပတ်သက်ပြီး ခေါင်းစဉ်က "ဒေါင်းလုဒ်ယူနည်း" ဆိုတာထက် ပိုပြီး နက်ရှိုင်းပါတယ် -
သီချင်းတစ်ပုဒ်ကို မည်သို့ရေးသားရမည်
ဖွဲ့စည်းပုံ၊ တန်းများ၊ ဆိုင်းများ၊ သီဆိုမှုများနှင့် ပြန်လည်အသံစီမံခြင်း။
- ဆိုင်းတစ်ပုဒ်ကို မည်သို့ရေးရမည်
- တန်းတစ်ပုဒ်ကို မည်သို့ရေးရမည်
- သီချင်းတစ်ပုဒ်ကို မည်သို့ဖွဲ့စည်းရမည်
- AI သီဆိုမှုများကို ပိုကောင်းအောင် မည်သို့ပြုလုပ်မည်
အသံဖိုင်များနှင့် အလုပ်လုပ်ခြင်း
မည်သူမှ ရှင်းပြလေ့မရှိသော ထုတ်လုပ်ပြီးနောက် လုပ်ဆောင်ရမည့် လက်တွေ့ဆိုင်ရာ အဆင့်များ။
- သီဆိုမှုများကို ဖယ်ရှားပြီး ဂီတစက်မှုအသံ (Instrumental) ဖန်တီးခြင်း
- ချိမ်ခံသံ (Chipmunk effect) မဖြစ်အောင် သီချင်းအမြန်နှုန်း မည်သို့မြှင့်မည်
- သီချင်းတစ်ပုဒ်ကို သင်လိုအပ်သော ဗီဒီယိုတစ်ပိုင်းတစ်စတည်းအတွက် မည်သို့ဖြတ်တောက်မည်
- WAV vs FLAC
တာဝန်ရှိသော ဂီတ
အရာဝတ္ထုများ၏ အဆင့်သတ်မှတ်ခြင်းဆိုင်ရာ ဆောင်းပါး (၅၂) ပုဒ်။
- Instagram Reels · အိမ်ရာ ဗီဒီယို
- ယိုဂါ · စိတ်ဓာတ်ခွဲခြင်း · မာဆာ့ချ် · စပင်ကလပ်စ်
- Indie ဂိမ်းများ · ဇာတ်လမ်းတွဲများ · ကြော်ငြာများ
- E-learning · ဖြစ်ရပ်များ · အိပ်စက်ခြင်း
ခွင့်ရစ်သားများ၊ ကိုယ်ကျင့်တရားနှင့် နယ်ပယ်
လိုင်စင်ခွင့်ပြုခြင်းဆိုင်ရာ ဆောင်းပါး (၁၃) ပုဒ်နှင့် ရှုထောင့်ဆိုင်ရာ ဆောင်းပါးများစုစည်းမှု။
- Sync လိုင်စင်ခွင့်ပြုခြင်း AI ဂီတ
- AI ဘီးများ ရောင်းချခြင်း
- အနုပညာရှင်များသည် AI ဂီတကို အသုံးပြုကြသလား။
- AI ဂီတ၏ ကိုယ်ကျင့်တရား
- AI ဂီတ နှင့် လူသား ဂီတ
နှိုင်းယှဉ်မှုဆိုင်ရာ ဆောင်းပါးများ (Riffusion vs Suno, Soundful review၊ အခမဲ့ generator အကောင်းဆုံး၊ စတင်သူများအတွက် generator အကောင်းဆုံး)၊ ပြဿနာဖြေရှင်းခြင်း (Suno မထုတ်လုပ်နိုင်ခြင်း၊ subscription ဖြင့်မတင်ဘဲ ဒေါင်းလုဒ်လုပ်ခြင်း၊ playlist ဒေါင်းလုဒ်လုပ်ခြင်း၊ PC တွင် ဒေါင်းလုဒ်လုပ်ခြင်း)၊ ဂီတအမျိုးအစားများ (phonk, trance, darkwave, drum and bass, synthpop, new wave, shoegaze, swing, afropop, folk, surf rock, cinematic) နှင့် အခွင့်အရေးဆိုင်ရာ ဆောင်းပါးများ (မွေးနေ့၊ အဆုံးသတ်ခြင်း၊ နှလုံးသားပျက်ခြင်း၊ ဆရာ၊ ဖခင်၊ ညီအကို၊ ကလေး၊ ခွဲခြားခြင်း၊ pride၊ နေအိမ်သစ်) တို့လည်း ပါဝင်သည်။
ဤနည်းဗျူဟာသည် utility နှင့် destination ကြားက ကွာခြားချက်ဖြစ်သည်။ Downloader သည် တစ်ကြိမ်သွားရောက်ပြီး မှတ်မိထားရန် လိုအပ်သော စာမျက်နှာတစ်ခုဖြစ်သည်။ AI ဂီတ ဖန်တီးခြင်း၊ တည်းဖြတ်ခြင်း၊ လိုင်စင်ခွင့်ပြုခြင်းနှင့် အသုံးပြုခြင်းဆိုင်ရာ ဆောင်းပါး (၃၀၀) သည် လူတစ်ဦးဦး ပြန်လည်လာရောက်လေ့လာရန် ဖြစ်ပြီး၊ ၎င်းသည် ဒေါင်းလုဒ်လုပ်ပြီးနောက် မေးခွန်းကို ဖြေရှင်းပေးသကဲ့သို့ ဒေါင်းလုဒ်လုပ်ခြင်း မတိုင်မီ မေးခွန်းကိုလည်း ဖြေရှင်းပေးနိုင်သည်။
ဘယ်လို တည်ဆောက်ပြီး လည်ပတ်သည်
ဆာဗာတစ်ခုလုံးသည် 53 ကီလိုဘိုက် JavaScript ဖိုင်တစ်ခုတည်းဖြစ်ပြီး မှီခိုရန်လိုအပ်သော အရာမှာ MySQL client တစ်ခုတည်းသာရှိသည်။ Express၊ framework မရှိ၊ build step မရှိ။ Routing သည် request path အပေါ် အခြေခံသော dispatcher တစ်ခုဖြစ်ပြီး HTTP ဆာဗာသည် Node ၏ ကိုယ်ပိုင်ဖြစ်သည်။
ဒါဟာ ရည်ရွယ်ချက်မဲ့ minimalism မဟုတ်ပါ။ CDN အပြုအမူ ပြောင်းလဲမှုကို ခံနိုင်ရည်ရှိရန် တာဝန်ယူထားသော service တစ်ခုသည် ကုဒ်နှင့် socket ကြားတွင် အရာမရှိခြင်းမှ အမြောက်အမြား အကျိုးရှိစေသည်။ ဩဂုတ်လ ပြောင်းလဲမှု ဖြစ်ပေါ်လာသောအခါ ပြင်ဆင်ချက်သည် dependency upgrade မဟုတ်ဘဲ function တစ်ခုသာ ဖြစ်ခဲ့သည်။
Runtime
- localhost တွင် unprivileged user အဖြစ်၊ nginx နောက်ကွယ်တွင်၊ Cloudflare နောက်ကွယ်တွင် လည်ပတ်သည်။
- systemd unit သည် hardening ပြုလုပ်ထားသည် - privilege အသစ်မရရှိ၊
/tmpကိုယ်ပိုင်၊ စနစ်၏ ကျန်ရှိသောအပိုင်းများကို read-only view၊ home directory ကို read-only၊ နှင့် writable path တစ်ခုတည်းသာ။ - အမှားအယွင်းဖြစ်ပါက အချိန်အနည်းငယ်ကြာပြီးနောက် ပြန်လည်စတင်သည်။
- TLS သည် host ၏ vhosts အားလုံးအတွက် မျှဝေထားသော Cloudflare origin certificate ဖြစ်ပြီး Cloudflare သည် public certificate ကို terminate ပြုလုပ်သည်။
- Apex သည် canonical ဖြစ်သည် - plain HTTP နှင့်
www.host နှစ်ခုလုံးသည်https://sunodownloader.aiသို့ 301 redirect ပြုလုပ်သည်။ - ffmpeg ကို boot အချိန်တွင် တစ်ကြိမ်သာ စစ်ဆေးသည်; အကယ်၍ ၎င်းမရှိပါက service သည် download အချိန်တွင် မသိသာဘဲ မအောင်မြင်ခြင်းထက်
/api/healthတွင် ထိုအကြောင်းကို ပြသသည်။
Content plumbing
ဆောင်းပါးများသည် database တွင် တည်ရှိပြီး slug တစ်ခုချင်းစီအတွက် memory တွင် cache ပြုလုပ်ထားကာ publishing အတွက် explicit flush endpoint ရှိသည်။ Blog hub သည် server-side တွင် paginated ပြုလုပ်ထားသည်။ Sitemap သည် static pages များနှင့် ထုတ်ဝေထားသော ဆောင်းပါးအားလုံးမှ တည်ဆောက်ပြီး cache ပြုလုပ်ထားသည်။ Blog ပုံများသည် application ကို လုံးဝလွန်ကဲစွာ bypass ပြုလုပ်သည် - nginx သည် disk မှ ဖတ်ရှုပြီး တစ်နှစ်ကြာ immutable cache header ဖြင့် Cloudflare သည် edge တွင် cache ပြုလုပ်သည်။
မကြာခဏ မေးလေ့ရှိသော မေးခွန်းများ၊ အတိုချုံးဖြေကြားခြင်း
Account လိုအပ်ပါသလား?
မလိုအပ်ပါ။ Download များသည် anonymous နှင့် unlimited ဖြစ်သည်။ Account သည် download history နှင့် Android app နှင့် မျှဝေသော session တစ်ခုတည်းကိုသာ ထပ်မံပေးသည်။
ကျွန်ုပ် download လုပ်နိုင်သော track အရေအတွက် ပိုင်းခြားကန့်သတ်ချက် ရှိပါသလား?
User တစ်ယောက်ချင်းစီအတွက် ကန့်သတ်ချက် မရှိပါ။ Contact နှင့် auth endpoints များတွင် abuse ကိုတားမြစ်ရန် per-IP rate limit ရှိပြီး၊ ၎င်းသည် ကန့်သတ်ချက်အားလုံးဖြစ်သည်။
WAV ဖိုင်က MP3 နဲ့ အသံတူနေတာ ဘာကြောင့်လဲ။
ဒါက သင့်တော်လို့ပါ။ WAV က source ကို quality အရည်အသွေး တိုးတက်စေတာ မဟုတ်ပါဘူး — ၎င်းဟာ ဒုတိယ lossy encode မရှိခြင်းသာ ဖြစ်ပါတယ်။ ဖိုင်ကို editor ထဲထည့်ပြီး နောက်ပိုင်းတွင် ပြန် encode လုပ်မယ်ဆိုရင် WAV ကိုယူပါ။ တိုက်ရိုက်နားဆင်ဖို့ဆိုရင် MP3 ကိုယူပါ။
Playlist တစ်ခုလုံးကို တစ်ပြိုင်နက် download လုပ်လို့ရပါသလား။
မရပါဘူး။ Playlist က audio ဖိုင်တစ်ခုတည်း မဟုတ်ပါဘူး။ service က error ထက် message နဲ့ ပြောပြပါတယ်။ သီချင်းတစ်ပုဒ်ချင်းစီကို ဖွင့်ပြီး ၎င်း၏ link ကို paste လုပ်ပါ။
Private tracks တွေမှာ အလုပ်လုပ်ပါသလား။
မလုပ်ပါဘူး။ ၎င်းက public song page ကိုသာ ဖတ်ပါတယ်။ page က public မဟုတ်ရင် ဖတ်စရာမရှိပါဘူး။
ကျွန်ုပ်တို့၏ link တွေကို log ထားပါသလား သို့မဟုတ် မျှဝေပါသလား။
Service က download event ကို မိမိ၏ operational statistics အတွက် မှတ်တမ်းတင်ပါတယ် — song id, title, format, outcome တို့ကို anonymous visitor id နဲ့ ဆက်စပ်ပြီး မှတ်တမ်းတင်ပါတယ် (သင် sign in နေရင်တော့ သိသာနိုင်ပါတယ်)။ ၎င်းက submitted link တွေကို publish သို့မဟုတ် မျှဝေခြင်း မရှိပါဘူး။ Suno ၏ ကိုယ်ပိုင် host အပေါ်လွဲ၍ အခြား host တစ်ခုခုဆက်သွယ်ဆက်ဆံခြင်း မရှိပါ။
ဒါက Suno နဲ့ ဆက်စပ်မှု ရှိပါသလား။
မရှိပါ။ ၎င်းသည် Suno AI နှင့် ဆက်စပ်မှု မရှိပါ၊ Suno AI ၏ ပံ့ပိုးမှု မရပါ၊ Suno AI ၏ ကြော်ငြာလုပ်ထားခြင်းလည်း မဟုတ်ပါ။ ၎င်းသည် public song pages အပေါ်တွင် အဆင်ပြေစေရန် သီးသန့် ဖန်တီးထားသော ကိရိယာတစ်ခု ဖြစ်ပါသည်။
ဘယ်သူတွေ သုံးကြသလဲ၊ ဘာအတွက် သုံးကြသလဲ
- Video creator များ Timeline ထဲထည့်မယ့် WAV ဖိုင်က ဒုတိယ lossy generation မပါဘဲ၊ UUID အမည်ထက် သီချင်းအမည်နဲ့ ခေါ်ထားတာ။
- Podcaster များ Generated track ကနေ တိုက်ရိုက်ဆွဲယူထားတဲ့ intro နဲ့ outro beds တွေ၊ editor အားလုံး လက်ခံတဲ့ format ဖြစ်ပါတယ်။
- သီချင်းရေးသားသူများ နမူနာပြုနေစဉ် ထုတ်လုပ်ထားသော stem-less mix ကို DAW ထဲသို့ ထည့်ပြီး တည်ဆောက်ရန်၊ ပြန်ဆိုဆိုရန် သို့မဟုတ် reference အဖြစ် အသုံးပြုရန်။
- ဖုန်းနားဆင်သူများ Music folder အတွင်း MP3 အဖြစ် offline ကစားခြင်း၊ ကားထဲတွင်၊ ပြေးနေစဉ်တွင်၊ browser tab မဖွင့်ဘဲ ကစားခြင်း။
- အရာဝတ္ထုတစ်ခုခုကို ဖန်တီးခဲ့ပြီး ထိန်းသိမ်းလိုသူအားလုံး ဒါက နောက်ဆုံးအကျဆုံး premise ဖြစ်တယ်။
အတိုချုပ်
Suno Downloader သည် Suno song link၊ share link သို့မဟုတ် song id ကို MP3 သို့မဟုတ် lossless WAV အဖြစ် ပြောင်းလဲပေးသည်။ အကောင့်မလို၊ install လိုအပ်ခြင်းမရှိ၊ browser တွင် device အားလုံးတွင် အခမဲ့။ ၎င်းသည် input shape ငါးမျိုးကို လက်ခံသည်၊ link မလုပ်ဆောင်နိုင်ပါက နူးညံစွာ ရှင်းပြသည်၊ file များကို အမည်တကယ် song title အတိုင်း alphabet မည်သည့်စcript ဖြစ်ဖြစ် အမည်ပေးသည်၊ Suno မဟုတ်သော အရာများကို proxy မလုပ်ပါ။
အဆိုပါ page နောက်တွင် two-tier JSON API ရှိသည်။ local နှင့် Google sign-in ပါသော optional account layer ဖြစ်ပြီး history ကိုသာ gate လုပ်သည်။ Flutter Android client သည် transfers ကို system download manager သို့ ပေးပို့သည်။ hardened single-file Node service သည် dependency တစ်ခုသာရှိပြီး၊ AI music ဖန်တီးခြင်း၊ တည်းဖြတ်ခြင်း၊ licensing နှင့် အသုံးပြုခြင်းဆိုင်ရာ 311-ဆောင်းပါး library ရှိသည်။
၎င်းသည် ဤ category တွင် အများဆုံးမဟုတ်သော ဂုဏ်သတ္တိကိုလည်း ရှိသည်။ ၎င်းသည် ယခုထိ အလုပ်လုပ်နေဆဲဖြစ်သည်။ Suno သည် 2026 ခုနှစ် ဩဂုတ်လတွင် ၎င်း၏ audio ကို signed URLs အောက်သို့ ရွှေ့လိုက်သောအခါ၊ service သည် page ၏ embedded clip URL နှင့် unsigned MP4 container တို့မှတစ်ဆင့် re-routed လုပ်ပြီး ဆက်လက်လုပ်ဆောင်ခဲ့သည်။
Suno ၏ CDN hosts များသာ proxy လုပ်ထားသောကြောင့် ၎င်းကို open proxy အဖြစ် အသုံးပြု၍မရပါ။
Suno Downloader, README
လေ့လာကြည့်ပါ: sunodownloader.ai · MP3 at /suno-to-mp3 · WAV at /suno-wav-download · library at /blog.