CN117896469B - 音频分享方法、装置、计算机设备和存储介质 - Google Patents
音频分享方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117896469B CN117896469B CN202410298526.6A CN202410298526A CN117896469B CN 117896469 B CN117896469 B CN 117896469B CN 202410298526 A CN202410298526 A CN 202410298526A CN 117896469 B CN117896469 B CN 117896469B
- Authority
- CN
- China
- Prior art keywords
- audio
- data
- shared
- audio data
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000002156 mixing Methods 0.000 claims abstract description 50
- 230000003111 delayed effect Effects 0.000 claims abstract description 47
- 238000004590 computer program Methods 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims description 137
- 238000012545 processing Methods 0.000 claims description 43
- 230000006854 communication Effects 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 29
- 238000009499 grossing Methods 0.000 claims description 20
- 238000012216 screening Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 description 33
- 238000005070 sampling Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000010219 correlation analysis Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000002592 echocardiography Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 102100032219 Cathepsin D Human genes 0.000 description 1
- 101000869010 Homo sapiens Cathepsin D Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0264—Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请涉及一种音频分享方法、装置、计算机设备、存储介质和计算机程序产品。所述方法涉及人工智能技术,包括:在语音通话的过程中,确定第一终端的待分享音频数据;待分享音频数据和由第二终端向第一终端发送的远端通话音频数据,在第一终端的本地端分别通过不同本地播放设备进行播放;获取在第一终端的本地端采集的本地音频数据;本地音频数据包括分享音频回声数据和近端通话音频数据;基于本地音频数据将待分享音频数据延迟对齐,得到与分享音频回声数据对齐的延迟音频数据;将本地音频数据与延迟音频数据进行混合,并将混合音频数据基于语音通话发送到第二终端进行播放。采用本方法能够降低分享音频的回声影响,提高所分享音频的质量。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种音频分享方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,用户在语音通话过程中的分享需求也不断提升,如在通话过程中想让对方看到自己本地端的屏幕的同时,还能听到在本地端所播放的声音,从而将本地端播放的音频分享给通话对方。
然而,目前在语音通话过程中通话对方的语音和需要分享的音频可以在本地端分别由不同的播放设备进行播放,在将本地播放的音频分享到通话对方时,本地播放的音频容易被麦克风采集从而形成回声,影响了分享到通话对方的音频的质量。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低分享音频的回声影响,提高所分享音频的质量的音频分享方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种音频分享方法。所述方法包括:
在第一终端与第二终端进行语音通话的过程中,确定第一终端的待分享音频数据;待分享音频数据和由第二终端向第一终端发送的远端通话音频数据,在第一终端的本地端通过第一终端关联的不同本地播放设备分别进行播放;
获取在第一终端的本地端采集的本地音频数据;本地音频数据包括待分享音频数据的分享音频回声数据以及针对远端通话音频数据进行语音通话的近端通话音频数据;
基于本地音频数据将待分享音频数据进行延迟对齐,得到在时间维度与分享音频回声数据对齐的延迟音频数据;
将本地音频数据与延迟音频数据进行混合,并将混合得到的混合音频数据基于语音通话发送到第二终端进行播放。
第二方面,本申请还提供了一种音频分享装置。所述装置包括:
待分享音频确定模块,用于在第一终端与第二终端进行语音通话的过程中,确定第一终端的待分享音频数据;待分享音频数据和由第二终端向第一终端发送的远端通话音频数据,在第一终端的本地端通过第一终端关联的不同本地播放设备分别进行播放;
本地音频获取模块,用于获取在第一终端的本地端采集的本地音频数据;本地音频数据包括待分享音频数据的分享音频回声数据以及针对远端通话音频数据进行语音通话的近端通话音频数据;
延迟对齐模块,用于基于本地音频数据将待分享音频数据进行延迟对齐,得到在时间维度与分享音频回声数据对齐的延迟音频数据;
音频混合模块,用于将本地音频数据与延迟音频数据进行混合,并将混合得到的混合音频数据基于语音通话发送到第二终端进行播放。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上音频分享方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上音频分享方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上音频分享方法的步骤。
上述音频分享方法、装置、计算机设备、存储介质和计算机程序产品,在第一终端与第二终端进行语音通话的过程中,在第一终端与第二终端进行语音通话的过程中,确定第一终端的待分享音频数据,待分享音频数据和由第二终端向第一终端发送的远端通话音频数据,在第一终端的本地端通过第一终端关联的不同本地播放设备分别进行播放,对于在第一终端的本地端采集的本地音频数据,基于本地音频数据将待分享音频数据进行延迟对齐,将在时间维度与分享音频回声数据对齐的延迟音频数据与本地音频数据进行混合,并发送混合得到的混合音频数据基于语音通话到第二终端进行播放,从而通过语音通话将待分享音频数据分享到第二终端。远端通话音频数据和待分享音频数据在第一终端的本地端通过不同的本地播放设备进行播放时,基于在第一终端的本地端采集的本地音频数据将待分享音频数据进行延迟对齐,并将在时间维度与分享音频回声数据对齐的延迟音频数据与本地音频数据混合后发送到第二终端,可以降低分享音频回声数据对延迟音频数据的回声影响,确保发送到第二终端的混合音频数据的质量,从而提高了所分享音频的质量。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中音频分享方法的应用环境图;
图2为一个实施例中音频分享方法的流程示意图;
图3为一个实施例中基于通话终端实现音频分享的架构示意图;
图4为一个实施例中基于非通话设备实现音频分享的架构示意图;
图5为一个实施例中远端语音回声消除的流程示意图;
图6为一个实施例中包括远端语音回声消除的架构示意图;
图7为一个实施例中设备选择界面示意图;
图8为一个实施例中针对通话应用进行远端语音回声消除处理的示意框图;
图9为一个实施例中针对通话应用进行延迟对齐处理的示意框图;
图10为一个实施例中延迟对齐处理的示意框图;
图11为一个实施例中音频分享装置的结构框图;
图12为一个实施例中计算机设备的内部结构图;
图13为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
语音技术(Speech Technology)的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。大模型技术为语音技术发展带来变革,WavLM, UniSpeech等沿用Transformer架构的预训练模型具有强大的泛化性、通用性,可以优秀完成各方向的语音处理任务。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、数字孪生、虚拟人、机器人、人工智能生成内容(AIGC)、对话式交互、智能医疗、智能客服、游戏AI等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的语音技术、机器学习等技术,具体可以基于语音技术和机器学习针对音频数据进行延迟对齐以及混合等处理,具体通过如下实施例进行说明。
本申请实施例提供的音频分享方法,可以应用于如图1所示的应用环境中。其中,第一终端102和第二终端104通过网络进行语音通话,第一终端102还可以通过网络与服务器106进行通信。数据存储系统可以存储服务器106需要处理的数据。数据存储系统可以单独设置,也可以集成在服务器106上,也可以放在云上或其他服务器上。
第一终端102与第二终端104可以进行语音通话,如可以通过通话应用进行语音通话,在第一终端102与第二终端104进行语音通话的过程中,第一终端102可以接收第二终端104向第一终端102发送的远端通话音频数据,第一终端102可以通过关联的第一本地播放设备在本地端播放远端通话音频数据;同时,第一终端102还可以通过关联的第二本地播放设备在本地端播放待分享音频数据,具体可以基于第一终端102上安装的音频播放应用通过第二本地播放设备播放待分享音频数据。第一终端102可以在本地端采集音频数据以发送到第二终端104进行播放,具体可以由第一终端102的麦克风在本地端采集得到音频数据。
在第一终端102与第二终端104进行语音通话的过程中,服务器106可以确定第一终端102的待分享音频数据。对于在第一终端102的本地端采集的本地音频数据,服务器106基于本地音频数据将待分享音频数据进行延迟对齐,得到在时间维度与分享音频回声数据对齐的延迟音频数据,服务器106将延迟音频数据与本地音频数据进行混合,并将混合得到的混合音频数据基于语音通话发送到第二终端104进行播放,从而通过语音通话将待分享音频数据分享到第二终端104。此外,在一些实施例中,音频分享方法也可以由第一终端102单独实现,即直接由第一终端102基于在本地端采集的本地音频数据将待分享音频数据进行延迟对齐,并将在时间维度与分享音频回声数据对齐的延迟音频数据与本地音频数据混合后发送到第二终端106。
其中,第一终端102和第二终端104可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种音频分享方法,该方法由计算机设备执行,具体可以由终端或服务器等计算机设备单独执行,也可以由终端和服务器共同执行,在本申请实施例中,以该方法应用于图1中的第一终端为例进行说明,第一终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,包括以下步骤202至步骤208。其中:
步骤202,在第一终端与第二终端进行语音通话的过程中,确定第一终端的待分享音频数据;待分享音频数据和由第二终端向第一终端发送的远端通话音频数据,在第一终端的本地端通过第一终端关联的不同本地播放设备分别进行播放。
其中,不同用户之间可以通过不同的终端进行语音通话,如可以基于终端上安装的通话应用进行语音通话。通话应用可以包括VOIP(Voice Over Internet Protocol,网络协议通话技术)应用,每个终端上可以安装有VOIP应用,用户可以通过VOIP应用基于网络协议进行语音通话。待分享音频数据是需要通过第一终端向第二终端进行分享的音频数据,具体可以包括第一终端的本地音频数据或者从网络中获取的网络音频数据,如可以包括录音音频数据、音乐等各种音频数据。远端通话音频数据是语音通话过程中由第二终端向第一终端传输的通话音频数据,远端通话音频数据具体可以由第二终端在其本地端采集得到。在第二终端采集音频数据时,第二终端对应的用户可以发出语音,从而采集得到的远端通话音频数据中可以包括第二终端的用户所发出的语音数据;进一步地,若在第二终端的用户发出语音时,环境中还存在其他杂乱声音,则第二终端采集得到的远端通话音频数据中还可以包括第二终端的环境噪声数据。
待分享音频数据和远端通话音频数据由第一终端关联的不同本地播放设备分别进行播放,本地播放设备是在第一终端本地端的播放设备,具体可以包括喇叭、音箱、耳机等各种播放设备。例如,第一终端可以分别与第一本地播放设备和第二本地播放设备关联,从而在第一终端与第二终端进行语音通话的过程中,通过第一本地播放设备播放远端通话音频数据,并通过第二本地播放设备播放待分享音频数据。待分享音频数据和远端通话音频数据在第一终端通过不同的本地播放设备分别播放,能够支持用户对不同的音源数据配置不同的输出设备,提高不同音源数据的播放效果。例如,在语音通话过程中,若远端通话音频数据和待分享音频数据均由第一终端同一本地播放设备进行播放,那么远端通话音频数据和待分享音频数据叠加进行播放,音量由同一本地播放设备进行统一调整,待分享音频数据容易影响用户对远端通话音频数据的收听;而远端通话音频数据通过第一终端的耳机进行播放,待分享音频数据通过第一终端连接的蓝牙音箱进行播放,则远端通话音频数据和待分享音频数据各自的音量、音质均能够单独调节,能够降低通过单一播放设备播放不同音源数据的噪声叠加,减少待分享音频数据对远端通话音频数据的影响,从而提升播放效果。
具体地,不同的用户可以通过各自持有的终端进行语音通话,在第一终端与第二终端进行语音通话的过程中,第一终端可以获取第二终端发送的远端通话音频数据。例如,在第一终端与第二终端通过通话应用进行语音通话的过程中,第一终端可以通过网络基于通话应用接收第二终端发送的远端通话音频数据。在一些实施例中,第二终端的数量可以包括至少一个,即第一终端可以同时与一个或者多个终端进行语音通话,则针对与第一终端进行语音通话的每个终端,均可以作为第二终端进行音频分享处理。第一终端可以将获得的远端通话音频数据在本地端进行播放,具体可以通过关联的第一本地播放设备进行播放。
第一终端可以确定待分享音频数据,待分享音频数据可以由用户在第一终端中进行选定,具体可以是通过第一终端关联的本地播放设备在的第一终端的本地端进行播放的音频数据,即用户可以选择将在第一终端本地端进行播放的音频数据作为待分享音频数据。在具体应用中,用户可以通过第一终端在与第二终端进行语音通话的同时播放待分享音频数据,而语音通话过程中接收到的远端通话音频数据和待分享音频数据可以通过本地端不同的本地播放设备分别进行播放。
在具体实现中,第一终端可以与多个本地播放设备关联,并针对不同的本地播放设备配置不同的音频输出。例如,第一终端A可以分别与3个本地播放设备关联,第一终端A上可以同时播放视频1和音乐2,视频1和音乐2各自的音频可以通过同一本地播放设备进行播放,如视频1和音乐2各自的音频均可以通过第一终端A内置的喇叭进行播放。进一步地,用户也可以针对视频1和音乐2各自的音频的输出进行配置,如可以配置视频1的音频通过内置的喇叭进行播放,配置音乐2通过第一终端A蓝牙连接的蓝牙音箱进行播放,则视频1和音乐2各自的音频可以通过不同的本地播放设备分别在本地端进行播放。在具体应用中,用户可以在第一终端的终端界面中针对远端通话音频数据和待分享音频数据各自的本地播放设备进行灵活配置。例如,可以通过第一终端关联的第一本地播放设备播放远端通话音频数据,通过第一终端关联的第二本地播放设备播放待分享音频数据。第一本地播放设备和第二本地播放设备是属于不同的播放设备,从而可以通过不同的本地播放设备在第一终端的本地端同时播放远端通话音频数据和待分享音频数据。
步骤204,获取在第一终端的本地端采集的本地音频数据;本地音频数据包括待分享音频数据的分享音频回声数据以及针对远端通话音频数据进行语音通话的近端通话音频数据。
其中,在第一终端与第二终端进行语音通话的过程中,在第一终端本地端的用户也需要向第二终端发送音频数据,以实现语音通话交流。第一终端可以在本地端进行音频采集,以采集获得本地端用户的通话语音。本地音频数据是在第一终端的本地端采集得到的音频数据,本地音频数据具体可以通过第一终端本地端的麦克风采集得到。第一终端的本地端通过关联的本地播放设备播放了待分享音频数据,则第一终端在本地端采集音频数据时,除了会采集到第一终端的用户发出的语音数据外,还会采集到由本地播放设备在空气中播放出的待分享音频数据,从而形成分享音频回声数据。分享音频回声数据是本地播放设备播放出的待分享音频数据经过空气传播后,被第一终端的麦克风再次采集得到的音频数据。近端通话音频数据为第一终端的用户在本地端发出语音数据,具体可以是用户针对远端通话音频数据进行语音通话交流过程中在第一终端的本地端发出的语音数据。
示例性地,第一终端可以获取在本地端采集的本地音频数据,第一终端的本地端可以设置至少一个收音设备,如可以设置至少一个麦克风,以通过至少一个麦克风在本地端进行音频采集。采集得到的本地音频数据中至少包括分享音频回声数据和近端通话音频数据。
步骤206,基于本地音频数据将待分享音频数据进行延迟对齐,得到在时间维度与分享音频回声数据对齐的延迟音频数据。
其中,若需要将第一终端的待分享音频数据分享给到第二终端,则可以直接通过将待分享音频数据与在第一终端的本地端采集的近端通话音频数据混音后发送到第二终端。然而,在第一终端采集的本地音频数据中还包括分享音频回声数据时,由于分享音频回声数据是待分享音频数据经过空气传播后再次被采集得到的,则分享音频回声数据相比于待分享音频数据在时间维度上滞后,即分享音频回声数据相对于待分享音频数据存在一定时长的延迟,若直接将本地音频数据与待分享音频数据进行混音后发送到第二终端,那么第二终端接收的音频中待分享音频数据和分享音频回声数据会形成先后回声,影响所分享音频的质量。延迟对齐即是将待分享音频数据按照本地音频数据在时间维度进行对齐,从而得到延迟音频数据,延迟音频数据在时间维度上与本地音频数据中的分享音频回声数据对齐,从而将延迟音频数据与本地音频数据混音后发送到第二终端是可以降低回声影响。
示例性地,第一终端可以基于本地音频数据对待分享音频数据在时间维度进行延迟对齐,具体可以将待分享音频数据延迟一定时长,得到延迟音频数据,延迟音频数据在时间维度与分享音频回声数据相对齐,即在将延迟音频数据与本地音频数据进行混合时,延迟音频数据与本地音频数据中的分享音频回声数据叠加时降低回声效果。在具体实现时,第一终端可以将本地音频数据与待分享音频数据进行延迟检测,从而确定本地音频数据中的分享音频回声数据与待分享音频数据之间的延迟时长,第一终端可以将待分享音频数据按照延迟时长在时间维度进行延迟,从而得到在时间维度与分享音频回声数据对齐的延迟音频数据。
步骤208,将本地音频数据与延迟音频数据进行混合,并将混合得到的混合音频数据基于语音通话发送到第二终端进行播放。
其中,混合音频数据是将本地音频数据与延迟音频数据进行混合得到的音频数据,通过混合,可以将本地音频数据与延迟音频数据整合至一个立体音轨或单音音轨中,从而实现本地音频数据与延迟音频数据的合成,获得混合音频数据。
具体地,第一终端可以将本地音频数据与延迟音频数据进行混合,从而实现本地音频数据与延迟音频数据的混音,得到混合音频数据。第一终端可以将混合音频数据向第二终端发送,具体可以基于语音通话将混合音频数据发送到第二终端,第二终端可以将接收到的混合音频数据进行播放。在混合音频数据中既包括针对远端通话音频数据的近端通话音频数据,还包括时间维度对齐的延迟音频数据和分享音频回声数据,从而第一终端可以将本地端播放的待分享音频数据基于语音通话方式分享到第二终端。
在一个具体应用中,如图3所示,第一终端可以与第二终端进行语音通话,第二终端可以向第一终端发送远端通话音频数据,第一终端将接收的远端通话音频数据传输到关联的第一本地播放设备进行播放;同时,第一终端可以将待分享音频数据传输到关联的第二本地播放设备进行播放。第一终端关联的麦克风可以在第一终端的本地端进行音频采集,采集得到的本地音频数据中包括待分享音频数据的分享音频回声数据以及针对远端通话音频数据进行语音通话的近端通话音频数据,麦克风可以将采集得到的本地音频数据传输到第一终端。第一终端可以基于本地音频数据对待分享音频数据进行延迟对齐,得到延迟音频数据,延迟音频数据在时间维度与本地音频数据中的分享音频回声数据相对齐。第一终端可以将本地音频数据与延迟音频数据进行混合,得到混合音频数据,并将混合音频数据发送到第二终端进行播放。
在一些实施例中,音频分享方法还可以由第一终端外的其他计算机设备实现,如可以由第一终端外的终端或者服务器进行音频分享。在具体应用中,如图4所示,第一终端可以与第二终端进行语音通话,第二终端可以向第一终端发送远端通话音频数据,第一终端将接收的远端通话音频数据传输到关联的第一本地播放设备进行播放;同时,第一终端可以将待分享音频数据传输到关联的第二本地播放设备进行播放。第一终端关联的麦克风可以在第一终端的本地端进行音频采集,麦克风可以将采集得到的本地音频数据传输到第一终端。计算机设备可以从第一终端获取待分享音频数据和本地音频数据。计算机设备可以基于本地音频数据对待分享音频数据进行延迟对齐,得到延迟音频数据,延迟音频数据在时间维度与本地音频数据中的分享音频回声数据相对齐。第一终端可以将本地音频数据与延迟音频数据进行混合,得到混合音频数据,并将混合音频数据发送到第一终端,由第一终端基于语音通话发送到第二终端进行播放。
上述音频分享方法中,在第一终端与第二终端进行语音通话的过程中,在第一终端与第二终端进行语音通话的过程中,确定第一终端的待分享音频数据,待分享音频数据和由第二终端向第一终端发送的远端通话音频数据,在第一终端的本地端通过第一终端关联的不同本地播放设备分别进行播放,对于在第一终端的本地端采集的本地音频数据,基于本地音频数据将待分享音频数据进行延迟对齐,将在时间维度与分享音频回声数据对齐的延迟音频数据与本地音频数据进行混合,并发送混合得到的混合音频数据基于语音通话到第二终端进行播放,从而通过语音通话将待分享音频数据分享到第二终端。远端通话音频数据和待分享音频数据在第一终端的本地端通过不同的本地播放设备进行播放时,基于在第一终端的本地端采集的本地音频数据将待分享音频数据进行延迟对齐,并将在时间维度与分享音频回声数据对齐的延迟音频数据与本地音频数据混合后发送到第二终端,可以降低分享音频回声数据对延迟音频数据的回声影响,确保发送到第二终端的混合音频数据的质量,从而提高了所分享音频的质量,提升了语音通话过程进行音频分享的用户体验。
在一个示例性的实施例中,基于本地音频数据将待分享音频数据进行延迟对齐,得到在时间维度与分享音频回声数据对齐的延迟音频数据,包括:基于本地音频数据和待分享音频数据,确定分享音频回声数据相对于待分享音频数据的延迟时长;按照延迟时长,将待分享音频数据与分享音频回声数据在时间维度进行对齐,得到与分享音频回声数据对齐的延迟音频数据。
其中,延迟时长是分享音频回声数据因为经过空气传播后在第一终端的本地端采集后,相对于待分享音频数据的滞后时间。延迟时长可以基于本地音频数据和待分享音频数据进行延迟检测确定。
可选地,第一终端可以确定分享音频回声数据相对于待分享音频数据的延迟时长,即确定本地音频数据中的分享音频回声数据落后于待分享音频数据的时长。在具体应用中,第一终端可以基于本地音频数据和待分享音频数据进行延迟检测,如可以根据本地音频数据和待分享音频数据之间的相关性确定延迟时长。第一终端可以按照确定的延迟时长,在时间维度上将待分享音频数据与分享音频回声数据进行对齐,具体第一终端可以将待分享音频数据按照延迟时长进行延迟,从而得到在时间维度与分享音频回声数据对齐的延迟音频数据。例如,第一终端确定分享音频回声数据相对于待分享音频数据的延迟时长t为300ms(毫秒)后,第一终端可以将待分享音频数据延迟300ms,得到延迟音频数据,延迟音频数据与分享音频回声数据在时间维度上相对齐。
本实施例中,基于本地音频数据和待分享音频数据确定分享音频回声数据相对于待分享音频数据的延迟时长,并按照延迟时长将待分享音频数据与分享音频回声数据进行时间维度的对齐处理,从而得到延迟音频数据,可以降低分享音频回声数据对延迟音频数据的回声影响,确保发送到第二终端的混合音频数据的质量,从而提高所分享音频的质量。
在一个示例性的实施例中,基于本地音频数据和待分享音频数据,确定分享音频回声数据相对于待分享音频数据的延迟时长,包括:从本地音频数据中获得当前时刻对应的本地音频检测数据,并从待分享音频数据中获得当前时刻对应的待分享音频检测数据;确定本地音频检测数据与待分享音频检测数据之间的相关性参数;根据相关性参数,确定分享音频回声数据相对于待分享音频数据的延迟时长。
其中,当前时刻是指本次进行延迟检测处理对应的时刻,在第一终端和第二终端进行语音通话的过程中,可以在不同时刻进行多次的延迟检测,以动态确定不同时刻对应的延迟时长,从而针对进行延迟对齐处理。在具体应用中,在第一终端和第二终端进行语音通话的过程中,可以周期性地进行延迟检测,从而针对不同时刻持续进行多次的延迟检测,确定各个时刻各自对应的延迟时长。本地音频检测数据是从本地音频数据中获得的用于延迟检测处理的音频数据,待分享音频检测数据是从待分享音频数据中获得的用于延迟检测处理的音频数据。在一些实施例中,可以针对本地音频数据和待分享音频数据分别进行筛选,以得到用于延迟检测处理的本地音频检测数据和待分享音频检测数据,如可以基于当前时刻按照预设时长范围,从本地音频数据和待分享音频数据中分别进行音频数据提取,得到本地音频检测数据和待分享音频检测数据。
相关性参数用于表征本地音频检测数据和待分享音频检测数据各自各个数据之间的关联程度,基于该关联程度可以确定本地音频检测数据中的分享音频回声数据相比于待分享音频检测数据的滞后时长,即得到延迟时长。在具体应用中,本地音频数据和待分享音频数据作为音频信号,相关性参数可以包括互相关函数,通过构建本地音频数据和待分享音频数据之间的互相关函数,可以描述该两个不同信号之间的相似性和时延关系,从而确定本地音频数据和待分享音频数据之间的延迟时长。在具体实现中,可以基于交叉功率谱密度(Cross Power Spectrum Density,CPSD)算法、核密度估计(Kernel DensityEstimation,KDE)算法、相关分析(Correlation Analysis)算法、傅里叶变换(FourierTransform)算法或者相位变换广义互相关(Generalized Cross Correlation-PhaseTransform,GCC-PHAT)算法等各种算法中的至少一种得到本地音频检测数据与待分享音频检测数据之间的相关性参数。
示例性地,第一终端可以针对本地音频数据和待分享音频数据分别进行数据提取,从而得到当前时刻分别对应的本地音频检测数据和待分享音频检测数据。在具体应用中,本地音频数据和待分享音频数据是连续的音频信号,可以在当前时刻针对本地音频数据和待分享音频数据各自的各个数据点分别进行采样,得到包括多个数据点的本地音频检测数据和待分享音频检测数据。第一终端可以将本地音频检测数据与待分享音频检测数据进行相关性分析,如可以通过GCC-PHAT算法或者交叉功率谱密度算法,基于本地音频检测数据和待分享音频检测数据各自的各个数据点构建得到相关性参数。第一终端可以针对得到的相关性参数进行分析,如可以基于相关性参数针对本地音频检测数据和待分享音频检测数据各自的各个数据点分别进行搜索,从而确定分享音频回声数据相对于待分享音频数据的延迟时长。
本实施例中,基于本地音频数据中当前时刻对应的本地音频检测数据以及待分享音频数据中当前时刻对应的待分享音频检测数据之间的相关性参数,并根据相关性参数确定分享音频回声数据相对于待分享音频数据的延迟时长,可以利用本地音频数据和待分享音频数据中当前时刻对应的数据点确定延迟时长,能够降低延迟检测处理的数据量,提高延迟检测的效率。
在一个示例性的实施例中,确定本地音频检测数据与待分享音频检测数据之间的相关性参数,包括:将本地音频检测数据与待分享音频检测数据分别进行频域转换,获得本地音频检测数据对应的本地音频频域数据以及待分享音频检测数据对应的待分享音频频域数据;基于互相关算法,根据本地音频频域数据和待分享音频频域数据各自包括的数据点,得到本地音频频域数据和待分享音频频域数据之间的相关性参数。
其中,频域转换是一种将信号从时域转换到频域的分析方法,其数学基础是傅立叶变换。通过频域转换,信号的频率成分可以被揭示出来,从而能够更好地理解信号的特性,在实际应用中实现更高效、准确的信号处理。通过频域转换可以将本地音频检测数据和待分享音频检测数据分别从时域转换到频域,得到相应的频域数据。本地音频频域数据是本地音频检测数据对应的频域数据,待分享音频频域数据是待分享音频检测数据对应频域数据。互相关算法用于计算本地音频频域数据和待分享音频频域数据之间的相关性,具体可以包括GCC-PHAT算法,从而利用本地音频频域数据和待分享音频频域数据各自的各个数据点得到相关性参数。
具体地,第一终端可以将本地音频检测数据和待分享音频检测数据转换到频域后针对确定相关性参数。具体第一终端可以分别对本地音频检测数据和待分享音频检测数据进行频域转换,具体可以基于傅里叶变换算法,将本地音频检测数据和待分享音频检测数据分别转换为本地音频频域数据和待分享音频频域数据,本地音频频域数据和待分享音频频域数据中分别可以包括多个数据点。第一终端可以基于互相关算法,利用本地音频频域数据和待分享音频频域数据中分别包括的多个数据点确定相关性参数。在具体实现中,互相关算法可以包括GCC-PHAT算法,即第一终端可以利用本地音频频域数据和待分享音频频域数据中分别包括的各个数据点按照GCC-PHAT算法构建对应的相关性表达,从而得到本地音频频域数据和待分享音频频域数据之间的相关性参数。
进一步地,根据相关性参数,确定分享音频回声数据相对于待分享音频数据的延迟时长,包括:基于相关性参数,确定本地音频频域数据相对于待分享音频频域数据的延迟数据点数量;根据延迟数据点数量确定分享音频回声数据相对于待分享音频数据的延迟时长。
其中,延迟数据点数量是指本地音频频域数据中的数据点相对于待分享音频频域数据中对应数据点滞后的数据点的数量。例如,本地音频频域数据和待分享音频频域数据各自包括500各数据点,对于本地音频频域数据中的第320个数据点A,数据点A与待分享音频频域数据中第20个数据点B相对应,即数据点A和数据点B是携带相同音频信息的数据点,则可以确定数据点A相对于数据点B数据点滞后的数据点包括300个,即延迟数据点数量为300。基于延迟数据点数量以及各个数据点之间的间隔时长,可以确定延迟时长,而各个数据点之间的间隔时长可以根据本地音频检测数据以及待分享音频检测数据的采样频率确定。
示例性地,第一终端可以基于相关性参数针对本地音频频域数据和待分享音频频域数据各自的各个数据点进行分析,以确定延迟数据点数量。例如,第一终端通过搜索使得相关性参数的数值最大的数据点序号,从而根据数据点序号之间的差值得到延迟数据点数量。第一终端可以基于延迟数据点数量得到分享音频回声数据相对于待分享音频数据的延迟时长,具体第一终端可以基于延迟数据点数量与各个数据点之间的间隔时长的乘积,计算得到延迟时长。
本实施例中,通过将本地音频检测数据与待分享音频检测数据转换到频域后,利用各自的频域数据中的各个数据点基于互相关算法得到相关性参数,并基于相关性参数进行分析得到延迟数据点数量,根据延迟数据点数量确定延迟时长,从而可以基于频域针对本地音频检测数据与待分享音频检测数据进行相关性分析,得到准确的延迟时长,从而能够确保延迟对齐效果,确保发送到第二终端的混合音频数据的质量,有利于提高所分享音频的质量。
在一个示例性的实施例中,根据相关性参数,确定分享音频回声数据相对于待分享音频数据的延迟时长,包括:根据相关性参数,确定分享音频回声数据相对于待分享音频数据的当前时刻延迟时长;获取分享音频回声数据相对于待分享音频数据的历史延迟时长;根据当前时刻延迟时长和历史延迟时长,确定分享音频回声数据相对于待分享音频数据的延迟时长。
其中,当前时刻延迟时长是基于当前时刻的音频数据确定的延迟时长,当前时刻的音频数据可以包括当前时刻对应的本地音频检测数据以及待分享音频检测数据。历史延迟时长是基于历史时刻的音频数据确定的延迟时长,历史时刻的音频数据可以包括历史时刻对应的本地音频检测数据以及待分享音频检测数据。在具体应用中,历史延迟时长可以直接包括一个或者多个历史时刻各自对应的延迟时长,历史延迟时长也可以根据多个历史时刻各自对应的延迟时长综合得到,如可以根据多个历史时刻各自对应的延迟时长的加权平均值得到。
示例性地,第一终端可以基于当前时刻对应的相关性参数确定当前时刻延迟时长,当前时刻延迟时长表示基于当前时刻的音频数据得到的分享音频回声数据相对于待分享音频数据的延时时长。第一终端还可以获取历史延迟时长,历史延迟时长是基于历史时刻的音频数据得到的延时时长。例如,历史延迟时长可以基于当前时刻之前的前N个时刻各自的音频数据得到各个历史时刻分别对应的延迟时长。第一终端可以基于当前时刻延迟时长和历史延迟时长综合得到分享音频回声数据相对于待分享音频数据的延迟时长。例如,第一终端可以将当前时刻延迟时长和历史延迟时长进行加权以得到延迟时长。
本实施例中,综合当前时刻延迟时长和历史延迟时长确定最终的延迟时长,可以参考历史时刻的延迟时长针对当前时刻延迟时长进行调整,可以确保延迟时长的稳定性和准确性,从而能够确保发送到第二终端的混合音频数据的质量,有利于提高所分享音频的质量。
在一个示例性的实施例中,历史延迟时长包括当前时刻的前一时刻所对应的前一时刻延迟时长;根据当前时刻延迟时长和历史延迟时长,确定分享音频回声数据相对于待分享音频数据的延迟时长,包括:按照平滑系数,将当前时刻延迟时长和前一时刻延迟时长进行平滑处理,得到分享音频回声数据相对于待分享音频数据的延迟时长。
其中,前一时刻延迟时长是在当前时刻的前一时刻所对应的延迟时长,具体可以根据前一时刻对应的音频数据进行延迟检测得到。平滑系数用于调整前时刻延迟时长的数值,具体基于平滑系数和前一时刻延迟时长针对当前时刻延迟时长进行平滑处理,以得到延迟时长。平滑系数可以根据实际需要进行设置,如可以设置为0.98、0.9等数值。可选地,第一终端获得的历史延迟时长中包括前一时刻延迟时长,第一终端可以获取预先设置的平滑系数,并按照该平滑系数将当前时刻延迟时长和前一时刻延迟时长进行平滑处理,具体可以按照该平滑系数将当前时刻延迟时长和前一时刻延迟时长进行加权计算,得到分享音频回声数据相对于待分享音频数据的延迟时长。
本实施例中,通过平滑系数针对当前时刻延迟时长和前一时刻延迟时长进行平滑处理,可以确保延迟时长的稳定性和准确性,从而能够确保发送到第二终端的混合音频数据的质量,有利于提高所分享音频的质量。
在一个示例性的实施例中,从本地音频数据中获得当前时刻对应的本地音频检测数据,并从待分享音频数据中获得当前时刻对应的待分享音频检测数据,包括:当满足延迟检测触发条件,分别针对本地音频数据和待分享音频数据进行下采样,得到下采样后的本地音频数据和下采样后的待分享音频数据;按照数据筛选条件,从下采样后的本地音频数据中筛选出当前时刻对应的本地音频检测数据;按照数据筛选条件,从下采样后的待分享音频数据中筛选出当前时刻对应的待分享音频检测数据。
其中,延迟检测触发条件用于判定是否触发针对进行延迟检测处理,延迟检测触发条件可以根据实际需要进行设置,如可以包括达到延迟检测周期、接收到延迟检测指令等各种触发条件。下采样(Down sampling,也称降采样)是将信号的采样率降低的过程。在进行下采样时,新的采样率必须满足奈奎斯特采样定理,以避免信号混叠和失真。在具体应用中,可以使用数字滤波器对信号进行低通滤波,然后抽取部分采样点来实现采样率的降低。下采样可以有效地减小信号的数据量,从而节省存储空间和计算资源。通过对本地音频数据和待分享音频数据进行下采样,如可以将音频数据从48kHz采样率下采样到1kHz采样率,能够降低进行延迟检测的音频数据的数据量。
数据筛选条件用于针对下采样的音频数据中的各个数据点进行进一步地数据点筛选,以得到用于延迟检测的当前时刻对应的音频数据。数据筛选条件可以针对当前时刻进行设置,如可以是在当前时刻之前的预设时长或者预设数量。例如,当前时刻为1000ms,数据筛选条件可以为当前时刻之前的300ms,即可以按照700ms至1000ms的时刻针对音频数据进行筛选,得到700ms至1000ms对应的音频数据,具体可以包括700ms至1000ms对应的本地音频检测数据和700ms至1000ms对应的待分享音频检测数据。又如,数据筛选条件可以为当前时刻之前的预设N个,则可以筛选出当前时刻之前的N个数据点得到进行延迟检测的音频数据。
示例性地,第一终端可以按照预设的延迟检测触发条件进行检测,在检测到满足延迟检测触发条件时,认为需要触发进行延迟检测,第一终端可以针对本地音频数据和待分享音频数据分别进行下采样,如可以按照预设的下采样率针对本地音频数据和待分享音频数据分别进行下采样,得到下采样后的音频数据,具体包括下采样后的本地音频数据和下采样后的待分享音频数据。第一终端获取预设的数据筛选条件,并按照数据筛选条件分别针对下采样后的本地音频数据和下采样后的待分享音频数据进行数据筛选,得到当前时刻分别对应的本地音频检测数据和待分享音频检测数据。例如,第一终端可以从下采样后的本地音频数据和下采样后的待分享音频数据中,分别筛选出在当前时刻前T时长的本地音频检测数据和待分享音频检测数据。
本实施例中,在满足延迟检测触发条件时,针对音频数据进行下采样并按照数据筛选条件进行数据筛选,可以基于本地音频数据和待分享音频数据进行多次动态延迟检测,从而确保延迟时长的准确性,且通过下采样和数据筛选条件可以降低延迟检测的数据量,有利于提高延迟检测的处理效率。
在一个示例性的实施例中,按照延迟时长,将待分享音频数据与分享音频回声数据在时间维度进行对齐,得到与分享音频回声数据对齐的延迟音频数据,包括:将待分享音频数据进行缓存,并确定待分享音频数据的缓存时长;当缓存时长达到延迟时长,获得与分享音频回声数据在时间维度对齐的延迟音频数据。
其中,缓存时长是指将待分享音频数据进行缓存后持续的时长,具体可以在将待分享音频数据进行缓存后进行计时,以得到缓存时长。示例性地,第一终端可以将待分享音频数据进行缓存,如第一终端可以将待分享音频数据存入到缓冲队列中进行缓存,并触发进行缓存计时,得到待分享音频数据的缓存时长。第一终端可以将缓存时长与延迟时长进行比较,在缓存时长达到延迟时长时,第一终端可以基于缓存的待分享音频数据得到延迟音频数据,延迟音频数据与分享音频回声数据在时间维度相对齐。在一些实施例中,第一终端将待分享音频数据存入到缓冲队列中进行缓存后,在缓存时长达到延迟时长时,第一终端可以从缓冲队列中获取得到延迟音频数据。
本实施例中,通过将待分享音频数据进行缓存,在缓存时长达到延迟时长时得到延迟音频数据,从而可以降低分享音频回声数据对延迟音频数据的回声影响,确保发送到第二终端的混合音频数据的质量,从而提高了所分享音频的质量。
在一个示例性的实施例中,本地音频数据中还包括远端通话音频数据的通话音频回声数据,如图5所示,音频分享方法还包括远端语音回声消除的处理,具体包括:
步骤502,通过远端通话音频数据针对本地音频数据中包括的通话音频回声数据进行回声消除处理,得到通话音频回声消除后的本地音频数据。
其中,远端通话音频数据通过第一终端关联的本地播放设备在第一终端的本地端进行播放,则第一终端在本地端采集音频数据时,除了会采集到第一终端的用户发出的语音数据外,还会采集到由本地播放设备在空气中播放出的远端通话音频数据,从而形成通话音频回声数据。通话音频回声数据是本地播放设备播放出的远端通话音频数据经过空气传播后,被第一终端的麦克风再次采集得到的音频数据。回声消除是消除麦克风接收到的回声的技术,其基本原理是通过自适应滤波器技术,对回声路径进行估计和消除,回声消除具体可以通过各种回声消除算法,如最小均方(Least Mean Square, LMS)算法、归一化最小均方(Normalized Least Mean Squares, NLMS)算法等回声消除算法实现。
可选地,第一终端可以针对采集的本地音频数据进行回声检测,以检测是否采集到了远端通话音频数据的通话音频回声数据。在确定本地音频数据中还包括远端通话音频数据的通话音频回声数据时,第一终端可以针对本地音频数据中包括的通话音频回声数据进行回声消除处理,具体可以将远端通话音频数据作为参考数据,基于各种回声消除算法针对本地音频数据进行回声消除处理,得到通话音频回声消除后的本地音频数据。通话音频回声消除后的本地音频数据中可以至少部分消除了远端通话音频数据的通话音频回声数据,从而确保本地音频数据的音频质量。
步骤504,基于通话音频回声消除后的本地音频数据将待分享音频数据进行延迟对齐,得到在时间维度与分享音频回声数据对齐的延迟音频数据。
具体地,第一终端可以基于通话音频回声消除后的本地音频数据对待分享音频数据在时间维度进行延迟对齐,具体可以将待分享音频数据延迟一定时长,得到延迟音频数据。
步骤506,将通话音频回声消除后的本地音频数据与延迟音频数据进行混合,并将混合得到的混合音频数据基于语音通话发送到第二终端进行播放。
示例性地,第一终端可以将本地音频数据与延迟音频数据进行混合,从而实现本地音频数据与延迟音频数据的混音,得到混合音频数据,并将混合音频数据向第二终端发送,从而实现将第一终端本地端播放的待分享音频数据基于语音通话方式分享到第二终端。
在一个具体应用中,如图6所示,第一终端可以与第二终端进行语音通话,第二终端可以向第一终端发送远端通话音频数据,第一终端将接收的远端通话音频数据传输到关联的第一本地播放设备进行播放;同时,第一终端可以将待分享音频数据传输到关联的第二本地播放设备进行播放。第一终端关联的麦克风可以在第一终端的本地端进行音频采集,采集得到的本地音频数据中包括待分享音频数据的分享音频回声数据、针对远端通话音频数据进行语音通话的近端通话音频数据以及远端通话音频数据的通话音频回声数据,麦克风可以将采集得到的本地音频数据传输到第一终端。第一终端可以通过远端通话音频数据针对本地音频数据进行回声消除处理,得到通话音频回声消除后的本地音频数据,从而至少部分消除本地音频数据中包括的通话音频回声数据。第一终端基于通话音频回声消除后的本地音频数据对待分享音频数据进行延迟对齐,得到延迟音频数据,延迟音频数据在时间维度与本地音频数据中的分享音频回声数据相对齐。第一终端可以将通话音频回声消除后的本地音频数据与延迟音频数据进行混合,得到混合音频数据,并将混合音频数据发送到第二终端进行播放。
本实施例中,本地音频数据中还包括远端通话音频数据的通话音频回声数据时,可以通过远端通话音频数据对通话音频回声数据进行回声消除处理,并基于通话音频回声消除后的本地音频数据进行音频分享处理,可以降低通话音频回声数据的影响,确保发送到第二终端的混合音频数据的质量,从而提高了所分享音频的质量。
在一个示例性的实施例中,音频分享方法还包括:在第一终端与第二终端通过通话应用进行语音通话的过程中,获取由第二终端通过通话应用向第一终端发送的远端通话音频数据。
其中,通话应用可以包括VOIP应用,每个终端上可以安装有VOIP应用,用户可以通过VOIP应用基于网络协议进行语音通话。示例性地,第一终端和第二终端之间可以通过通话应用进行语音通话,第一终端可以接收第二终端通过通话应用发送的远端通话音频数据。
进一步地,将本地音频数据与延迟音频数据进行混合,并将混合得到的混合音频数据基于语音通话发送到第二终端进行播放,包括:将本地音频数据与延迟音频数据进行混合,得到混合音频数据;将混合音频数据通过通话应用发送到第二终端进行播放。
可选地,第一终端可以将本地音频数据和延迟音频数据进行混合,从而实现本地音频数据与延迟音频数据的混音,得到混合音频数据。第一终端可以通过通话应用将混合音频数据发送到第二终端,以由第二终端进行播放。
本实施例中,第一终端通过通话应用接收第二终端发送的远端通话音频数据,并通过通话应用向第二终端发送混合音频数据,以在通过通话应用进行语音通话的同时分享本地端播放的音频数据,同时混合音频数据中降低了分享音频回声数据对延迟音频数据的回声影响,确保发送到第二终端的混合音频数据的质量,从而提高了所分享音频的质量。
在一个示例性的实施例中,音频分享方法还包括:通过待分享音频数据针对本地音频数据中包括的分享音频回声数据进行回声消除处理,得到分享音频回声消除后的本地音频数据;将分享音频回声消除后的本地音频数据与待分享音频数据进行混合,并将得到的混合音频数据基于语音通话发送到第二终端进行播放。
具体地,对于本地音频数据包括待分享音频数据的分享音频回声数据,第一终端可以针对分享音频回声数据进行回声消除处理,具体可以将待分享音频数据作为参考数据,基于各种回声消除算法针对本地音频数据中的分享音频回声数据进行回声消除处理,得到分享音频回声消除后的本地音频数据。分享音频回声消除后的本地音频数据中可以至少部分消除了待分享音频数据的分享音频回声数据,从而确保本地音频数据的音频质量。
本实施例中,通过待分享音频数据针对本地音频数据中的分享音频回声数据进行回声消除处理,并将分享音频回声消除后的本地音频数据与待分享音频数据进行混合后发送到第二终端进行播放,可以降低分享音频回声数据的影响,确保发送到第二终端的混合音频数据的质量,从而提高了所分享音频的质量。
本申请还提供一种应用场景,该应用场景应用上述的音频分享方法。具体地,该音频分享方法在该应用场景的应用如下:
在VOIP语音通话的过程中,常常有共享本地音频的需求。例如,在音视频会议通话过程中想让对方看到自己的电脑桌面(即所谓共享屏幕)的同时还能听到自己电脑上其它应用程序播放的声音,例如通话的过程中想用音乐播放器播放一首歌给对方听,或者浏览器播放的网络视频的声音也能发送给对方。音频共享功能允许在利用音视频应用程序通话过程中,其它应用程序播放的音频也能实时发送给远端用户听到,同时还能够正常与远端用户互相通话。更具体的,针对在音频共享过程中,播放远端说话人语音的喇叭和本地音频外放的喇叭可以采用两个不同喇叭分别进行播放的场景,本实施例提供的音频分享方法支持用户可以通过VOIP应用程序UI(User Interface,用户界面)界面选择与系统默认播放设备不同的喇叭作为通话播放设备,其中,系统默认播放设备播放的音频通过操作系统API(Application Programming Interface,应用程序编程接口)采集并经过混音发送给远端,而为了消除默认播放设备外放声音又进入麦克风形成回声对用户体验的影响,采用延迟对齐方法掩盖回声。
具体地,用户可以在本地VOIP应用程序UI界面上选择播放设备和录音设备。在一个终端,例如PC(Personal Computer,个人计算机)电脑,可以同时连接多个音频外设,例如一台电脑除了有自带的内置喇叭,还可以同时链接3.5mm线缆耳机、USB(Universal SerialBus,通用串行总线)音箱、蓝牙播放设备等,系统会默认选择一个喇叭作为系统默认设备,一般应用程序播放音乐或者视频的时候通过系统默认设备播放出来。进一步地,可以提供可以自行选择播放设备的UI界面,例如部分专业音视频会议APP(Application,应用程序),用户可以通过在UI界面选择该APP想要使用的播放设备和录音设备。如图7所示,用户可以选择“系统默认”播放设备来播放VOIP通话中远端传过来的声音,也可以选择其它喇叭设备,例如可以选择“喇叭1”作为VOIP应用的播放设备,这样的话和对方通话时,对方(远端)的语音就从“喇叭1”设备播放出来。终端也可以与多个录音设备连接,从而可以通过选定的录音设备在本地端进行音频采集,如可以选择“系统默认”选项,以通过系统默认的录音设备进行音频采集。
当用户选择“喇叭1”时,系统默认的播放设备可能是“喇叭2”,此时VOIP应用的播放设备和系统默认播放设备不是同一个播放设备。这种情况下,远端说话人的声音从“喇叭1”播放,而其它APP,例如音乐应用程序播放出来的声音通过系统默认设备,即“喇叭2”播放。喇叭2播放出来的声音经过空气传播之后进入麦克风形成回声,进而对音频共享功能的音质造成影响,降低了用户体验。
具体地,目前的数字设备通话过程中,例如PC、手机等,远端和近端用户会在操作系统上安装VOIP应用程序,该应用程序通过操作系统API从硬件麦克风采集本地说话人语音,并将接收到的远端音频送到喇叭1播放。双方发起VOIP音视频通话之后,远端说话人的声音数据传送到近端之后,经过数据包解包并对编码语音解码之后得到数字音频信号,该信号会被送到喇叭1播放(假设用户通过UI界面选择了“喇叭1”)。如图8所示,双人或者多人VOIP通话架构中,在近端通话应用(VOIP应用)侧,可以从远端接收数据包进行解码得到数字语音信号x,从远端接受到的数字语音信号x一般称为远端语音信号,同时也作为回声消除的参考信号。喇叭1播放出来的声音通过空气传播(回声路径1)之后进入近端的麦克风形成声学回声x'。麦克风采集的声音d除了含有声学回声x',还包括近端的说话人声s,即麦克风采集的声音d=s+ x'。为了使得进入近端麦克风的回声信号不会被传回到远端让远端说话人又听到自己的声音(即回声),因此一般在近端需要进行回声消除,进一步还可进行噪声抑制、增益调整等处理,然后再将近端语音经过语音编码之后组包发送。具体地,回声消除模块可以利用远端语音信号x作为参考信号,将麦克风采集的声音d中的远端语音回声x'消除,得到回声消除之后的信号e,回声消除之后的信号e中可以至少消除了部分远端语音回声x',即此时e中可以包含轻微受损的近端语音s'或者包括无损的近端语音s。
进一步地,如图8所示,如果启用音频共享功能,想要在通话的同时将本地其它APP播放的声音也发送给对方听见,则需要利用操作系统API接口将送到喇叭2(假设为系统默认的播放设备)播放的声音采集回来,得到声音m,通过混音模块与e叠加之后,再经过编码发包模块发送给远端。理想情况下经过混音之后的信号g中包含s'和其它应用播放的声音m。如果喇叭2是一个(相对于头戴式耳机而言)功率较大的外放音箱,则喇叭2外放的声音经过空气传播(回声路径2)之后也会进入到近端麦克风,这时d信号中包含近端语音s、远端语音的回声x'以及其它应用播放的声音的回声m'。经过回声消除模块之后的e中由于x'被消掉,所以包含s'+m'。经过混音之后的信号g中包含s'+m+m'。可以看到g中除了含有近端语音,还有两份其它媒体应用程序播放的音频信号,一份是原始的信号m,一份是经过喇叭播放-空气传播-麦克风采集等路径之后的变形信号m'。一般而言,如果m'的音量够小(例如通过耳机播放则几乎没有回声),则影响不大;或者m'相对于m的延迟较小的话,例如几十毫秒以内,这两个声音几乎重叠到一起,远端用户听到的声音效果也能接受。然而,如果m'相对于m的延迟较大,则混音之后可能听到明显的两次相同内容的声音,即有回声效果。
基于此,本实施例提供的音频分享方法可以针对分享的音频进行延迟对齐处理。具体地,如图9所示,可以增加延迟对齐处理,具体可以由延迟对齐模块执行。由于e中含有m的一个近似副本m',所以可以通过计算e和m之间的相关性得到延迟t,通过将m延迟时间长度t之后得到时间上与m'对齐的信号m'',经过混音之后的g=s'+m'+m'',由于m'与m''在时间上重叠,因此两者叠加之后用户感受不到回声。
进一步地,对于延迟对齐处理,可以通过输入两个信号m和e以检测出e中的回声信号m'相对于m的延迟时间t(由于是数字信号,延迟时间t可以采用延时的样本数来表示),将m缓冲延迟t之后得到的m''即与m'是在时间上对齐,所以听不出来有回声。具体而言,如图10所示,将e经过下采样之后得到较低采样率的信号ed,将m经过下采样之后得到较低采样率的信号md。例如,将信号从48kHz采样率降采样到1kHz采样率,则在计算相关性的时候将大幅减少计算量。基于较低采样率的信号ed和较低采样率的信号md进行延迟检测以得到延迟时长t,并按照该延迟时长t针对m进行缓冲对齐,得到与m'在时间上重叠对齐的m''。
进一步地,可以每间隔固定时间进行延迟检测处理,例如20ms,将距离当前时刻最近一段时间(具体根据延迟可能的大小,可以取值100ms到1000ms之间,例如可以权值500ms)的ed信号和md信号通过GCC-PHAT算法计算延迟时长。GCC-PHAT算法是通过计算差分延迟和相位信息来确定声源位置的自适应算法。例如,在第1000ms时,取从第500ms到1000ms的ed信号和md信号来做GCC-PHAT运算得到第k个延时值;在第1020ms的时候,取从第520ms到1020ms的ed信号和md信号来做GCC-PHAT运算得到第k+1个延时值;如此每隔20ms得到一个延时样本数。
具体地,为了计算第k个延时值,例如取最近500ms的采样率为1000Hz的ed信号,则ed信号帧的样本数L为1000*0.5=500个采样值。同理md信号帧的采样率和帧时长相同,所以采样点数L也为500。将这个第k帧的ed信号和md信号进行离散时间傅里叶变换(DTFT,Discrete Fourier Transform)之后转换到频域,具体如下式。
其中,和/>分别为ed信号和md信号的傅里叶变换结果,f为频率点。
通过GCC-PHAT算法计算两个信号之间的相关性参数,具体包括相关值,如下式。
其中,*表示共轭运算,| |表示求绝对值运算,为傅里叶变换后的复数部分,/>为各个样本数据的序号,可以表征不同样本位置。通过搜索使得相关值/>最大的样本位置/>,即可得到第k帧的时候ed相对与md延迟了的样本点数量,具体如下式。
其中,为第k帧的时候ed相对与md延迟了的样本点数量。
再将之前计算得到的延迟样本数的估计值与最新计算得到的延迟样本数/>求平滑,得到更稳定的延迟样本数的估计值,具体如下式。
其中,为平滑系数,例如,/>可以取值0.95。
在计算得到了ed相对于md的延迟时长t之后,延迟时长t可以用延迟样本数表示,可以针对m信号进行缓冲对齐,具体可以通过FIFO(First Input First Output,先进先出)针对m信号进行缓存,将m信号延迟/>个样本之后得到时间维度上与m'对齐的信号m''。
在VOIP语音通话过程中,常常有共享本地音频的需求。例如,在通话工程中想让对方看到自己的电脑桌面(即所谓共享屏幕)的同时还能听到自己电脑播放的声音。本实施例提供的音频分享方法支持在通话过程中自己电脑通过喇叭播放本地音频的同时,还能将播放的声音实时共享给远端用户,同时还能够正常与远端用户互相通话。本实施例提供的音频分享方法具体可以还可以应用于以下两种场景中。第一种场景是在VOIP应用程序内选择需要播放的音视频文件实时共享声音给远端用户,具体可以由用户在应用程序内选择本地音视频文件,解码获取本地数字音频流将本地音频流与远端说话人的声音进行混音并送喇叭播放,将本地音频流与经过回声消除之后的麦克风音频流进行混音之后编码发送到远端。第二个场景是在VOIP应用程序之外,操作系统上的其他APP播放的音频需要实时共享给远端用户,具体通过操作系统环回采集接口采集环回音频流,将环回音频流作为参考信号消除麦克风采集到的近端回声信号,利用另一个回声消除模块消除环回音频流中的远端语音,将分别得到的信号进行混音之后编码发送到远端用户。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的音频分享方法的音频分享装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个音频分享装置实施例中的具体限定可以参见上文中对于音频分享方法的限定,在此不再赘述。
在一个示例性的实施例中,如图11所示,提供了一种音频分享装置1100,包括:待分享音频确定模块1102、本地音频获取模块1104、延迟对齐模块1106和音频混合模块1108,其中:
待分享音频确定模块1102,用于在第一终端与第二终端进行语音通话的过程中,确定第一终端的待分享音频数据;待分享音频数据和由第二终端向第一终端发送的远端通话音频数据,在第一终端的本地端通过第一终端关联的不同本地播放设备分别进行播放;
本地音频获取模块1104,用于获取在第一终端的本地端采集的本地音频数据;本地音频数据包括待分享音频数据的分享音频回声数据以及针对远端通话音频数据进行语音通话的近端通话音频数据;
延迟对齐模块1106,用于基于本地音频数据将待分享音频数据进行延迟对齐,得到在时间维度与分享音频回声数据对齐的延迟音频数据;
音频混合模块1108,用于将本地音频数据与延迟音频数据进行混合,并将混合得到的混合音频数据基于语音通话发送到第二终端进行播放。
在一个实施例中,延迟对齐模块1106,还用于基于本地音频数据和待分享音频数据,确定分享音频回声数据相对于待分享音频数据的延迟时长;按照延迟时长,将待分享音频数据与分享音频回声数据在时间维度进行对齐,得到与分享音频回声数据对齐的延迟音频数据。
在一个实施例中,延迟对齐模块1106,还用于从本地音频数据中获得当前时刻对应的本地音频检测数据,并从待分享音频数据中获得当前时刻对应的待分享音频检测数据;确定本地音频检测数据与待分享音频检测数据之间的相关性参数;根据相关性参数,确定分享音频回声数据相对于待分享音频数据的延迟时长。
在一个实施例中,延迟对齐模块1106,还用于将本地音频检测数据与待分享音频检测数据分别进行频域转换,获得本地音频检测数据对应的本地音频频域数据以及待分享音频检测数据对应的待分享音频频域数据;基于互相关算法,根据本地音频频域数据和待分享音频频域数据各自包括的数据点,得到本地音频频域数据和待分享音频频域数据之间的相关性参数;基于相关性参数,确定本地音频频域数据相对于待分享音频频域数据的延迟数据点数量;根据延迟数据点数量确定分享音频回声数据相对于待分享音频数据的延迟时长。
在一个实施例中,延迟对齐模块1106,还用于根据相关性参数,确定分享音频回声数据相对于待分享音频数据的当前时刻延迟时长;获取分享音频回声数据相对于待分享音频数据的历史延迟时长;根据当前时刻延迟时长和历史延迟时长,确定分享音频回声数据相对于待分享音频数据的延迟时长。
在一个实施例中,历史延迟时长包括当前时刻的前一时刻所对应的前一时刻延迟时长;延迟对齐模块1106,还用于按照平滑系数,将当前时刻延迟时长和前一时刻延迟时长进行平滑处理,得到分享音频回声数据相对于待分享音频数据的延迟时长。
在一个实施例中,延迟对齐模块1106,还用于当满足延迟检测触发条件,分别针对本地音频数据和待分享音频数据进行下采样,得到下采样后的本地音频数据和下采样后的待分享音频数据;按照数据筛选条件,从下采样后的本地音频数据中筛选出当前时刻对应的本地音频检测数据;按照数据筛选条件,从下采样后的待分享音频数据中筛选出当前时刻对应的待分享音频检测数据。
在一个实施例中,延迟对齐模块1106,还用于将待分享音频数据进行缓存,并确定待分享音频数据的缓存时长;当缓存时长达到延迟时长,获得与分享音频回声数据在时间维度对齐的延迟音频数据。
在一个实施例中,本地音频数据中还包括远端通话音频数据的通话音频回声数据;还包括通话音频回声消除模块,用于通过远端通话音频数据针对本地音频数据中包括的通话音频回声数据进行回声消除处理,得到通话音频回声消除后的本地音频数据;基于通话音频回声消除后的本地音频数据将待分享音频数据进行延迟对齐,得到在时间维度与分享音频回声数据对齐的延迟音频数据;将通话音频回声消除后的本地音频数据与延迟音频数据进行混合,并将混合得到的混合音频数据基于语音通话发送到第二终端进行播放。
在一个实施例中,还包括远端通话音频获取模块,用于在第一终端与第二终端通过通话应用进行语音通话的过程中,获取由第二终端通过通话应用向第一终端发送的远端通话音频数据;音频混合模块1108,还用于将本地音频数据与延迟音频数据进行混合,得到混合音频数据;将混合音频数据通过通话应用发送到第二终端进行播放。
在一个实施例中,还包括分享音频回声消除模块,用于通过待分享音频数据针对本地音频数据中包括的分享音频回声数据进行回声消除处理,得到分享音频回声消除后的本地音频数据;将分享音频回声消除后的本地音频数据与待分享音频数据进行混合,并将得到的混合音频数据基于语音通话发送到第二终端进行播放。
上述音频分享装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待分享音频数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种音频分享方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种音频分享方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12和图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (23)
1.一种音频分享方法,其特征在于,所述方法包括:
在第一终端与第二终端进行语音通话的过程中,确定所述第一终端的待分享音频数据;所述待分享音频数据和由所述第二终端向所述第一终端发送的远端通话音频数据,在所述第一终端的本地端通过所述第一终端关联的不同本地播放设备分别进行播放;
获取在所述第一终端的本地端采集的本地音频数据;所述本地音频数据包括所述待分享音频数据的分享音频回声数据以及针对所述远端通话音频数据进行语音通话的近端通话音频数据;
基于所述本地音频数据和所述待分享音频数据,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长;
按照所述延迟时长,将所述待分享音频数据与所述分享音频回声数据在时间维度进行对齐,得到与所述分享音频回声数据对齐的延迟音频数据;
将所述本地音频数据与所述延迟音频数据进行混合,并将混合得到的混合音频数据基于所述语音通话发送到所述第二终端进行播放。
2.根据权利要求1所述的方法,其特征在于,所述基于所述本地音频数据和所述待分享音频数据,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长,包括:
从所述本地音频数据中获得当前时刻对应的本地音频检测数据,并从所述待分享音频数据中获得当前时刻对应的待分享音频检测数据;
确定所述本地音频检测数据与所述待分享音频检测数据之间的相关性参数;
根据所述相关性参数,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长。
3.根据权利要求2所述的方法,其特征在于,所述确定所述本地音频检测数据与所述待分享音频检测数据之间的相关性参数,包括:
将所述本地音频检测数据与所述待分享音频检测数据分别进行频域转换,获得所述本地音频检测数据对应的本地音频频域数据以及所述待分享音频检测数据对应的待分享音频频域数据;
基于互相关算法,根据所述本地音频频域数据和所述待分享音频频域数据各自包括的数据点,得到所述本地音频频域数据和所述待分享音频频域数据之间的相关性参数;
所述根据所述相关性参数,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长,包括:
基于所述相关性参数,确定所述本地音频频域数据相对于所述待分享音频频域数据的延迟数据点数量;
根据所述延迟数据点数量确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长。
4.根据权利要求2所述的方法,其特征在于,所述根据所述相关性参数,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长,包括:
根据所述相关性参数,确定所述分享音频回声数据相对于所述待分享音频数据的当前时刻延迟时长;
获取所述分享音频回声数据相对于所述待分享音频数据的历史延迟时长;
根据所述当前时刻延迟时长和所述历史延迟时长,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长。
5.根据权利要求4所述的方法,其特征在于,所述历史延迟时长包括所述当前时刻的前一时刻所对应的前一时刻延迟时长;
所述根据所述当前时刻延迟时长和所述历史延迟时长,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长,包括:
按照平滑系数,将所述当前时刻延迟时长和所述前一时刻延迟时长进行平滑处理,得到所述分享音频回声数据相对于所述待分享音频数据的延迟时长。
6.根据权利要求2所述的方法,其特征在于,所述从所述本地音频数据中获得当前时刻对应的本地音频检测数据,并从所述待分享音频数据中获得当前时刻对应的待分享音频检测数据,包括:
当满足延迟检测触发条件,分别针对所述本地音频数据和所述待分享音频数据进行下采样,得到下采样后的本地音频数据和下采样后的待分享音频数据;
按照数据筛选条件,从所述下采样后的本地音频数据中筛选出当前时刻对应的本地音频检测数据;
按照所述数据筛选条件,从所述下采样后的待分享音频数据中筛选出当前时刻对应的待分享音频检测数据。
7.根据权利要求1所述的方法,其特征在于,所述按照所述延迟时长,将所述待分享音频数据与所述分享音频回声数据在时间维度进行对齐,得到与所述分享音频回声数据对齐的延迟音频数据,包括:
将所述待分享音频数据进行缓存,并确定所述待分享音频数据的缓存时长;
当所述缓存时长达到所述延迟时长,获得与所述分享音频回声数据在时间维度对齐的延迟音频数据。
8.根据权利要求1所述的方法,其特征在于,所述本地音频数据中还包括所述远端通话音频数据的通话音频回声数据;所述方法还包括:
通过所述远端通话音频数据针对所述本地音频数据中包括的所述通话音频回声数据进行回声消除处理,得到通话音频回声消除后的本地音频数据;
基于所述通话音频回声消除后的本地音频数据将所述待分享音频数据进行延迟对齐,得到在时间维度与所述分享音频回声数据对齐的延迟音频数据;
将所述通话音频回声消除后的本地音频数据与所述延迟音频数据进行混合,并将混合得到的混合音频数据基于所述语音通话发送到所述第二终端进行播放。
9.根据权利要求1至8任意一项所述的方法,其特征在于,所述方法还包括:
在第一终端与第二终端通过通话应用进行语音通话的过程中,获取由所述第二终端通过所述通话应用向所述第一终端发送的远端通话音频数据;
所述将所述本地音频数据与所述延迟音频数据进行混合,并将混合得到的混合音频数据基于所述语音通话发送到所述第二终端进行播放,包括:
将所述本地音频数据与所述延迟音频数据进行混合,得到混合音频数据;
将所述混合音频数据通过所述通话应用发送到所述第二终端进行播放。
10.根据权利要求1至8任意一项所述的方法,其特征在于,所述方法还包括:
通过所述待分享音频数据针对所述本地音频数据中包括的所述分享音频回声数据进行回声消除处理,得到分享音频回声消除后的本地音频数据;
将所述分享音频回声消除后的本地音频数据与所述待分享音频数据进行混合,并将得到的混合音频数据基于所述语音通话发送到所述第二终端进行播放。
11.一种音频分享装置,其特征在于,所述装置包括:
待分享音频确定模块,用于在第一终端与第二终端进行语音通话的过程中,确定所述第一终端的待分享音频数据;所述待分享音频数据和由所述第二终端向所述第一终端发送的远端通话音频数据,在所述第一终端的本地端通过所述第一终端关联的不同本地播放设备分别进行播放;
本地音频获取模块,用于获取在所述第一终端的本地端采集的本地音频数据;所述本地音频数据包括所述待分享音频数据的分享音频回声数据以及针对所述远端通话音频数据进行语音通话的近端通话音频数据;
延迟对齐模块,用于基于所述本地音频数据和所述待分享音频数据,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长;按照所述延迟时长,将所述待分享音频数据与所述分享音频回声数据在时间维度进行对齐,得到与所述分享音频回声数据对齐的延迟音频数据;
音频混合模块,用于将所述本地音频数据与所述延迟音频数据进行混合,并将混合得到的混合音频数据基于所述语音通话发送到所述第二终端进行播放。
12.根据权利要求11所述的装置,其特征在于,
所述延迟对齐模块,还用于从所述本地音频数据中获得当前时刻对应的本地音频检测数据,并从所述待分享音频数据中获得当前时刻对应的待分享音频检测数据;确定所述本地音频检测数据与所述待分享音频检测数据之间的相关性参数;根据所述相关性参数,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长。
13.根据权利要求12所述的装置,其特征在于,
所述延迟对齐模块,还用于将所述本地音频检测数据与所述待分享音频检测数据分别进行频域转换,获得所述本地音频检测数据对应的本地音频频域数据以及所述待分享音频检测数据对应的待分享音频频域数据;基于互相关算法,根据所述本地音频频域数据和所述待分享音频频域数据各自包括的数据点,得到所述本地音频频域数据和所述待分享音频频域数据之间的相关性参数;基于所述相关性参数,确定所述本地音频频域数据相对于所述待分享音频频域数据的延迟数据点数量;根据所述延迟数据点数量确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长。
14.根据权利要求12所述的装置,其特征在于,
所述延迟对齐模块,还用于根据所述相关性参数,确定所述分享音频回声数据相对于所述待分享音频数据的当前时刻延迟时长;获取所述分享音频回声数据相对于所述待分享音频数据的历史延迟时长;根据所述当前时刻延迟时长和所述历史延迟时长,确定所述分享音频回声数据相对于所述待分享音频数据的延迟时长。
15.根据权利要求14所述的装置,其特征在于,所述历史延迟时长包括所述当前时刻的前一时刻所对应的前一时刻延迟时长;
所述延迟对齐模块,还用于按照平滑系数,将所述当前时刻延迟时长和所述前一时刻延迟时长进行平滑处理,得到所述分享音频回声数据相对于所述待分享音频数据的延迟时长。
16.根据权利要求12所述的装置,其特征在于,
所述延迟对齐模块,还用于当满足延迟检测触发条件,分别针对所述本地音频数据和所述待分享音频数据进行下采样,得到下采样后的本地音频数据和下采样后的待分享音频数据;按照数据筛选条件,从所述下采样后的本地音频数据中筛选出当前时刻对应的本地音频检测数据;按照所述数据筛选条件,从所述下采样后的待分享音频数据中筛选出当前时刻对应的待分享音频检测数据。
17.根据权利要求11所述的装置,其特征在于,
所述延迟对齐模块,还用于将所述待分享音频数据进行缓存,并确定所述待分享音频数据的缓存时长;当所述缓存时长达到所述延迟时长,获得与所述分享音频回声数据在时间维度对齐的延迟音频数据。
18.根据权利要求11所述的装置,其特征在于,所述本地音频数据中还包括所述远端通话音频数据的通话音频回声数据;所述装置还包括:
通话音频回声消除模块,用于通过所述远端通话音频数据针对所述本地音频数据中包括的所述通话音频回声数据进行回声消除处理,得到通话音频回声消除后的本地音频数据;基于所述通话音频回声消除后的本地音频数据将所述待分享音频数据进行延迟对齐,得到在时间维度与所述分享音频回声数据对齐的延迟音频数据;将所述通话音频回声消除后的本地音频数据与所述延迟音频数据进行混合,并将混合得到的混合音频数据基于所述语音通话发送到所述第二终端进行播放。
19.根据权利要求11至18任意一项所述的装置,其特征在于,所述装置还包括:
远端通话音频获取模块,用于在第一终端与第二终端通过通话应用进行语音通话的过程中,获取由所述第二终端通过所述通话应用向所述第一终端发送的远端通话音频数据;
所述音频混合模块,还用于将所述本地音频数据与所述延迟音频数据进行混合,得到混合音频数据;将所述混合音频数据通过所述通话应用发送到所述第二终端进行播放。
20.根据权利要求11至18任意一项所述的装置,其特征在于,所述装置还包括:
分享音频回声消除模块,用于通过所述待分享音频数据针对所述本地音频数据中包括的所述分享音频回声数据进行回声消除处理,得到分享音频回声消除后的本地音频数据;将所述分享音频回声消除后的本地音频数据与所述待分享音频数据进行混合,并将得到的混合音频数据基于所述语音通话发送到所述第二终端进行播放。
21.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
23.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410298526.6A CN117896469B (zh) | 2024-03-15 | 2024-03-15 | 音频分享方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410298526.6A CN117896469B (zh) | 2024-03-15 | 2024-03-15 | 音频分享方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117896469A CN117896469A (zh) | 2024-04-16 |
CN117896469B true CN117896469B (zh) | 2024-05-31 |
Family
ID=90652163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410298526.6A Active CN117896469B (zh) | 2024-03-15 | 2024-03-15 | 音频分享方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117896469B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180105357A (ko) * | 2017-03-15 | 2018-09-28 | 주식회사 클레슨 | 양방향 학습 동영상 공유시 재생 지연을 해소하기 위한 동기화 방법 |
CN112118062A (zh) * | 2019-06-19 | 2020-12-22 | 华为技术有限公司 | 一种多终端的多媒体数据通信方法和系统 |
CN114327351A (zh) * | 2021-12-23 | 2022-04-12 | 努比亚技术有限公司 | 本地音频输出的共享方法、装置及计算机可读存储介质 |
CN115118919A (zh) * | 2022-06-27 | 2022-09-27 | 上海游密信息科技有限公司 | 音频处理方法、装置、设备、存储介质和程序产品 |
CN115620736A (zh) * | 2021-07-16 | 2023-01-17 | 腾讯科技(深圳)有限公司 | 音频分享方法、装置、计算机可读存储介质及电子设备 |
CN116566963A (zh) * | 2023-07-12 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种音频处理方法、装置、电子设备和存储介质 |
CN116939230A (zh) * | 2022-04-02 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 直播交互方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220038769A1 (en) * | 2020-07-28 | 2022-02-03 | Bose Corporation | Synchronizing bluetooth data capture to data playback |
-
2024
- 2024-03-15 CN CN202410298526.6A patent/CN117896469B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180105357A (ko) * | 2017-03-15 | 2018-09-28 | 주식회사 클레슨 | 양방향 학습 동영상 공유시 재생 지연을 해소하기 위한 동기화 방법 |
CN112118062A (zh) * | 2019-06-19 | 2020-12-22 | 华为技术有限公司 | 一种多终端的多媒体数据通信方法和系统 |
CN115620736A (zh) * | 2021-07-16 | 2023-01-17 | 腾讯科技(深圳)有限公司 | 音频分享方法、装置、计算机可读存储介质及电子设备 |
CN114327351A (zh) * | 2021-12-23 | 2022-04-12 | 努比亚技术有限公司 | 本地音频输出的共享方法、装置及计算机可读存储介质 |
CN116939230A (zh) * | 2022-04-02 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 直播交互方法、装置、计算机设备和存储介质 |
CN115118919A (zh) * | 2022-06-27 | 2022-09-27 | 上海游密信息科技有限公司 | 音频处理方法、装置、设备、存储介质和程序产品 |
CN116566963A (zh) * | 2023-07-12 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种音频处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117896469A (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021196905A1 (zh) | 语音信号去混响处理方法、装置、计算机设备和存储介质 | |
JP6703525B2 (ja) | 音源を強調するための方法及び機器 | |
US9640194B1 (en) | Noise suppression for speech processing based on machine-learning mask estimation | |
CN110808063A (zh) | 一种语音处理方法、装置和用于处理语音的装置 | |
WO2022135340A1 (zh) | 一种主动降噪的方法、设备及系统 | |
CN110956969B (zh) | 直播音频处理方法、装置、电子设备和存储介质 | |
CN111654806B (zh) | 音频播放方法、装置、存储介质及电子设备 | |
CN114189790B (zh) | 音频信息的处理方法、电子设备、系统、产品及介质 | |
WO2021244056A1 (zh) | 一种数据处理方法、装置和可读介质 | |
JP2024507916A (ja) | オーディオ信号の処理方法、装置、電子機器、及びコンピュータプログラム | |
CN114203163A (zh) | 音频信号处理方法及装置 | |
Shankar et al. | Efficient two-microphone speech enhancement using basic recurrent neural network cell for hearing and hearing aids | |
CN111402917A (zh) | 音频信号处理方法及装置、存储介质 | |
CN115482830A (zh) | 语音增强方法及相关设备 | |
WO2022256577A1 (en) | A method of speech enhancement and a mobile computing device implementing the method | |
TW202143750A (zh) | 使用自我調整網路來對全景聲係數進行變換 | |
CN117896469B (zh) | 音频分享方法、装置、计算机设备和存储介质 | |
CN117219107B (zh) | 一种回声消除模型的训练方法、装置、设备及存储介质 | |
CN111353258A (zh) | 基于编码解码神经网络的回声抑制方法及音频装置及设备 | |
US11646046B2 (en) | Psychoacoustic enhancement based on audio source directivity | |
CN113763978B (zh) | 语音信号处理方法、装置、电子设备以及存储介质 | |
CN111696566B (zh) | 语音处理方法、装置和介质 | |
CN115602183A (zh) | 一种音频增强方法、装置、电子设备和存储介质 | |
CN113299308A (zh) | 一种语音增强方法、装置、电子设备及存储介质 | |
WO2024055751A1 (zh) | 音频数据处理方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |