abcjs调用openai兼容ai大模型api实现ai曲谱生成器显示五线谱及播放曲谱代码

代码语言:html

所属分类:多媒体

代码描述:abcjs调用openai兼容ai大模型api实现ai曲谱生成器显示五线谱及播放曲谱代码,描述你想要生成的曲谱,ai自动生成曲谱,通过abc渲染五线谱并进行播放。

代码标签: abc 调用 openai 兼容 ai 大模型 api 曲谱 生成 显示 五线谱 播放 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8" />
  <title>AI 曲谱生成器 · OpenAI + ABCJS</title>
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <!-- Google Fonts -->
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;600&display=swap" rel="stylesheet">
  <!-- ABCJS (full build for audio + render) -->
 <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/abcjs-basic-min.js"></script>
  <style>
    :root{
      --bg:#0f1221;
      --card:#14182a;
      --muted:#b8c1d8;
      --text:#eaf0ff;
      --brand:#6c8cff;
      --brand-2:#9f7aea;
      --ok:#2ecc71;
      --warn:#ffb200;
      --err:#ff6b6b;
      --border:rgba(255,255,255,0.08);
      --shadow: 0 10px 30px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.03);
    }
    *{ box-sizing: border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      font-family:"Inter","Noto Sans SC",system-ui,-apple-system,Segoe UI,Roboto,Arial;
      background:
        radial-gradient(1200px 600px at 10% -20%, rgba(108,140,255,0.25), transparent 50%),
        radial-gradient(900px 500px at 90% -10%, rgba(159,122,234,0.25), transparent 50%),
        linear-gradient(180deg, #0a0d1a, #0f1221 40%, #0f1221);
      color:var(--text);
    }
    .wrap{
      max-width: 1080px;
      margin: 40px auto 80px;
      padding: 0 20px;
    }
    header{
      display:flex; align-items:center; justify-content:space-between;
      margin-bottom: 24px;
    }
    .brand{
      display:flex; align-items:center; gap:12px;
    }
    .logo{
      width:48px;height:48px;border-radius:12px;
      background: conic-gradient(from 220deg at 50% 50%, var(--brand), var(--brand-2), var(--brand));
      box-shadow: var(--shadow);
    }
    h1{
      margin:0; font-size: 28px; letter-spacing: .2px;
      background: linear-gradient(90deg, #ffffff, #cdd7ff);
      -webkit-background-clip:text; background-clip:text; color:transparent;
      font-weight: 700;
    }
    .sub{
      color: var(--muted); font-size: 14px; margin-top: 2px;
    }
    .card{
      background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.00));
      border: 1px solid var(--border);
      border-radius: 16px;
      box-shadow: var(--shadow);
    }
    .controls{
      display:grid; gap:16px; grid-template-columns: 1fr 1fr; padding:18px;
    }
    .controls .row{
      display:grid; grid-template-columns: 1fr 1fr; gap: 12px;
    }
    .controls .row-3{
      display:grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 12px;
    }
    .full{ grid-column: 1 / -1; }
    label{
      font-size: 12px; color: var(--muted); display:block; margin-bottom:8px; letter-spacing:.3px;
    }
    input[type="text"], input[type="password"], select, textarea{
      width:100%;
      background: #0c1021;
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 12px;
      padding: 12px 14px;
      outline: none;
      transition: border .2s ease, box-shadow .2s ease;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
    }
    textarea{ min-height: 120px; resize: vertical; }
    input[type="text"]:focus, input[type="password"]:focus, select:focus, textarea:focus{
      border-color: rgba(108,140,255,0.6);
      box-shadow: 0 0 0 4px rgba(108,140,255,0.15);
    }
    .btns.........完整代码请登录后点击上方下载按钮下载查看

网友评论0