Qwen2-Audio:开启语音对话!

2025-05-17 16:23:43

DEMO

PAPER

GITHUB

HUGGING FACE

MODELSCOPE

DISCORD

在一个通用的AI系统中,核心模型应该能够理解不同模态的信息。当前的大语言模型现在已经能够理解语言并进行推理,并且已经扩展到了更多的模态,包括视觉和音频。此前我们陆续发布了多个 Qwen 语言模型系列以及 Qwen-VL 和 Qwen-Audio 等多模态模型。今天,我们正式发布 Qwen2-Audio。这是 Qwen-Audio 的下一代版本,它能够接受音频和文本输入,并生成文本输出。Qwen2-Audio 具有以下特点:

语音聊天:用户可以使用语音向音频语言模型发出指令,无需通过自动语音识别(ASR)模块。

音频分析:该模型能够根据文本指令分析音频信息,包括语音、声音、音乐等。

多语言支持:该模型支持超过8种语言和方言,例如中文、英语、粤语、法语、意大利语、西班牙语、德语和日语。

我们在 Hugging Face 和 ModelScope 上开源了 Qwen2-Audio-7B 以及 Qwen2-Audio-7B-Instruct,并且我们搭建了一个 demo 供用户互动。下面是一些具体例子:

语音交互#语音交互:基础交互

NextUserYour browser does not support the audio element.Qwen2-Audio这种情况可能会让人感到沮丧和困惑,但是你需要记住的是,你不能强迫任何人去喜欢你。如果你真的喜欢这个女孩,那么最好的办法就是尊重她的感受,不去打扰她,同时也要保持自己的尊严。

以下是一些建议:

1. 尊重她的决定:如果她明确表示不喜欢你,那么你应该尊重她的决定,不要试图改变她的想法。

2. 不要过于干涉:避免过多地干涉她的生活,也不要试图通过各种方式来接近她。

3. 保持距离:尽量避免与她有太多的接触,尤其是在她不希望的情况下。

4. 寻求支持:如果你感到很难过或者困惑,可以向你的朋友或家人寻求支持和建议。

最重要的是,你要保持自己的尊严和自信,不要因为别人的喜好而失去自我。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio很抱歉,我无法帮助你追求她。这不仅是因为我是一个人工智能助手,而且也是因为她已经明确表示不喜欢你。在这种情况下,我建议你尊重她的决定,同时也要保持自己的尊严和自信。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio当然可以!追女孩子需要付出努力和耐心,但同时也需要尊重她们的感受和意愿。以下是一些基本的建议:

1. 做一个有趣的人:尽可能多地展示出你的幽默感和创造力,让女孩子觉得和你在一起会很开心。

2. 主动出击:如果你对某个女孩子感兴趣,不妨主动和她交流,比如邀请她一起吃饭、看电影等。

3. 给予关注:多关注女孩子的生活,了解她的兴趣爱好,给她提供帮助和支持。

4. 表达情感:用适当的方式表达你的情感,让她知道你对她有着特殊的感情。

5. 尊重她的选择:如果女孩子对你没有同样的感觉,你需要尊重她的决定,不要强求。

最后,要记住,每个人都是独特的,所以你需要根据她的个性和喜好来调整你的行为和策略。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio当然啦!制造浪漫惊喜的方法有很多,以下是一些常见的建议:

1. 制作一张手写卡片:写下你的心声,告诉她你有多么爱她。

2. 准备一份特别的礼物:可以是她最喜欢的物品,也可以是你自己亲手制作的东西。

3. 安排一次特别的约会:可以选择一家浪漫的餐厅,或者去看一场电影。

4. 给她一个意想不到的惊喜:比如在她的生日那天,提前安排好一个惊喜派对。

5. 帮助她实现一个梦想:如果她有什么梦想,尽你所能去帮助她实现。

6. 在她最需要的时候陪伴她:无论是在她生病还是遇到困难的时候,都要在她身边陪伴她。

最重要的是,要用心去制造每一个浪漫惊喜,让她感受到你的爱意和关心。

Your browser does not support the audio element.语音交互:背景音乐感知及推荐

NextUserYour browser does not support the audio element.Qwen2-Audio在这种环境下,你可以做很多事情,比如阅读、写作、编程、学习新技能、练习乐器、看电影、玩游戏等。你也可以和朋友聊天、锻炼身体、烹饪美食、组织活动等。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio当然可以!根据你的兴趣,我推荐《哈利·波特》系列、《冰与火之歌》系列、《指环王》系列、《福尔摩斯探案集》、《傲慢与偏见》、《老人与海》、《1984》、《麦田里的守望者》等。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio当然有!我推荐《肖申克的救赎》、《星球大战:帝国反击战》、《阿甘正传》、《美丽心灵》、《饮食男女》、《盗梦空间》、《海上钢琴师》、《机器人总动员》等。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio我推荐学习钢琴,因为钢琴是一种多才多艺的乐器,能够演奏出美妙的旋律,并且有很多有趣的技巧可以探索。学习钢琴的最佳方法是每天定时练习,每次至少30分钟,同时结合听音乐、看视频、参加课程等方式来加深理解。

Your browser does not support the audio element.语音交互:说话人信息识别及环境音感知交互

NextUserYour browser does not support the audio element.Qwen2-Audio男性,16-25岁

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio因为这种场景让你感到放松和舒适,有助于提高睡眠质量。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio你可以尝试使用耳塞或者寻找一个相对安静的工作环境来帮助你集中注意力。

Your browser does not support the audio element.音频分析#音频分析:说话人信息识别

NextUserYour browser does not support the audio element.Qwen2-Audio两个人在说话。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio说话人的情绪是兴奋和满意的。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio说话人大概在41岁以上。

Your browser does not support the audio element.音频分析:混合音频分析

NextUserYour browser does not support the audio element.Qwen2-Audio这段音频的原始内容是:‘路过灌木丛时’

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio有人在说话,内容是’路过灌木丛时’。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio有人在说话,内容是’路过灌木丛时’。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio男性。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio他说的是:‘When passing through the bushes.’UserYour browser does not support the audio element.Qwen2-AudioThe person says ‘毕竟是年事已高啊’ in Mandarin.UserYour browser does not support the audio element.Qwen2-AudioThe person says ‘毕竟是年事已高啊’ in Mandarin.音频分析:混合音频中的歌词识别

NextUserYour browser does not support the audio element.Qwen2-AudioThe lyrics of the singing are ‘住着我最深爱的你史上最遥远的距离’.UserYour browser does not support the audio element.Qwen2-AudioThe lyrics of the singing are ‘住着我最深爱的你史上最遥远的距离’.UserYour browser does not support the audio element.Qwen2-AudioThe lyrics of the singing are ‘住着我最深爱的你史上最遥远的距离’.音频分析:音乐分析

NextUserYour browser does not support the audio element.Qwen2-Audio这段音乐包含有合成器的旋律,低音吉他和鼓点。鼓点是由原声鼓和小军鼓组成的,并且在循环的后半部分有一个上升的打击乐段。这首歌可能在家里跳舞时播放。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio这段音乐的调性是F#小调。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio这段音乐的BPM大约为130.045。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio这段音乐听起来像是朋克风格,有扭曲的电吉他、有力的鼓点和一个声音尖锐的男声在唱歌。整体感觉很强烈和充满能量。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio它传达了一种愤怒和挑战的情绪。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio它的BPM大约是100到120之间。

Your browser does not support the audio element.音频分析:综合分析

NextUserYour browser does not support the audio element.Qwen2-Audio有人在说话,内容是“梅西助跑打门球进了,球进了,比赛的第23分钟,阿根廷队1-0领先,梅西本届赛事的第六个球。”

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio这段音频的场景是足球比赛中的一个片段。梅西在比赛中助跑并打门进球,使得阿根廷队以1比0领先。这已经是梅西在本届赛事中的第六个球。现场有观众欢呼,气氛热烈。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio音频中有球迷欢呼的声音,因为梅西进球了。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio这是来自体育场内的声音。

Your browser does not support the audio element.UserYour browser does not support the audio element.Qwen2-Audio这段音频可以用来制作体育新闻或比赛实况转播。

Your browser does not support the audio element.模型效果#我们已经在一系列基准数据集上进行了实验,包括 LibriSpeech、Common Voice 15、Fleurs、Aishell2、CoVoST2、Meld、Vocalsound 以及 AIR-Benchmark,以评估 Qwen2-Audio 与我们之前发布的 Qwen-Audio 以及各项任务中的最先进模型相比的表现。下面我们将展示一张图表来说明 Qwen2-Audio 相对于竞争对手的表现。在所有任务中,Qwen2-Audio 都显著超越了先前的最佳模型或是 Qwen-Audio。

关于数据集的更具体结果列于下表中。

结构与训练范式#下图展示了模型结构及训练方法。具体来说,我们使用 Qwen 语言模型和音频编码器这两个基础模型,接着依次进行多任务预训练以实现音频与语言的对齐,以及 SFT 和 DPO 来掌握下游任务的能力并捕捉人类的偏好。

如何使用#Qwen2-Audio 已经被 Hugging Face Transfomers 官方支持。我们建议您通过源码安装 transformers ,如下所示:

pip install git+https://github.com/huggingface/transformers

下面我们展示如何使用 Qwen2-Audio-7B-Instruct 来进行语音对话和音频分析. 下面是一个语音对话的例子:

from io import BytesIO

from urllib.request import urlopen

import librosa

from transformers import Qwen2AudioForConditionalGeneration, AutoProcessor

processor = AutoProcessor.from_pretrained("Qwen/Qwen2-Audio-7B-Instruct")

model = Qwen2AudioForConditionalGeneration.from_pretrained("Qwen/Qwen2-Audio-7B-Instruct", device_map="auto")

conversation = [

{"role": "user", "content": [

{"type": "audio", "audio_url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-Audio/audio/guess_age_gender.wav"},

]},

{"role": "assistant", "content": "Yes, the speaker is female and in her twenties."},

{"role": "user", "content": [

{"type": "audio", "audio_url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-Audio/audio/translate_to_chinese.wav"},

]},

]

text = processor.apply_chat_template(conversation, add_generation_prompt=True, tokenize=False)

audios = []

for message in conversation:

if isinstance(message["content"], list):

for ele in message["content"]:

if ele["type"] == "audio":

audios.append(librosa.load(

BytesIO(urlopen(ele['audio_url']).read()),

sr=processor.feature_extractor.sampling_rate)[0]

)

inputs = processor(text=text, audios=audios, return_tensors="pt", padding=True)

inputs.input_ids = inputs.input_ids.to("cuda")

generate_ids = model.generate(**inputs, max_length=256)

generate_ids = generate_ids[:, inputs.input_ids.size(1):]

response = processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

在语音对话模式中,用户只需输入语音而无需输入文字,指令则通过语音直接传达给模型。下面则是一个音频分析的例子:

from io import BytesIO

from urllib.request import urlopen

import librosa

from transformers import Qwen2AudioForConditionalGeneration, AutoProcessor

processor = AutoProcessor.from_pretrained("Qwen/Qwen2-Audio-7B-Instruct")

model = Qwen2AudioForConditionalGeneration.from_pretrained("Qwen/Qwen2-Audio-7B-Instruct", device_map="auto")

conversation = [

{'role': 'system', 'content': 'You are a helpful assistant.'},

{"role": "user", "content": [

{"type": "audio", "audio_url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-Audio/audio/glass-breaking-151256.mp3"},

{"type": "text", "text": "What's that sound?"},

]},

{"role": "assistant", "content": "It is the sound of glass shattering."},

{"role": "user", "content": [

{"type": "text", "text": "What can you do when you hear that?"},

]},

{"role": "assistant", "content": "Stay alert and cautious, and check if anyone is hurt or if there is any damage to property."},

{"role": "user", "content": [

{"type": "audio", "audio_url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-Audio/audio/1272-128104-0000.flac"},

{"type": "text", "text": "What does the person say?"},

]},

]

text = processor.apply_chat_template(conversation, add_generation_prompt=True, tokenize=False)

audios = []

for message in conversation:

if isinstance(message["content"], list):

for ele in message["content"]:

if ele["type"] == "audio":

audios.append(

librosa.load(

BytesIO(urlopen(ele['audio_url']).read()),

sr=processor.feature_extractor.sampling_rate)[0]

)

inputs = processor(text=text, audios=audios, return_tensors="pt", padding=True)

inputs.input_ids = inputs.input_ids.to("cuda")

generate_ids = model.generate(**inputs, max_length=256)

generate_ids = generate_ids[:, inputs.input_ids.size(1):]

response = processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

与上述例子不同,音频分析模式可以传入文字指令。但是,在这两个模式之间切换只需修改用户输入而无需担心诸如系统指令等其他内容。

下一步#这次我们带来了全新的音频语言模型 Qwen2-Audio,它支持语音对话和音频分析,并且能够理解超过 8 种语言和方言。在不久的将来,我们计划在更大的预训练数据集上训练出更优秀的 Qwen2-Audio 模型,使该模型能够支持更长的音频(超过30秒),并且我们还将构建更大规模的 Qwen2-Audio 模型,用于研究音频语言模型的扩展定律。

正在阅读:新系列改变了啥?华硕龙骑士HD7850评测新系列改变了啥?华硕龙骑士HD7850评测
真实的伊朗足球,你能在这三部电影里找到