yooi commited on
Commit
7ccbadf
·
verified ·
1 Parent(s): 56ee27a

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +11 -14
app.py CHANGED
@@ -48,7 +48,7 @@ def do_interpret(poem: str, correction: str):
48
  return f"### 画中之意\n\n{interp.understanding_zh}", interp.brief_en
49
 
50
 
51
- def do_paint(brief_en: str, style_id: str, poem: str, greeting: str):
52
  if not brief_en:
53
  raise gr.Error("请先点「读诗」,让我先体会诗意。")
54
  brief = ensure_text_free(apply_image_style(brief_en, style_id or DEFAULT_IMAGE_STYLE))
@@ -56,7 +56,7 @@ def do_paint(brief_en: str, style_id: str, poem: str, greeting: str):
56
  painting = providers.get_painter().paint(brief)
57
  except Exception as exc: # noqa: BLE001 — cold-start/network → warm copy
58
  raise gr.Error("画师正在热身(首次作画要多等一会儿),请稍候再点一次「作画」。") from exc
59
- card = compose_card(painting, poem, greeting or "")
60
  return card, painting
61
 
62
 
@@ -86,10 +86,10 @@ def do_animate(painting, brief_en: str, audio_path: str | None):
86
  return video
87
 
88
 
89
- def do_everything(poem: str, greeting: str, style_id: str, song_style: str, duration: float):
90
  understanding, brief_en = do_interpret(poem, "")
91
  yield understanding, brief_en, gr.update(), gr.update(), gr.update(), gr.update()
92
- card, painting = do_paint(brief_en, style_id, poem, greeting)
93
  yield understanding, brief_en, card, painting, gr.update(), gr.update()
94
  audio = do_sing(poem, song_style, duration)
95
  yield understanding, brief_en, card, painting, audio, gr.update()
@@ -314,9 +314,6 @@ with gr.Blocks(title="诗情画意 · Poetry to Art") as demo:
314
  poem_box = gr.Textbox(
315
  label="您的诗", lines=4, placeholder="把您想说的写成几句小诗,长短都可以。"
316
  )
317
- greeting_box = gr.Textbox(
318
- label="想送的问候(可以不填)", placeholder="例如:早安,或一句祝福的话"
319
- )
320
  with gr.Row():
321
  interpret_btn = gr.Button("读诗", variant="primary", scale=1)
322
  everything_btn = gr.Button(
@@ -349,7 +346,7 @@ with gr.Blocks(title="诗情画意 · Poetry to Art") as demo:
349
  song_radio = gr.Radio(
350
  SONG_STYLE_CHOICES, value=DEFAULT_SONG_STYLE, label="选一种曲风"
351
  )
352
- duration_slider = gr.Slider(20, 60, value=40, step=5, label="歌曲长度(秒)")
353
  sing_btn = gr.Button("唱诗", variant="primary")
354
  song_audio = gr.Audio(label="您的诗,唱出来了", type="filepath", interactive=False)
355
 
@@ -360,11 +357,11 @@ with gr.Blocks(title="诗情画意 · Poetry to Art") as demo:
360
 
361
  gr.Examples(
362
  examples=[
363
- ["床前明月光,疑是地上霜。举头望明月,低头思故乡。", "晚安"],
364
- ["白日依山尽,黄河入海流。欲穷千里目,更上一层楼。", "早安"],
365
- ["春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。", ""],
366
  ],
367
- inputs=[poem_box, greeting_box],
368
  label="试试这些诗(也欢迎写您自己的)",
369
  cache_examples=False,
370
  )
@@ -378,7 +375,7 @@ with gr.Blocks(title="诗情画意 · Poetry to Art") as demo:
378
 
379
  paint_btn.click(
380
  do_paint,
381
- inputs=[brief_state, style_radio, poem_box, greeting_box],
382
  outputs=[card_image, painting_state],
383
  )
384
 
@@ -392,7 +389,7 @@ with gr.Blocks(title="诗情画意 · Poetry to Art") as demo:
392
 
393
  everything_btn.click(
394
  do_everything,
395
- inputs=[poem_box, greeting_box, style_radio, song_radio, duration_slider],
396
  outputs=[understanding_md, brief_state, card_image, painting_state, song_audio, video_out],
397
  )
398
 
 
48
  return f"### 画中之意\n\n{interp.understanding_zh}", interp.brief_en
49
 
50
 
51
+ def do_paint(brief_en: str, style_id: str, poem: str):
52
  if not brief_en:
53
  raise gr.Error("请先点「读诗」,让我先体会诗意。")
54
  brief = ensure_text_free(apply_image_style(brief_en, style_id or DEFAULT_IMAGE_STYLE))
 
56
  painting = providers.get_painter().paint(brief)
57
  except Exception as exc: # noqa: BLE001 — cold-start/network → warm copy
58
  raise gr.Error("画师正在热身(首次作画要多等一会儿),请稍候再点一次「作画」。") from exc
59
+ card = compose_card(painting, poem, "")
60
  return card, painting
61
 
62
 
 
86
  return video
87
 
88
 
89
+ def do_everything(poem: str, style_id: str, song_style: str, duration: float):
90
  understanding, brief_en = do_interpret(poem, "")
91
  yield understanding, brief_en, gr.update(), gr.update(), gr.update(), gr.update()
92
+ card, painting = do_paint(brief_en, style_id, poem)
93
  yield understanding, brief_en, card, painting, gr.update(), gr.update()
94
  audio = do_sing(poem, song_style, duration)
95
  yield understanding, brief_en, card, painting, audio, gr.update()
 
314
  poem_box = gr.Textbox(
315
  label="您的诗", lines=4, placeholder="把您想说的写成几句小诗,长短都可以。"
316
  )
 
 
 
317
  with gr.Row():
318
  interpret_btn = gr.Button("读诗", variant="primary", scale=1)
319
  everything_btn = gr.Button(
 
346
  song_radio = gr.Radio(
347
  SONG_STYLE_CHOICES, value=DEFAULT_SONG_STYLE, label="选一种曲风"
348
  )
349
+ duration_slider = gr.Slider(20, 30, value=25, step=5, label="歌曲长度(秒)")
350
  sing_btn = gr.Button("唱诗", variant="primary")
351
  song_audio = gr.Audio(label="您的诗,唱出来了", type="filepath", interactive=False)
352
 
 
357
 
358
  gr.Examples(
359
  examples=[
360
+ ["床前明月光,疑是地上霜。举头望明月,低头思故乡。"],
361
+ ["白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"],
362
+ ["春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。"],
363
  ],
364
+ inputs=[poem_box],
365
  label="试试这些诗(也欢迎写您自己的)",
366
  cache_examples=False,
367
  )
 
375
 
376
  paint_btn.click(
377
  do_paint,
378
+ inputs=[brief_state, style_radio, poem_box],
379
  outputs=[card_image, painting_state],
380
  )
381
 
 
389
 
390
  everything_btn.click(
391
  do_everything,
392
+ inputs=[poem_box, style_radio, song_radio, duration_slider],
393
  outputs=[understanding_md, brief_state, card_image, painting_state, song_audio, video_out],
394
  )
395