[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DC481RZXE30J9M2RN7DACQ":3,"skill-same:01M6DC481RZXE30J9M2RN7DACQ":78},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":59,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M6DC481RZXE30J9M2RN7DACQ","audiocraft-audio-generation",null,"PyTorch library for audio generation including text-to-music (MusicGen) and text-to-sound (AudioGen). Use when you need to generate music from text descriptions, create sound effects, or perform melody-conditioned music generation.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F0a\u002F0ac770a148d33866427a46a5f9dc14c6c93f5e406b4d80981ff7e3173807c349\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36],"Audio","audiocraft audio generation","generation","research","pytorch","create","generate","multimodal","library","Transformers","music","text","use","2026-11-10 10:12:30",false,"---\r\nname: audiocraft-audio-generation\r\ndescription: PyTorch library for audio generation including text-to-music (MusicGen) and text-to-sound (AudioGen). Use when you need to generate music from text descriptions, create sound effects, or perform melody-conditioned music generation.\r\nversion: 1.0.0\r\nauthor: Orchestra Research\r\nlicense: MIT\r\ndependencies: [audiocraft, torch>=2.0.0, transformers>=4.30.0]\r\nmetadata:\r\n  hermes:\r\n    tags: [Multimodal, Audio Generation, Text-to-Music, Text-to-Audio, MusicGen]\r\n\r\n---\r\n\r\n# AudioCraft: Audio Generation\r\n\r\nComprehensive guide to using Meta's AudioCraft for text-to-music and text-to-audio generation with MusicGen, AudioGen, and EnCodec.\r\n\r\n## When to use AudioCraft\r\n\r\n**Use AudioCraft when:**\r\n- Need to generate music from text descriptions\r\n- Creating sound effects and environmental audio\r\n- Building music generation applications\r\n- Need melody-conditioned music generation\r\n- Want stereo audio output\r\n- Require controllable music generation with style transfer\r\n\r\n**Key features:**\r\n- **MusicGen**: Text-to-music generation with melody conditioning\r\n- **AudioGen**: Text-to-sound effects generation\r\n- **EnCodec**: High-fidelity neural audio codec\r\n- **Multiple model sizes**: Small (300M) to Large (3.3B)\r\n- **Stereo support**: Full stereo audio generation\r\n- **Style conditioning**: MusicGen-Style for reference-based generation\r\n\r\n**Use alternatives instead:**\r\n- **Stable Audio**: For longer commercial music generation\r\n- **Bark**: For text-to-speech with music\u002Fsound effects\r\n- **Riffusion**: For spectogram-based music generation\r\n- **OpenAI Jukebox**: For raw audio generation with lyrics\r\n\r\n## Quick start\r\n\r\n### Installation\r\n\r\n```bash\r\n# From PyPI\r\npip install audiocraft\r\n\r\n# From GitHub (latest)\r\npip install git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Faudiocraft.git\r\n\r\n# Or use HuggingFace Transformers\r\npip install transformers torch torchaudio\r\n```\r\n\r\n### Basic text-to-music (AudioCraft)\r\n\r\n```python\r\nimport torchaudio\r\nfrom audiocraft.models import MusicGen\r\n\r\n# Load model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-small')\r\n\r\n# Set generation parameters\r\nmodel.set_generation_params(\r\n    duration=8,  # seconds\r\n    top_k=250,\r\n    temperature=1.0\r\n)\r\n\r\n# Generate from text\r\ndescriptions = [\"happy upbeat electronic dance music with synths\"]\r\nwav = model.generate(descriptions)\r\n\r\n# Save audio\r\ntorchaudio.save(\"output.wav\", wav[0].cpu(), sample_rate=32000)\r\n```\r\n\r\n### Using HuggingFace Transformers\r\n\r\n```python\r\nfrom transformers import AutoProcessor, MusicgenForConditionalGeneration\r\nimport scipy\r\n\r\n# Load model and processor\r\nprocessor = AutoProcessor.from_pretrained(\"facebook\u002Fmusicgen-small\")\r\nmodel = MusicgenForConditionalGeneration.from_pretrained(\"facebook\u002Fmusicgen-small\")\r\nmodel.to(\"cuda\")\r\n\r\n# Generate music\r\ninputs = processor(\r\n    text=[\"80s pop track with bassy drums and synth\"],\r\n    padding=True,\r\n    return_tensors=\"pt\"\r\n).to(\"cuda\")\r\n\r\naudio_values = model.generate(\r\n    **inputs,\r\n    do_sample=True,\r\n    guidance_scale=3,\r\n    max_new_tokens=256\r\n)\r\n\r\n# Save\r\nsampling_rate = model.config.audio_encoder.sampling_rate\r\nscipy.io.wavfile.write(\"output.wav\", rate=sampling_rate, data=audio_values[0, 0].cpu().numpy())\r\n```\r\n\r\n### Text-to-sound with AudioGen\r\n\r\n```python\r\nfrom audiocraft.models import AudioGen\r\n\r\n# Load AudioGen\r\nmodel = AudioGen.get_pretrained('facebook\u002Faudiogen-medium')\r\n\r\nmodel.set_generation_params(duration=5)\r\n\r\n# Generate sound effects\r\ndescriptions = [\"dog barking in a park with birds chirping\"]\r\nwav = model.generate(descriptions)\r\n\r\ntorchaudio.save(\"sound.wav\", wav[0].cpu(), sample_rate=16000)\r\n```\r\n\r\n## Core concepts\r\n\r\n### Architecture overview\r\n\r\n```\r\nAudioCraft Architecture:\r\n┌──────────────────────────────────────────────────────────────┐\r\n│                    Text Encoder (T5)                          │\r\n│                         │                                     │\r\n│                    Text Embeddings                            │\r\n└────────────────────────┬─────────────────────────────────────┘\r\n                         │\r\n┌────────────────────────▼─────────────────────────────────────┐\r\n│              Transformer Decoder (LM)                         │\r\n│     Auto-regressively generates audio tokens                  │\r\n│     Using efficient token interleaving patterns               │\r\n└────────────────────────┬─────────────────────────────────────┘\r\n                         │\r\n┌────────────────────────▼─────────────────────────────────────┐\r\n│                EnCodec Audio Decoder                          │\r\n│        Converts tokens back to audio waveform                 │\r\n└──────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n### Model variants\r\n\r\n| Model | Size | Description | Use Case |\r\n|-------|------|-------------|----------|\r\n| `musicgen-small` | 300M | Text-to-music | Quick generation |\r\n| `musicgen-medium` | 1.5B | Text-to-music | Balanced |\r\n| `musicgen-large` | 3.3B | Text-to-music | Best quality |\r\n| `musicgen-melody` | 1.5B | Text + melody | Melody conditioning |\r\n| `musicgen-melody-large` | 3.3B | Text + melody | Best melody |\r\n| `musicgen-stereo-*` | Varies | Stereo output | Stereo generation |\r\n| `musicgen-style` | 1.5B | Style transfer | Reference-based |\r\n| `audiogen-medium` | 1.5B | Text-to-sound | Sound effects |\r\n\r\n### Generation parameters\r\n\r\n| Parameter | Default | Description |\r\n|-----------|---------|-------------|\r\n| `duration` | 8.0 | Length in seconds (1-120) |\r\n| `top_k` | 250 | Top-k sampling |\r\n| `top_p` | 0.0 | Nucleus sampling (0 = disabled) |\r\n| `temperature` | 1.0 | Sampling temperature |\r\n| `cfg_coef` | 3.0 | Classifier-free guidance |\r\n\r\n## MusicGen usage\r\n\r\n### Text-to-music generation\r\n\r\n```python\r\nfrom audiocraft.models import MusicGen\r\nimport torchaudio\r\n\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-medium')\r\n\r\n# Configure generation\r\nmodel.set_generation_params(\r\n    duration=30,          # Up to 30 seconds\r\n    top_k=250,            # Sampling diversity\r\n    top_p=0.0,            # 0 = use top_k only\r\n    temperature=1.0,      # Creativity (higher = more varied)\r\n    cfg_coef=3.0          # Text adherence (higher = stricter)\r\n)\r\n\r\n# Generate multiple samples\r\ndescriptions = [\r\n    \"epic orchestral soundtrack with strings and brass\",\r\n    \"chill lo-fi hip hop beat with jazzy piano\",\r\n    \"energetic rock song with electric guitar\"\r\n]\r\n\r\n# Generate (returns [batch, channels, samples])\r\nwav = model.generate(descriptions)\r\n\r\n# Save each\r\nfor i, audio in enumerate(wav):\r\n    torchaudio.save(f\"music_{i}.wav\", audio.cpu(), sample_rate=32000)\r\n```\r\n\r\n### Melody-conditioned generation\r\n\r\n```python\r\nfrom audiocraft.models import MusicGen\r\nimport torchaudio\r\n\r\n# Load melody model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-melody')\r\nmodel.set_generation_params(duration=30)\r\n\r\n# Load melody audio\r\nmelody, sr = torchaudio.load(\"melody.wav\")\r\n\r\n# Generate with melody conditioning\r\ndescriptions = [\"acoustic guitar folk song\"]\r\nwav = model.generate_with_chroma(descriptions, melody, sr)\r\n\r\ntorchaudio.save(\"melody_conditioned.wav\", wav[0].cpu(), sample_rate=32000)\r\n```\r\n\r\n### Stereo generation\r\n\r\n```python\r\nfrom audiocraft.models import MusicGen\r\n\r\n# Load stereo model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-stereo-medium')\r\nmodel.set_generation_params(duration=15)\r\n\r\ndescriptions = [\"ambient electronic music with wide stereo panning\"]\r\nwav = model.generate(descriptions)\r\n\r\n# wav shape: [batch, 2, samples] for stereo\r\nprint(f\"Stereo shape: {wav.shape}\")  # [1, 2, 480000]\r\ntorchaudio.save(\"stereo.wav\", wav[0].cpu(), sample_rate=32000)\r\n```\r\n\r\n### Audio continuation\r\n\r\n```python\r\nfrom transformers import AutoProcessor, MusicgenForConditionalGeneration\r\n\r\nprocessor = AutoProcessor.from_pretrained(\"facebook\u002Fmusicgen-medium\")\r\nmodel = MusicgenForConditionalGeneration.from_pretrained(\"facebook\u002Fmusicgen-medium\")\r\n\r\n# Load audio to continue\r\nimport torchaudio\r\naudio, sr = torchaudio.load(\"intro.wav\")\r\n\r\n# Process with text and audio\r\ninputs = processor(\r\n    audio=audio.squeeze().numpy(),\r\n    sampling_rate=sr,\r\n    text=[\"continue with a epic chorus\"],\r\n    padding=True,\r\n    return_tensors=\"pt\"\r\n)\r\n\r\n# Generate continuation\r\naudio_values = model.generate(**inputs, do_sample=True, guidance_scale=3, max_new_tokens=512)\r\n```\r\n\r\n## MusicGen-Style usage\r\n\r\n### Style-conditioned generation\r\n\r\n```python\r\nfrom audiocraft.models import MusicGen\r\n\r\n# Load style model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-style')\r\n\r\n# Configure generation with style\r\nmodel.set_generation_params(\r\n    duration=30,\r\n    cfg_coef=3.0,\r\n    cfg_coef_beta=5.0  # Style influence\r\n)\r\n\r\n# Configure style conditioner\r\nmodel.set_style_conditioner_params(\r\n    eval_q=3,          # RVQ quantizers (1-6)\r\n    excerpt_length=3.0  # Style excerpt length\r\n)\r\n\r\n# Load style reference\r\nstyle_audio, sr = torchaudio.load(\"reference_style.wav\")\r\n\r\n# Generate with text + style\r\ndescriptions = [\"upbeat dance track\"]\r\nwav = model.generate_with_style(descriptions, style_audio, sr)\r\n```\r\n\r\n### Style-only generation (no text)\r\n\r\n```python\r\n# Generate matching style without text prompt\r\nmodel.set_generation_params(\r\n    duration=30,\r\n    cfg_coef=3.0,\r\n    cfg_coef_beta=None  # Disable double CFG for style-only\r\n)\r\n\r\nwav = model.generate_with_style([None], style_audio, sr)\r\n```\r\n\r\n## AudioGen usage\r\n\r\n### Sound effect generation\r\n\r\n```python\r\nfrom audiocraft.models import AudioGen\r\nimport torchaudio\r\n\r\nmodel = AudioGen.get_pretrained('facebook\u002Faudiogen-medium')\r\nmodel.set_generation_params(duration=10)\r\n\r\n# Generate various sounds\r\ndescriptions = [\r\n    \"thunderstorm with heavy rain and lightning\",\r\n    \"busy city traffic with car horns\",\r\n    \"ocean waves crashing on rocks\",\r\n    \"crackling campfire in forest\"\r\n]\r\n\r\nwav = model.generate(descriptions)\r\n\r\nfor i, audio in enumerate(wav):\r\n    torchaudio.save(f\"sound_{i}.wav\", audio.cpu(), sample_rate=16000)\r\n```\r\n\r\n## EnCodec usage\r\n\r\n### Audio compression\r\n\r\n```python\r\nfrom audiocraft.models import CompressionModel\r\nimport torch\r\nimport torchaudio\r\n\r\n# Load EnCodec\r\nmodel = CompressionModel.get_pretrained('facebook\u002Fencodec_32khz')\r\n\r\n# Load audio\r\nwav, sr = torchaudio.load(\"audio.wav\")\r\n\r\n# Ensure correct sample rate\r\nif sr != 32000:\r\n    resampler = torchaudio.transforms.Resample(sr, 32000)\r\n    wav = resampler(wav)\r\n\r\n# Encode to tokens\r\nwith torch.no_grad():\r\n    encoded = model.encode(wav.unsqueeze(0))\r\n    codes = encoded[0]  # Audio codes\r\n\r\n# Decode back to audio\r\nwith torch.no_grad():\r\n    decoded = model.decode(codes)\r\n\r\ntorchaudio.save(\"reconstructed.wav\", decoded[0].cpu(), sample_rate=32000)\r\n```\r\n\r\n## Common workflows\r\n\r\n### Workflow 1: Music generation pipeline\r\n\r\n```python\r\nimport torch\r\nimport torchaudio\r\nfrom audiocraft.models import MusicGen\r\n\r\nclass MusicGenerator:\r\n    def __init__(self, model_name=\"facebook\u002Fmusicgen-medium\"):\r\n        self.model = MusicGen.get_pretrained(model_name)\r\n        self.sample_rate = 32000\r\n\r\n    def generate(self, prompt, duration=30, temperature=1.0, cfg=3.0):\r\n        self.model.set_generation_params(\r\n            duration=duration,\r\n            top_k=250,\r\n            temperature=temperature,\r\n            cfg_coef=cfg\r\n        )\r\n\r\n        with torch.no_grad():\r\n            wav = self.model.generate([prompt])\r\n\r\n        return wav[0].cpu()\r\n\r\n    def generate_batch(self, prompts, duration=30):\r\n        self.model.set_generation_params(duration=duration)\r\n\r\n        with torch.no_grad():\r\n            wav = self.model.generate(prompts)\r\n\r\n        return wav.cpu()\r\n\r\n    def save(self, audio, path):\r\n        torchaudio.save(path, audio, sample_rate=self.sample_rate)\r\n\r\n# Usage\r\ngenerator = MusicGenerator()\r\naudio = generator.generate(\r\n    \"epic cinematic orchestral music\",\r\n    duration=30,\r\n    temperature=1.0\r\n)\r\ngenerator.save(audio, \"epic_music.wav\")\r\n```\r\n\r\n### Workflow 2: Sound design batch processing\r\n\r\n```python\r\nimport json\r\nfrom pathlib import Path\r\nfrom audiocraft.models import AudioGen\r\nimport torchaudio\r\n\r\ndef batch_generate_sounds(sound_specs, output_dir):\r\n    \"\"\"\r\n    Generate multiple sounds from specifications.\r\n\r\n    Args:\r\n        sound_specs: list of {\"name\": str, \"description\": str, \"duration\": float}\r\n        output_dir: output directory path\r\n    \"\"\"\r\n    model = AudioGen.get_pretrained('facebook\u002Faudiogen-medium')\r\n    output_dir = Path(output_dir)\r\n    output_dir.mkdir(exist_ok=True)\r\n\r\n    results = []\r\n\r\n    for spec in sound_specs:\r\n        model.set_generation_params(duration=spec.get(\"duration\", 5))\r\n\r\n        wav = model.generate([spec[\"description\"]])\r\n\r\n        output_path = output_dir \u002F f\"{spec['name']}.wav\"\r\n        torchaudio.save(str(output_path), wav[0].cpu(), sample_rate=16000)\r\n\r\n        results.append({\r\n            \"name\": spec[\"name\"],\r\n            \"path\": str(output_path),\r\n            \"description\": spec[\"description\"]\r\n        })\r\n\r\n    return results\r\n\r\n# Usage\r\nsounds = [\r\n    {\"name\": \"explosion\", \"description\": \"massive explosion with debris\", \"duration\": 3},\r\n    {\"name\": \"footsteps\", \"description\": \"footsteps on wooden floor\", \"duration\": 5},\r\n    {\"name\": \"door\", \"description\": \"wooden door creaking and closing\", \"duration\": 2}\r\n]\r\n\r\nresults = batch_generate_sounds(sounds, \"sound_effects\u002F\")\r\n```\r\n\r\n### Workflow 3: Gradio demo\r\n\r\n```python\r\nimport gradio as gr\r\nimport torch\r\nimport torchaudio\r\nfrom audiocraft.models import MusicGen\r\n\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-small')\r\n\r\ndef generate_music(prompt, duration, temperature, cfg_coef):\r\n    model.set_generation_params(\r\n        duration=duration,\r\n        temperature=temperature,\r\n        cfg_coef=cfg_coef\r\n    )\r\n\r\n    with torch.no_grad():\r\n        wav = model.generate([prompt])\r\n\r\n    # Save to temp file\r\n    path = \"temp_output.wav\"\r\n    torchaudio.save(path, wav[0].cpu(), sample_rate=32000)\r\n    return path\r\n\r\ndemo = gr.Interface(\r\n    fn=generate_music,\r\n    inputs=[\r\n        gr.Textbox(label=\"Music Description\", placeholder=\"upbeat electronic dance music\"),\r\n        gr.Slider(1, 30, value=8, label=\"Duration (seconds)\"),\r\n        gr.Slider(0.5, 2.0, value=1.0, label=\"Temperature\"),\r\n        gr.Slider(1.0, 10.0, value=3.0, label=\"CFG Coefficient\")\r\n    ],\r\n    outputs=gr.Audio(label=\"Generated Music\"),\r\n    title=\"MusicGen Demo\"\r\n)\r\n\r\ndemo.launch()\r\n```\r\n\r\n## Performance optimization\r\n\r\n### Memory optimization\r\n\r\n```python\r\n# Use smaller model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-small')\r\n\r\n# Clear cache between generations\r\ntorch.cuda.empty_cache()\r\n\r\n# Generate shorter durations\r\nmodel.set_generation_params(duration=10)  # Instead of 30\r\n\r\n# Use half precision\r\nmodel = model.half()\r\n```\r\n\r\n### Batch processing efficiency\r\n\r\n```python\r\n# Process multiple prompts at once (more efficient)\r\ndescriptions = [\"prompt1\", \"prompt2\", \"prompt3\", \"prompt4\"]\r\nwav = model.generate(descriptions)  # Single batch\r\n\r\n# Instead of\r\nfor desc in descriptions:\r\n    wav = model.generate([desc])  # Multiple batches (slower)\r\n```\r\n\r\n### GPU memory requirements\r\n\r\n| Model | FP32 VRAM | FP16 VRAM |\r\n|-------|-----------|-----------|\r\n| musicgen-small | ~4GB | ~2GB |\r\n| musicgen-medium | ~8GB | ~4GB |\r\n| musicgen-large | ~16GB | ~8GB |\r\n\r\n## Common issues\r\n\r\n| Issue | Solution |\r\n|-------|----------|\r\n| CUDA OOM | Use smaller model, reduce duration |\r\n| Poor quality | Increase cfg_coef, better prompts |\r\n| Generation too short | Check max duration setting |\r\n| Audio artifacts | Try different temperature |\r\n| Stereo not working | Use stereo model variant |\r\n\r\n## References\r\n\r\n- **[Advanced Usage](references\u002Fadvanced-usage.md)** - Training, fine-tuning, deployment\r\n- **[Troubleshooting](references\u002Ftroubleshooting.md)** - Common issues and solutions\r\n\r\n## Resources\r\n\r\n- **GitHub**: https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Faudiocraft\r\n- **Paper (MusicGen)**: https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.05284\r\n- **Paper (AudioGen)**: https:\u002F\u002Farxiv.org\u002Fabs\u002F2209.15352\r\n- **HuggingFace**: https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmusicgen-small\r\n- **Demo**: https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Ffacebook\u002FMusicGen\r\n","# AudioCraft: Audio Generation\r\n\r\nComprehensive guide to using Meta's AudioCraft for text-to-music and text-to-audio generation with MusicGen, AudioGen, and EnCodec.\r\n\r\n## When to use AudioCraft\r\n\r\n**Use AudioCraft when:**\r\n- Need to generate music from text descriptions\r\n- Creating sound effects and environmental audio\r\n- Building music generation applications\r\n- Need melody-conditioned music generation\r\n- Want stereo audio output\r\n- Require controllable music generation with style transfer\r\n\r\n**Key features:**\r\n- **MusicGen**: Text-to-music generation with melody conditioning\r\n- **AudioGen**: Text-to-sound effects generation\r\n- **EnCodec**: High-fidelity neural audio codec\r\n- **Multiple model sizes**: Small (300M) to Large (3.3B)\r\n- **Stereo support**: Full stereo audio generation\r\n- **Style conditioning**: MusicGen-Style for reference-based generation\r\n\r\n**Use alternatives instead:**\r\n- **Stable Audio**: For longer commercial music generation\r\n- **Bark**: For text-to-speech with music\u002Fsound effects\r\n- **Riffusion**: For spectogram-based music generation\r\n- **OpenAI Jukebox**: For raw audio generation with lyrics\r\n\r\n## Quick start\r\n\r\n### Installation\r\n\r\n```bash\r\n# From PyPI\r\npip install audiocraft\r\n\r\n# From GitHub (latest)\r\npip install git+https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Faudiocraft.git\r\n\r\n# Or use HuggingFace Transformers\r\npip install transformers torch torchaudio\r\n```\r\n\r\n### Basic text-to-music (AudioCraft)\r\n\r\n```python\r\nimport torchaudio\r\nfrom audiocraft.models import MusicGen\r\n\r\n# Load model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-small')\r\n\r\n# Set generation parameters\r\nmodel.set_generation_params(\r\n    duration=8,  # seconds\r\n    top_k=250,\r\n    temperature=1.0\r\n)\r\n\r\n# Generate from text\r\ndescriptions = [\"happy upbeat electronic dance music with synths\"]\r\nwav = model.generate(descriptions)\r\n\r\n# Save audio\r\ntorchaudio.save(\"output.wav\", wav[0].cpu(), sample_rate=32000)\r\n```\r\n\r\n### Using HuggingFace Transformers\r\n\r\n```python\r\nfrom transformers import AutoProcessor, MusicgenForConditionalGeneration\r\nimport scipy\r\n\r\n# Load model and processor\r\nprocessor = AutoProcessor.from_pretrained(\"facebook\u002Fmusicgen-small\")\r\nmodel = MusicgenForConditionalGeneration.from_pretrained(\"facebook\u002Fmusicgen-small\")\r\nmodel.to(\"cuda\")\r\n\r\n# Generate music\r\ninputs = processor(\r\n    text=[\"80s pop track with bassy drums and synth\"],\r\n    padding=True,\r\n    return_tensors=\"pt\"\r\n).to(\"cuda\")\r\n\r\naudio_values = model.generate(\r\n    **inputs,\r\n    do_sample=True,\r\n    guidance_scale=3,\r\n    max_new_tokens=256\r\n)\r\n\r\n# Save\r\nsampling_rate = model.config.audio_encoder.sampling_rate\r\nscipy.io.wavfile.write(\"output.wav\", rate=sampling_rate, data=audio_values[0, 0].cpu().numpy())\r\n```\r\n\r\n### Text-to-sound with AudioGen\r\n\r\n```python\r\nfrom audiocraft.models import AudioGen\r\n\r\n# Load AudioGen\r\nmodel = AudioGen.get_pretrained('facebook\u002Faudiogen-medium')\r\n\r\nmodel.set_generation_params(duration=5)\r\n\r\n# Generate sound effects\r\ndescriptions = [\"dog barking in a park with birds chirping\"]\r\nwav = model.generate(descriptions)\r\n\r\ntorchaudio.save(\"sound.wav\", wav[0].cpu(), sample_rate=16000)\r\n```\r\n\r\n## Core concepts\r\n\r\n### Architecture overview\r\n\r\n```\r\nAudioCraft Architecture:\r\n┌──────────────────────────────────────────────────────────────┐\r\n│                    Text Encoder (T5)                          │\r\n│                         │                                     │\r\n│                    Text Embeddings                            │\r\n└────────────────────────┬─────────────────────────────────────┘\r\n                         │\r\n┌────────────────────────▼─────────────────────────────────────┐\r\n│              Transformer Decoder (LM)                         │\r\n│     Auto-regressively generates audio tokens                  │\r\n│     Using efficient token interleaving patterns               │\r\n└────────────────────────┬─────────────────────────────────────┘\r\n                         │\r\n┌────────────────────────▼─────────────────────────────────────┐\r\n│                EnCodec Audio Decoder                          │\r\n│        Converts tokens back to audio waveform                 │\r\n└──────────────────────────────────────────────────────────────┘\r\n```\r\n\r\n### Model variants\r\n\r\n| Model | Size | Description | Use Case |\r\n|-------|------|-------------|----------|\r\n| `musicgen-small` | 300M | Text-to-music | Quick generation |\r\n| `musicgen-medium` | 1.5B | Text-to-music | Balanced |\r\n| `musicgen-large` | 3.3B | Text-to-music | Best quality |\r\n| `musicgen-melody` | 1.5B | Text + melody | Melody conditioning |\r\n| `musicgen-melody-large` | 3.3B | Text + melody | Best melody |\r\n| `musicgen-stereo-*` | Varies | Stereo output | Stereo generation |\r\n| `musicgen-style` | 1.5B | Style transfer | Reference-based |\r\n| `audiogen-medium` | 1.5B | Text-to-sound | Sound effects |\r\n\r\n### Generation parameters\r\n\r\n| Parameter | Default | Description |\r\n|-----------|---------|-------------|\r\n| `duration` | 8.0 | Length in seconds (1-120) |\r\n| `top_k` | 250 | Top-k sampling |\r\n| `top_p` | 0.0 | Nucleus sampling (0 = disabled) |\r\n| `temperature` | 1.0 | Sampling temperature |\r\n| `cfg_coef` | 3.0 | Classifier-free guidance |\r\n\r\n## MusicGen usage\r\n\r\n### Text-to-music generation\r\n\r\n```python\r\nfrom audiocraft.models import MusicGen\r\nimport torchaudio\r\n\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-medium')\r\n\r\n# Configure generation\r\nmodel.set_generation_params(\r\n    duration=30,          # Up to 30 seconds\r\n    top_k=250,            # Sampling diversity\r\n    top_p=0.0,            # 0 = use top_k only\r\n    temperature=1.0,      # Creativity (higher = more varied)\r\n    cfg_coef=3.0          # Text adherence (higher = stricter)\r\n)\r\n\r\n# Generate multiple samples\r\ndescriptions = [\r\n    \"epic orchestral soundtrack with strings and brass\",\r\n    \"chill lo-fi hip hop beat with jazzy piano\",\r\n    \"energetic rock song with electric guitar\"\r\n]\r\n\r\n# Generate (returns [batch, channels, samples])\r\nwav = model.generate(descriptions)\r\n\r\n# Save each\r\nfor i, audio in enumerate(wav):\r\n    torchaudio.save(f\"music_{i}.wav\", audio.cpu(), sample_rate=32000)\r\n```\r\n\r\n### Melody-conditioned generation\r\n\r\n```python\r\nfrom audiocraft.models import MusicGen\r\nimport torchaudio\r\n\r\n# Load melody model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-melody')\r\nmodel.set_generation_params(duration=30)\r\n\r\n# Load melody audio\r\nmelody, sr = torchaudio.load(\"melody.wav\")\r\n\r\n# Generate with melody conditioning\r\ndescriptions = [\"acoustic guitar folk song\"]\r\nwav = model.generate_with_chroma(descriptions, melody, sr)\r\n\r\ntorchaudio.save(\"melody_conditioned.wav\", wav[0].cpu(), sample_rate=32000)\r\n```\r\n\r\n### Stereo generation\r\n\r\n```python\r\nfrom audiocraft.models import MusicGen\r\n\r\n# Load stereo model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-stereo-medium')\r\nmodel.set_generation_params(duration=15)\r\n\r\ndescriptions = [\"ambient electronic music with wide stereo panning\"]\r\nwav = model.generate(descriptions)\r\n\r\n# wav shape: [batch, 2, samples] for stereo\r\nprint(f\"Stereo shape: {wav.shape}\")  # [1, 2, 480000]\r\ntorchaudio.save(\"stereo.wav\", wav[0].cpu(), sample_rate=32000)\r\n```\r\n\r\n### Audio continuation\r\n\r\n```python\r\nfrom transformers import AutoProcessor, MusicgenForConditionalGeneration\r\n\r\nprocessor = AutoProcessor.from_pretrained(\"facebook\u002Fmusicgen-medium\")\r\nmodel = MusicgenForConditionalGeneration.from_pretrained(\"facebook\u002Fmusicgen-medium\")\r\n\r\n# Load audio to continue\r\nimport torchaudio\r\naudio, sr = torchaudio.load(\"intro.wav\")\r\n\r\n# Process with text and audio\r\ninputs = processor(\r\n    audio=audio.squeeze().numpy(),\r\n    sampling_rate=sr,\r\n    text=[\"continue with a epic chorus\"],\r\n    padding=True,\r\n    return_tensors=\"pt\"\r\n)\r\n\r\n# Generate continuation\r\naudio_values = model.generate(**inputs, do_sample=True, guidance_scale=3, max_new_tokens=512)\r\n```\r\n\r\n## MusicGen-Style usage\r\n\r\n### Style-conditioned generation\r\n\r\n```python\r\nfrom audiocraft.models import MusicGen\r\n\r\n# Load style model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-style')\r\n\r\n# Configure generation with style\r\nmodel.set_generation_params(\r\n    duration=30,\r\n    cfg_coef=3.0,\r\n    cfg_coef_beta=5.0  # Style influence\r\n)\r\n\r\n# Configure style conditioner\r\nmodel.set_style_conditioner_params(\r\n    eval_q=3,          # RVQ quantizers (1-6)\r\n    excerpt_length=3.0  # Style excerpt length\r\n)\r\n\r\n# Load style reference\r\nstyle_audio, sr = torchaudio.load(\"reference_style.wav\")\r\n\r\n# Generate with text + style\r\ndescriptions = [\"upbeat dance track\"]\r\nwav = model.generate_with_style(descriptions, style_audio, sr)\r\n```\r\n\r\n### Style-only generation (no text)\r\n\r\n```python\r\n# Generate matching style without text prompt\r\nmodel.set_generation_params(\r\n    duration=30,\r\n    cfg_coef=3.0,\r\n    cfg_coef_beta=None  # Disable double CFG for style-only\r\n)\r\n\r\nwav = model.generate_with_style([None], style_audio, sr)\r\n```\r\n\r\n## AudioGen usage\r\n\r\n### Sound effect generation\r\n\r\n```python\r\nfrom audiocraft.models import AudioGen\r\nimport torchaudio\r\n\r\nmodel = AudioGen.get_pretrained('facebook\u002Faudiogen-medium')\r\nmodel.set_generation_params(duration=10)\r\n\r\n# Generate various sounds\r\ndescriptions = [\r\n    \"thunderstorm with heavy rain and lightning\",\r\n    \"busy city traffic with car horns\",\r\n    \"ocean waves crashing on rocks\",\r\n    \"crackling campfire in forest\"\r\n]\r\n\r\nwav = model.generate(descriptions)\r\n\r\nfor i, audio in enumerate(wav):\r\n    torchaudio.save(f\"sound_{i}.wav\", audio.cpu(), sample_rate=16000)\r\n```\r\n\r\n## EnCodec usage\r\n\r\n### Audio compression\r\n\r\n```python\r\nfrom audiocraft.models import CompressionModel\r\nimport torch\r\nimport torchaudio\r\n\r\n# Load EnCodec\r\nmodel = CompressionModel.get_pretrained('facebook\u002Fencodec_32khz')\r\n\r\n# Load audio\r\nwav, sr = torchaudio.load(\"audio.wav\")\r\n\r\n# Ensure correct sample rate\r\nif sr != 32000:\r\n    resampler = torchaudio.transforms.Resample(sr, 32000)\r\n    wav = resampler(wav)\r\n\r\n# Encode to tokens\r\nwith torch.no_grad():\r\n    encoded = model.encode(wav.unsqueeze(0))\r\n    codes = encoded[0]  # Audio codes\r\n\r\n# Decode back to audio\r\nwith torch.no_grad():\r\n    decoded = model.decode(codes)\r\n\r\ntorchaudio.save(\"reconstructed.wav\", decoded[0].cpu(), sample_rate=32000)\r\n```\r\n\r\n## Common workflows\r\n\r\n### Workflow 1: Music generation pipeline\r\n\r\n```python\r\nimport torch\r\nimport torchaudio\r\nfrom audiocraft.models import MusicGen\r\n\r\nclass MusicGenerator:\r\n    def __init__(self, model_name=\"facebook\u002Fmusicgen-medium\"):\r\n        self.model = MusicGen.get_pretrained(model_name)\r\n        self.sample_rate = 32000\r\n\r\n    def generate(self, prompt, duration=30, temperature=1.0, cfg=3.0):\r\n        self.model.set_generation_params(\r\n            duration=duration,\r\n            top_k=250,\r\n            temperature=temperature,\r\n            cfg_coef=cfg\r\n        )\r\n\r\n        with torch.no_grad():\r\n            wav = self.model.generate([prompt])\r\n\r\n        return wav[0].cpu()\r\n\r\n    def generate_batch(self, prompts, duration=30):\r\n        self.model.set_generation_params(duration=duration)\r\n\r\n        with torch.no_grad():\r\n            wav = self.model.generate(prompts)\r\n\r\n        return wav.cpu()\r\n\r\n    def save(self, audio, path):\r\n        torchaudio.save(path, audio, sample_rate=self.sample_rate)\r\n\r\n# Usage\r\ngenerator = MusicGenerator()\r\naudio = generator.generate(\r\n    \"epic cinematic orchestral music\",\r\n    duration=30,\r\n    temperature=1.0\r\n)\r\ngenerator.save(audio, \"epic_music.wav\")\r\n```\r\n\r\n### Workflow 2: Sound design batch processing\r\n\r\n```python\r\nimport json\r\nfrom pathlib import Path\r\nfrom audiocraft.models import AudioGen\r\nimport torchaudio\r\n\r\ndef batch_generate_sounds(sound_specs, output_dir):\r\n    \"\"\"\r\n    Generate multiple sounds from specifications.\r\n\r\n    Args:\r\n        sound_specs: list of {\"name\": str, \"description\": str, \"duration\": float}\r\n        output_dir: output directory path\r\n    \"\"\"\r\n    model = AudioGen.get_pretrained('facebook\u002Faudiogen-medium')\r\n    output_dir = Path(output_dir)\r\n    output_dir.mkdir(exist_ok=True)\r\n\r\n    results = []\r\n\r\n    for spec in sound_specs:\r\n        model.set_generation_params(duration=spec.get(\"duration\", 5))\r\n\r\n        wav = model.generate([spec[\"description\"]])\r\n\r\n        output_path = output_dir \u002F f\"{spec['name']}.wav\"\r\n        torchaudio.save(str(output_path), wav[0].cpu(), sample_rate=16000)\r\n\r\n        results.append({\r\n            \"name\": spec[\"name\"],\r\n            \"path\": str(output_path),\r\n            \"description\": spec[\"description\"]\r\n        })\r\n\r\n    return results\r\n\r\n# Usage\r\nsounds = [\r\n    {\"name\": \"explosion\", \"description\": \"massive explosion with debris\", \"duration\": 3},\r\n    {\"name\": \"footsteps\", \"description\": \"footsteps on wooden floor\", \"duration\": 5},\r\n    {\"name\": \"door\", \"description\": \"wooden door creaking and closing\", \"duration\": 2}\r\n]\r\n\r\nresults = batch_generate_sounds(sounds, \"sound_effects\u002F\")\r\n```\r\n\r\n### Workflow 3: Gradio demo\r\n\r\n```python\r\nimport gradio as gr\r\nimport torch\r\nimport torchaudio\r\nfrom audiocraft.models import MusicGen\r\n\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-small')\r\n\r\ndef generate_music(prompt, duration, temperature, cfg_coef):\r\n    model.set_generation_params(\r\n        duration=duration,\r\n        temperature=temperature,\r\n        cfg_coef=cfg_coef\r\n    )\r\n\r\n    with torch.no_grad():\r\n        wav = model.generate([prompt])\r\n\r\n    # Save to temp file\r\n    path = \"temp_output.wav\"\r\n    torchaudio.save(path, wav[0].cpu(), sample_rate=32000)\r\n    return path\r\n\r\ndemo = gr.Interface(\r\n    fn=generate_music,\r\n    inputs=[\r\n        gr.Textbox(label=\"Music Description\", placeholder=\"upbeat electronic dance music\"),\r\n        gr.Slider(1, 30, value=8, label=\"Duration (seconds)\"),\r\n        gr.Slider(0.5, 2.0, value=1.0, label=\"Temperature\"),\r\n        gr.Slider(1.0, 10.0, value=3.0, label=\"CFG Coefficient\")\r\n    ],\r\n    outputs=gr.Audio(label=\"Generated Music\"),\r\n    title=\"MusicGen Demo\"\r\n)\r\n\r\ndemo.launch()\r\n```\r\n\r\n## Performance optimization\r\n\r\n### Memory optimization\r\n\r\n```python\r\n# Use smaller model\r\nmodel = MusicGen.get_pretrained('facebook\u002Fmusicgen-small')\r\n\r\n# Clear cache between generations\r\ntorch.cuda.empty_cache()\r\n\r\n# Generate shorter durations\r\nmodel.set_generation_params(duration=10)  # Instead of 30\r\n\r\n# Use half precision\r\nmodel = model.half()\r\n```\r\n\r\n### Batch processing efficiency\r\n\r\n```python\r\n# Process multiple prompts at once (more efficient)\r\ndescriptions = [\"prompt1\", \"prompt2\", \"prompt3\", \"prompt4\"]\r\nwav = model.generate(descriptions)  # Single batch\r\n\r\n# Instead of\r\nfor desc in descriptions:\r\n    wav = model.generate([desc])  # Multiple batches (slower)\r\n```\r\n\r\n### GPU memory requirements\r\n\r\n| Model | FP32 VRAM | FP16 VRAM |\r\n|-------|-----------|-----------|\r\n| musicgen-small | ~4GB | ~2GB |\r\n| musicgen-medium | ~8GB | ~4GB |\r\n| musicgen-large | ~16GB | ~8GB |\r\n\r\n## Common issues\r\n\r\n| Issue | Solution |\r\n|-------|----------|\r\n| CUDA OOM | Use smaller model, reduce duration |\r\n| Poor quality | Increase cfg_coef, better prompts |\r\n| Generation too short | Check max duration setting |\r\n| Audio artifacts | Try different temperature |\r\n| Stereo not working | Use stereo model variant |\r\n\r\n## References\r\n\r\n- **[Advanced Usage](references\u002Fadvanced-usage.md)** - Training, fine-tuning, deployment\r\n- **[Troubleshooting](references\u002Ftroubleshooting.md)** - Common issues and solutions\r\n\r\n## Resources\r\n\r\n- **GitHub**: https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Faudiocraft\r\n- **Paper (MusicGen)**: https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.05284\r\n- **Paper (AudioGen)**: https:\u002F\u002Farxiv.org\u002Fabs\u002F2209.15352\r\n- **HuggingFace**: https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fmusicgen-small\r\n- **Demo**: https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Ffacebook\u002FMusicGen\r\n",{"name":5,"author":42,"license":15,"version":43,"metadata":44,"description":7,"dependencies":52},"Orchestra Research","1.0.0",{"hermes":45},{"tags":46},[47,48,49,50,51],"Multimodal","Audio Generation","Text-to-Music","Text-to-Audio","MusicGen",[53,54,55],"audiocraft","torch>=2.0.0","transformers>=4.30.0","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F0a\u002F0ac770a148d33866427a46a5f9dc14c6c93f5e406b4d80981ff7e3173807c349",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add zapabob\u002FSkills --skill audiocraft-audio-generation",{"tool":70,"command":71},"bunx","bunx skills add zapabob\u002FSkills --skill audiocraft-audio-generation",{"tool":73,"command":74},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill audiocraft-audio-generation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F0a\u002F0ac770a148d33866427a46a5f9dc14c6c93f5e406b4d80981ff7e3173807c349\u002FSKILL.md",true,[],[79,115,150,170,196,213],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":96,"publishedAt":37},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[85,88,91],{"categoryNo":86,"categoryName":87,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":89,"categoryName":90,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[81,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,56,112,113,114],"openclaw","macos","cli","github","linux","windows","official","search","https","social-media","api","Media","hermes","hermes agent","twitter","social","via","post",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":132,"publishedAt":37},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[121,124,127,128,129],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":125,"categoryName":126,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":89,"categoryName":90,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},{"categoryNo":130,"categoryName":131,"taxonomyType":94,"taxonomyTypeDesc":95},"01JBSEEDCAT000000000000036","内容创作者",[133,134,135,136,98,137,101,138,102,139,140,141,142,143,144,145,146,147,148,149],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":37},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[156],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[152,98,101,158,159,31,33,160,24,35,161,162,36,163,164,165,166,167,168,169],"openai","speech","ASR","model","speech recognition","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":179,"publishedAt":37},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[176],{"categoryNo":177,"categoryName":178,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[180,98,181,182,102,28,183,184,185,186,187,161,188,189,190,191,192,193,194,195],"weights and biases","tensorflow","experiments","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":203,"publishedAt":37},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[202],{"categoryNo":89,"categoryName":90,"taxonomyType":21,"taxonomyTypeDesc":22},[198,98,204,100,101,205,206,207,208,209,210,109,110,211,212],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":217,"categories":218,"keywords":221,"publishedAt":37},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[219,220],{"categoryNo":86,"categoryName":87,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":92,"categoryName":93,"taxonomyType":94,"taxonomyTypeDesc":95},[222,223,224,101,27,158,225,226,227,33,228,107,229,230,231,232,233,234,235,236],"llms","vLLM","serving llms vllm","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]