microsoft / microsoft/muzic

关于songmass使用旋律生成歌词的疑问

Open
#48 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5k
Forks
499
PR merge metrics
No merged PRs in 30d

Description

首先非常感谢各位能开源这么好的工具!
我尝试了一下songmass的旋律生成歌词的功能.没有找到可以直接给一段旋律,然后生成歌词的方案。我现在的操作流程是.
制作旋律的文件和歌词文件,然后把他们当做验证集,使用验证集的方式来出结果.
具体流程如下:
fairseq-preprocess \ --user-dir mass \ --task xmasked_seq2seq \ --source-lang lyric --target-lang melody \ --trainpref $para_data_dir/train --validpref $para_data_dir/t3 \ --destdir $save_dir \ --srcdict $para_data_dir/dict.lyric.txt \ --tgtdict $para_data_dir/dict.melody.txt bash infer_lyric.sh $data_dir mass $model
问题是:

  1. 请问有办法直接给一个旋律自动生成歌词么?
  2. 我使用测试集和验证集里的数据,推理出的结果表现都很完美,和参考的的完全一致,所以请问测试集和验证集都参与过训练是么?
  3. 我自己按照规则制作了一首歌曲,推理出的结果很差。
    我自己制作的歌词和旋律如下:

旋律:
65 129 65 129 [align] 65 129 72 129 [align] 72 129 67 130 [align] [sep] 67 129 [align] 67 129 67 129 [align] 67 129 65 129 [align] 64 129 65 129 [align] [sep] 65 129 65 129 [align] 65 129 65 129 [align] 65 129 [align] 65 129 65 129 [align] [sep] 65 129 [align] 65 129 [align] 65 129 [align] [sep] 72 130 [align] 65 129 [align] 65 129 [align] [sep]

歌词:
sky [align] is [align] raining [align] [sep] i [align] want [align] stay [align] alone [align] [sep] stay [align] with [align] my [align] mama [align] [sep] one [align] two [align] three [align] [sep] let [align] is [align] go [align] [sep]

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the mentioned fairseq-preprocess command and infer_lyric.sh entry point. Determine whether the existing workflow accepts melody-only input, how training, validation, and test splits are used, and what preprocessing assumptions affect the custom example. Done means documenting clear answers and any supported usage or data-split limitations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.