story-music

辅助讲故事和放音乐的技能。用于生成故事内容、选择背景音乐、调整音量、控制播放顺序,以及为故事添加语音旁白。使用场景包括:睡前故事、儿童故事、小说朗读、戏剧表演、播客制作等。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "story-music" with this command: npx skills add Wsteve/story-music

故事音乐技能

辅助创建故事内容并配合背景音乐播放的工具。

核心功能

1. 故事生成

提供各种类型的故事生成功能。

支持的故事类型:

  • 睡前故事 - 轻柔、平静、适合放松
  • 儿童故事 - 富有想象力、简单易懂
  • 奇幻故事 - 冒险、魔法、奇幻元素
  • 科幻故事 - 未来科技、太空探索
  • 悬疑故事 - 谜题、推理、紧张氛围
  • 历史故事 - 时代背景、人文历史
  • 成长故事 - 青春、励志、人生感悟

2. 音乐选择与播放

为故事选择合适的背景音乐。

音乐分类:

  • 轻松舒缓 - 适合放松、日常背景
  • 欢快活泼 - 适合儿童、积极主题
  • 悲伤感人 - 适合情感故事、回忆
  • 紧张刺激 - 适合悬疑、冒险
  • 神秘奇幻 - 适合魔法、超自然主题
  • 古典优雅 - 适合历史、正式场合
  • 现代流行 - 适合现代、青春主题

音乐控制:

  • 播放/暂停
  • 音量调节 (0-100%)
  • 切换歌曲
  • 循环播放
  • 随机播放

3. 语音旁白

生成故事语音旁白文本。

功能:

  • 根据故事内容生成旁白脚本
  • 调整语速 (正常/慢速/极慢)
  • 调整音调 (柔和/标准/戏剧)
  • 分段朗读

快速开始

基础故事生成

# 生成一个睡前故事
story = generate_story(
    genre="bedtime",
    character="小兔子",
    setting="森林",
    duration="5分钟"
)

print(story.content)
# 输出:故事内容...

添加背景音乐

# 选择适合的音乐
music = select_music(
    mood="relaxing",
    genre="instrumental",
    tempo="slow"
)

# 播放音乐
play_music(music)

完整故事播放

# 创建完整的故事体验
story_experience = StoryExperience(
    title="小兔子的森林冒险",
    content=story.content,
    music=music,
    narration_speed="slow",
    narration_tone="gentle"
)

# 播放
story_experience.play()

# 停止
story_experience.stop()

音乐素材

默认音乐库

风格文件名时长适用场景
轻松舒缓relaxing.mp33:45睡前、放松
欢快活泼cheerful.mp32:30儿童、日常
悲伤感人emotional.mp34:12情感故事
紧张刺激intense.mp33:00悬疑、冒险
神秘奇幻magical.mp33:50魔法、超自然
古典优雅classical.mp35:00历史、正式
现代流行pop.mp33:20现代、青春

添加自定义音乐

  1. 将音乐文件放入 assets/music/ 目录
  2. 在代码中引用:
from assets.music import track_list

# 添加到音乐库
track_list.append({
    'name': '我的故事音乐',
    'file': 'my_story_music.mp3',
    'mood': 'happy',
    'duration': 3:30
})

语音功能

使用TTS生成语音

from tts import text_to_speech

# 生成旁白语音
audio = text_to_speech(
    text=story.narration,
    voice='gentle',
    speed=0.8,  # 80% 正常速度
    pitch='lower'
)

# 播放语音
play_audio(audio)

语音控制

语音风格选项:

  • gentle - 柔和(适合睡前)
  • warm - 温暖(适合情感故事)
  • energetic - 活力(适合儿童)
  • dramatic - 戏剧(适合冒险)
  • calm - 平静(适合放松)

语速选项:

  • normal - 正常 (100%)
  • slow - 慢速 (80%)
  • very_slow - 极慢 (60%)
  • fast - 快速 (120%)

故事模板

睡前故事模板

bedtime_story = {
    'title': '睡梦之旅',
    'characters': ['小星星', '云朵'],
    'setting': '夜空',
    'plot': [
        '开头:介绍角色和场景',
        '发展:小星星的冒险',
        '高潮:遇到小云朵',
        '结尾:温馨的睡眠氛围'
    ],
    'music': 'relaxing',
    'narration_tone': 'gentle',
    'narration_speed': 'slow'
}

儿童故事模板

children_story = {
    'title': '勇敢的小猫',
    'characters': ['小猫咪', '小老鼠'],
    'setting': '花园',
    'plot': [
        '开头:介绍小猫咪',
        '发展:遇到小老鼠',
        '高潮:合作解决问题',
        '结尾:友谊和快乐'
    ],
    'music': 'cheerful',
    'narration_tone': 'energetic',
    'narration_speed': 'normal'
}

使用场景

场景1:睡前故事

# 为孩子生成睡前故事
experience = create_bedtime_story(
    child_name="小明",
    favorite_animal="小熊",
    duration="10分钟"
)

# 播放
experience.play()

场景2:小说朗读

# 朗读小说章节
narrate_chapter(
    title="第一章:神秘的森林",
    text=novel_chapter,
    voice='dramatic',
    speed=1.0,
    add_background_music=True,
    music='magical'
)

场景3:播客制作

# 制作故事播客
podcast = create_podcast(
    title="每晚故事时间",
    episode="第5期",
    stories=[
        {
            'title': '森林里的音乐会',
            'content': '...',
            'music': 'classical',
            'duration': '8分钟'
        },
        {
            'title': '月亮的故事',
            'content': '...',
            'music': 'relaxing',
            'duration': '6分钟'
        }
    ]
)

# 播放列表模式
podcast.play_playlist()

音频管理

播放列表

# 创建播放列表
playlist = StoryPlaylist([
    'relaxing',  # 开场音乐
    'story_with_music',  # 故事+音乐
    'emotional',  # 情感转折
    'relaxing'  # 结尾放松
])

# 播放
playlist.play()

音量控制

# 调节音量
set_volume(80)  # 80%
set_volume(50)  # 50%

# 淡入淡出
fade_in(duration=3)  # 3秒淡入
fade_out(duration=5)  # 5秒淡出

高级功能

动态音乐切换

根据故事情节自动切换音乐:

dynamic_music = DynamicMusicController()

# 设置情节触发点
dynamic_music.add_trigger(
    trigger="情节开始",
    music="magical",
    volume=70
)

dynamic_music.add_trigger(
    trigger="情节高潮",
    music="intense",
    volume=85
)

# 在故事中应用
dynamic_music.apply_to_story(story)

多角色对话

dialogue = CharacterDialogue([
    {
        'character': '小熊',
        'voice': 'gentle',
        'lines': ['大家好!', '今天天气真好!']
    },
    {
        'character': '小兔子',
        'voice': 'cheerful',
        'lines': ['是啊!我们去冒险吧!']
    }
])

dialogue.narrate_with_music(music='cheerful')

情感氛围调节

根据故事情感调整整体氛围:

atmosphere = AtmosphereController(
    story=story,
    music='emotional',
    voice='warm',
    speed=0.9
)

# 播放
atmosphere.play()

# 调整氛围
atmosphere.set_mood('sad', intensity=0.7)
atmosphere.set_mood('happy', intensity=0.8)

故事参数配置

生成故事参数

story_params = {
    'genre': 'bedtime',  # 故事类型
    'age_group': '6-12',  # 年龄组
    'length': 'medium',  # 长度
    'language': 'zh-CN',  # 语言
    'custom_elements': {  # 自定义元素
        'main_character': '小狐狸',
        'setting': '森林',
        'themes': ['友谊', '勇气']
    },
    'music': {
        'style': 'relaxing',
        'volume': 60,
        'loop': True
    }
}

音频播放参数

audio_params = {
    'voice': 'gentle',  # 语音风格
    'speed': 0.8,  # 语速
    'pitch': 'lower',  # 音调
    'volume': 70,  # 音量
    'fade_in': 3,  # 淡入时间
    'fade_out': 5,  # 淡出时间
    'crossfade': 2  # 交叉淡入时间
}

故事示例

示例1:睡前故事

标题:小星星的梦
类型:睡前故事
角色:小星星、云朵妈妈
场景:夜空
时长:5分钟

[音乐:relaxing - 开始播放]

旁白:很久很久以前,在遥远的夜空上...

[情节:小星星想要去找朋友]

[音乐:切换到magical]

旁白:小星星飘啊飘,飘到了云端...

[高潮:遇到云朵妈妈]

[音乐:切换到cheerful - 暂停]

旁白:云朵妈妈温柔地说...

[结尾:温馨入睡]

[音乐:relaxing - 淡出]

示例2:儿童故事

标题:勇敢的小猫
类型:儿童故事
角色:小猫咪、小老鼠
场景:花园
时长:8分钟

[音乐:cheerful - 开始播放]

小猫咪:(欢快)今天天气真好!

[音乐:切换到dramatic]

旁白:突然,小猫咪遇到了困难...

[高潮:合作解决问题]

[音乐:切换到magical]

小老鼠:(惊喜)我也有办法!

[结尾:友谊和快乐]

[音乐:切换到relaxing - 持续播放]

故事生成工作流

标准流程

  1. 选择故事类型

    睡前故事 / 儿童故事 / 奇幻故事 / 科幻故事...
    
  2. 设定参数

    - 故事标题
    - 主要角色
    - 故事背景
    - 目标时长
    - 年龄组
    
  3. 选择音乐风格

    - 轻松 / 欢快 / 悲伤 / 紧张...
    
  4. 生成故事

    自动生成故事内容
    
  5. 配置音频

    - 语音风格
    - 语速
    - 音量
    
  6. 播放故事

    旁白 + 背景音乐
    

自定义流程

# 自定义故事生成
custom_story = create_custom_story(
    theme="环保",
    length="长篇",
    age_group="12+",
    characters=["小树苗", "小水滴"],
    plot_outline=[
        "小树苗努力生长",
        "遇到干旱困难",
        "小水滴帮助它",
        "最终茁壮成长"
    ],
    music_style="emotional",
    voice_style='gentle'
)

# 播放
custom_story.play()

故事库管理

存储故事

# 保存故事
save_story(
    title="我的睡前故事",
    content=story_content,
    metadata={
        'type': 'bedtime',
        'age_group': '3-6',
        'created_date': '2026-03-06'
    }
)

# 从库加载
loaded_story = load_story("我的睡前故事")

故事分类

stories/
├── bedtime/           # 睡前故事
│   ├── 小星星的梦.mp3
│   ├── 森林里的音乐会.mp3
│   └── 月亮的故事.mp3
├── children/          # 儿童故事
│   ├── 勇敢的小猫.mp3
│   ├── 小兔子的冒险.mp3
│   └── 快乐的小熊.mp3
├── fantasy/           # 奇幻故事
│   └── 魔法森林.mp3
└── science_fiction/   # 科幻故事
    └── 太空之旅.mp3

故事分享

导出故事

# 导出为文本
export_story(story, format='txt', filename='story.txt')

# 导出为音频
export_story(story, format='audio', filename='story.mp3')

# 导出为视频
export_story(story, format='video', filename='story.mp4')

分享故事

# 生成分享链接
share_link = generate_share_link(story)

# 分享到平台
share_to_platform('wechat', story)
share_to_platform('wechat_moments', story)

故事编辑

编辑故事内容

# 修改故事文本
edit_story_text(
    story="小星星的梦",
    change=from="小星星飘啊飘",
    to="小星星慢慢地飘"
)

# 调整播放顺序
reorder_stories([
    "月亮的故事",
    "森林里的音乐会",
    "小星星的梦"
])

编辑音频

# 调整音乐音量
adjust_music_volume(
    story="小星星的梦",
    volume=75
)

# 调整旁白语速
adjust_narration_speed(
    story="小星星的梦",
    speed=0.7
)

# 切换语音风格
switch_voice(
    story="小星星的梦",
    voice='warm'
)

故事播放器

基础播放器

from player import StoryPlayer

# 创建播放器
player = StoryPlayer()

# 播放故事
player.play(story="小星星的梦")

# 暂停
player.pause()

# 恢复
player.resume()

# 停止
player.stop()

高级播放器

# 创建高级播放器
player = AdvancedStoryPlayer()

# 设置播放模式
player.set_mode('continuous')  # 连续播放
player.set_mode('single')      # 单首播放
player.set_mode('shuffle')     # 随机播放

# 设置循环
player.set_loop(True)  # 循环播放
player.set_loop(False)  # 不循环

# 设置音量
player.set_volume(80)

# 设置静音
player.set_muted(True)

# 播放历史
print(player.get_history())

# 删除播放历史
player.clear_history()

故事效果

音效添加

# 添加环境音效
add_sound_effect(
    story="小星星的梦",
    effect='night_noise',  # 夜晚声音
    volume=20
)

# 添加特殊音效
add_sound_effect(
    story="魔法森林",
    effect='magic_chime',  # 魔法铃声
    volume=30
)

背景氛围

# 设置背景氛围
set_background_atmosphere(
    story="悲伤的故事",
    atmosphere='rain',  # 雨声氛围
    intensity=60
)

set_background_atmosphere(
    story="欢快的舞会",
    atmosphere='party',  # 聚会氛围
    intensity=70
)

常见问题

Q: 如何添加自己的音乐?

A: 将音乐文件放入 assets/music/ 目录,然后在代码中引用:

# 添加到音乐库
from assets.music import track_list

track_list.append({
    'name': '我的音乐',
    'file': 'my_music.mp3',
    'mood': 'happy',
    'duration': 3:30
})

Q: 如何调整语速?

A: 使用 narration_speed 参数:

narrate(
    text="故事内容",
    speed=0.7  # 0.6-1.5 之间
)
  • 1.0: 正常速度
  • 0.8: 慢速(适合睡前)
  • 0.6: 极慢(适合儿童)
  • 1.2: 快速

Q: 如何选择合适的音乐?

A: 根据故事类型选择:

故事类型推荐音乐
睡前故事relaxing, gentle
儿童故事cheerful, playful
悲伤故事emotional, piano
悬疑故事intense, dramatic
奇幻故事magical, ethereal
历史故事classical, orchestral

Q: 可以同时播放多个音频吗?

A: 可以,使用交叉淡入淡出:

# 播放音乐
play_music('relaxing', crossfade=2)

# 播放旁白
play_narration(story, crossfade=3)

# 淡出音乐
fade_out_music(duration=5)

故事创作技巧

1. 保持节奏

  • 开头:快速引入
  • 中间:逐渐展开
  • 高潮:紧张刺激
  • 结尾:温馨收尾

2. 情感起伏

  • 设置1-2个情感高潮
  • 使用音乐配合情感变化
  • 适当的音量变化

3. 互动性

  • 添加提问环节
  • 让听众参与决策
  • 增加互动音效

4. 重复性

  • 重要情节重复强调
  • 主题反复出现
  • 使用重复的音乐节奏

故事制作清单

制作前检查

  • 确定故事类型和目标受众
  • 选择合适的故事主题
  • 设定主要角色
  • 规划故事情节
  • 选择音乐风格
  • 准备背景音效

制作中检查

  • 生成故事内容
  • 选择合适的音乐
  • 设置语音参数
  • 测试播放效果
  • 调整音量和节奏

制作后检查

  • 完整测试播放流程
  • 检查音频质量
  • 确认所有功能正常
  • 保存故事文件
  • 分享给目标受众

技术支持

问题反馈

遇到问题请记录:

  1. 问题描述
  2. 错误信息(如有)
  3. 操作步骤
  4. 预期结果
  5. 实际结果

功能建议

欢迎提出功能改进建议:

  • 新的故事类型
  • 更多音乐素材
  • 特殊音效
  • 视频功能
  • 跨平台支持

更新日志

v1.0.0 (2026-03-06)

新增功能:

  • 故事生成基础功能
  • 音乐选择和播放
  • 语音旁白
  • 音频控制

基础素材:

  • 7种背景音乐风格
  • 多种语音风格
  • 故事模板

支持场景:

  • 睡前故事
  • 儿童故事
  • 小说朗读
  • 播客制作

使用提示:

  • 首次使用建议从简单场景开始
  • 可以根据需要自定义音乐和语音
  • 建议定期保存故事文件
  • 探索不同组合创造独特体验

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Dingding

钉钉开放平台开发助手,精通机器人、审批流程、日程管理等企业 API

Registry SourceRecently Updated
General

Takeout Coupon 外卖优惠券隐藏券大额券,美团、京东、闪购/饿了么

调用外卖优惠券API获取各平台(美团、淘宝闪购/饿了么、京东)的隐藏外卖券列表及聚合领券页面。返回优惠券代码和领取说明,用户可复制优惠码到对应APP领取。

Registry SourceRecently Updated
General

AI Rankings Leaderboard (AI 排行榜)

Comprehensive AI leaderboard for LLM models and AI applications. Query model rankings, model IDs, and pricing from OpenRouter and Pinchbench. Trigger words i...

Registry SourceRecently Updated