[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6G89EMVCVHWG4094RVBAKV6":3,"skill-same:01M6G89EMVCVHWG4094RVBAKV6":76},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6G89EMVCVHWG4094RVBAKV6","audiocraft-audio-generation",null,"AudioCraft: MusicGen text-to-music, AudioGen text-to-sound.","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\u002F63\u002F63f07d9ee2ad2e83fff561f472af1fab15773166fb8c636bef0083352af01d67\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,37,38],"Audio","audiocraft audio generation","generation","Audio Generation","audiocraft","macos","linux","research","multimodal","Transformers","music","text","Text-to-Music","Text-to-Audio","MusicGen","2026-11-10 10:12:30",false,"---\r\nname: audiocraft-audio-generation\r\ndescription: \"AudioCraft: MusicGen text-to-music, AudioGen text-to-sound.\"\r\nversion: 1.0.0\r\nauthor: Orchestra Research\r\nlicense: MIT\r\ndependencies: [audiocraft, torch>=2.0.0, transformers>=4.30.0]\r\nplatforms: [linux, macos]\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":44,"license":15,"version":45,"metadata":46,"platforms":50,"description":7,"dependencies":51},"Orchestra Research","1.0.0",{"hermes":47},{"tags":48},[49,27,36,37,38],"Multimodal",[30,29],[28,52,53],"torch>=2.0.0","transformers>=4.30.0","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F63\u002F63f07d9ee2ad2e83fff561f472af1fab15773166fb8c636bef0083352af01d67",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":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add zapabob\u002FSkills --skill audiocraft-audio-generation",{"tool":68,"command":69},"bunx","bunx skills add zapabob\u002FSkills --skill audiocraft-audio-generation",{"tool":71,"command":72},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill audiocraft-audio-generation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F63\u002F63f07d9ee2ad2e83fff561f472af1fab15773166fb8c636bef0083352af01d67\u002FSKILL.md",true,[],[77,111,146,167,194,211],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":94,"publishedAt":39},"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",[83,86,89],{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[79,95,29,96,97,30,98,99,100,101,102,103,104,105,106,107,54,108,109,110],"openclaw","cli","github","windows","official","search","https","social-media","api","Media","hermes","hermes agent","twitter","social","via","post",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":128,"publishedAt":39},"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",[117,120,123,124,125],{"categoryNo":118,"categoryName":119,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},{"categoryNo":126,"categoryName":127,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000036","内容创作者",[129,130,131,132,29,133,30,134,98,135,136,137,138,139,140,141,142,143,144,145],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":39},"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",[152],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[148,29,30,154,155,32,33,156,24,35,157,158,159,160,161,162,163,164,165,166],"openai","speech","ASR","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":176,"publishedAt":39},"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",[173],{"categoryNo":174,"categoryName":175,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[177,29,178,179,98,180,181,182,183,184,185,157,186,187,188,189,190,191,192,193],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":201,"publishedAt":39},"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",[200],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},[196,29,202,97,30,203,204,205,206,207,208,105,106,209,210],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":215,"categories":216,"keywords":219,"publishedAt":39},"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",[217,218],{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[220,221,222,30,31,154,223,224,225,33,226,103,227,228,229,230,231,232,233,234],"llms","vLLM","serving llms vllm","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]