MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Convert any audio or video file to MP3 in seconds. Free, private and works on phone or computer.
Translation pending
MediaJavaScript · CSSGitHub @Aahtisham123OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Free online MP3 tools built with Next.js (App Router). All audio is processed inside the visitor's browser — files are never uploaded to a server.
| Route | Tool |
|---|---|
/ | MP3 converter for any audio/video file, paste-a-link downloader and voice recorder |
/youtube-to-mp3, /youtube-to-mp4, /online-video-downloader | Paste a link → download MP4 or convert to MP3 (needs the download service) |
/mp4-to-mp3, /video-to-mp3, /wav-to-mp3, /m4a-to-mp3, /flac-to-mp3, /aac-to-mp3, /ogg-to-mp3, /opus-to-mp3, /webm-to-mp3, /mov-to-mp3, /mkv-to-mp3, /podcast-to-mp3 | Format-specific converter pages |
/voice-to-mp3 | Microphone recorder → MP3 |
/mp3-cutter | Waveform trimmer: keep/remove selection, fade in/out, preview |
/mp3-compressor | Re-encode at 32–160 kbps, shows size saved |
/audio-joiner | Merge files in any order with optional gaps |
/video-to-mp3, /audio-to-mp3, /link-to-mp3, /mp3-tools | Hub pages that link every tool of a sidebar group |
/transcribe-audio-to-text | Speech to text with Whisper in the browser: language detection, TXT/SRT/VTT export |
/about, /contact, /privacy-policy, /terms, /copyright | Info and legal pages |
lib/audio-engine.js)public/ffmpeg-worker.js + @ffmpeg/core). The ~32 MB core is downloaded only when needed.public/mp3-worker.js).Files are processed one at a time to keep memory use low; the limit is 500 MB per file.
public/transcribe-worker.js)The transcriber runs OpenAI's Whisper model (MIT) with transformers.js
(Apache-2.0, loaded from jsDelivr at a pinned version) in a module worker. Audio is decoded with the engine above,
resampled to 16 kHz mono and never leaves the device. The browser downloads, on first use, the library and the ONNX runtime from
jsDelivr and the chosen model (Xenova/whisper-tiny, -base or -small, 8-bit) from Hugging Face, and caches them.
transformers.js has no language detection, so the worker scores Whisper's language tokens on the first 30 seconds.
With WebGPU (desktop Chrome/Edge, recent Safari) it runs on the graphics card using the onnx-community/whisper-*
models (fp32 encoder, 4-bit decoder); otherwise, or if the GPU fails to load or run, it falls back to the 8-bit
WebAssembly models. The model starts downloading as soon as a file is chosen or a recording starts.
To update transformers.js, change the version in the worker's import URL.
Browsers cannot fetch videos from other websites, so link downloads use a small service in
downloader/ (Node + yt-dlp + FFmpeg, Docker, automatic HTTPS with Caddy).
Run it on a VPS, then set this environment variable in Vercel and redeploy:
NEXT_PUBLIC_DOWNLOADER_URL=https://dl.mp3convert.tools
Without it, the "Paste Link" tools show a friendly "not set up yet" message and everything else keeps working.
npm install # also copies the FFmpeg core into public/ffmpeg (postinstall)
npm run dev # http://localhost:3000
npm run build && npm start
public/ffmpeg/ is generated by scripts/copy-ffmpeg.mjs and is not committed. Hosts that run npm install
(Vercel, Netlify, etc.) create it automatically.
lib/tools.jslib/site.js. POPULAR_NAV is the always-open list and
NAV_GROUPS the groups. A group with a hub links its heading to that hub page, which shows a card for every tool
of the group (the hub field of the page in lib/tools.js), and its tools get a Home › Hub › Tool breadcrumb.
Sidebar labels are short (nav in lib/i18n/ui-en.js); the full keyword lives in each page's title and H1.The site is available in English (at the root, e.g. /youtube-to-mp3) and in Spanish, Portuguese, French, German,
Russian, Turkish, Arabic (right-to-left), Hindi and Indonesian under a language prefix (/es/youtube-to-mp3).
proxy.js serves English from the root; pages live in app/[lang].
lib/tools.js, the homepage in lib/content/home.js, the About/Contact/legal pages in
lib/content/pages.js, and interface text (buttons, menus, messages) in lib/i18n/ui-en.js.lib/i18n/locales/<lang>/{ui,home,pages,tools}.json, with the same structure as the English source.
Anything missing falls back to English. A language without translation files is hidden from the switcher, the
sitemap and hreflang tags, and is marked noindex.lib/i18n/config.js (keep proxy.js in sync when adding a language).