Singing pitch score method and apparatus, device, medium, product
By acquiring lyric segment identifiers and standard pitch sets, aligning the vocal recording track with a delay, smoothly extracting the singing beat pitch, and performing normalized pitch comparison, the problem of simplified singing scoring in existing technologies is solved, achieving more accurate singing pitch scoring and improving user experience.
Patent Information
- Application Number
- CN202310097555.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-07
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2043-02-07
AI Technical Summary
In existing technologies, singing scoring systems use simplistic scoring methods and cannot accurately reflect a user's singing level.
By acquiring lyric segment identifiers and standard pitch sets, the vocal recording track is aligned with the delay, the singing beat pitch is smoothly extracted, and a normalized pitch comparison is performed to determine the singing pitch score.
This improves the accuracy and reliability of singing scores, allowing users to understand their singing level and enhancing the online singing service experience.
Smart Images

Figure CN116110431B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of online entertainment services, in particular to a singing pitch scoring method, and further relates to a device, equipment, non-volatile storage medium and computer program product corresponding to the method. BACKGROUND
[0002] The existing Internet platform usually provides online singing services to users, and users sing in the platform by using online singing services. For example, for a network live streaming platform, a host user can play a music accompaniment in a live streaming room to sing by using an online singing service. However, the existing online singing service generally only provides a singing voice input function, and users cannot understand their singing level through the online singing service. Although some platforms provide a singing scoring function, the scoring method is relatively simple, and generally only scores by the volume of the input voice, which cannot help users understand their real singing level.
[0003] In view of the problems existing in the existing online singing service, the present application makes corresponding exploration to solve the problem. SUMMARY
[0004] The present application aims to meet the needs of users and provide a singing pitch scoring method, and further relates to a device, equipment, non-volatile storage medium and computer program product corresponding to the method.
[0005] To achieve the purpose of the present application, the following technical solutions are adopted:
[0006] A singing pitch scoring method proposed to achieve the purpose of the present application includes the following steps:
[0007] In response to a user singing event, a target song corresponding to the user singing event is played, and standard pitch information corresponding to the target song is obtained, the standard pitch information including a plurality of lyric paragraph identifiers and their standard pitch sets, and the standard pitch set including a plurality of standard beat pitches;
[0008] The human voice singing track of the user end is obtained for time delay alignment, and the singing beat pitch of the human voice singing track is smoothly extracted;
[0009] The plurality of beat singing pitches extracted in the time period of the currently played lyric paragraph in the target song are taken as a singing pitch collection, and according to the normalized pitch comparison rule, the beat pitch comparison between the standard pitch set corresponding to the singing paragraph and the singing pitch collection is performed to determine the singing pitch score corresponding to the singing paragraph;
[0010] Obtaining all song paragraphs of the target song corresponding to the singing pitch score, and determining the final singing pitch score of the target song based on the singing pitch score.
[0011] In further embodiments, before the step of playing the target song corresponding to the user singing event, obtaining the standard pitch information corresponding to the target song, the standard pitch information comprising a plurality of lyric paragraph identifiers and their standard pitch sets, the standard pitch set comprising a plurality of standard beat pitches, the following steps are included:
[0012] Obtaining the lyric paragraph information corresponding to the current song and the human voice track in the current song, wherein the start time of a plurality of lyric paragraphs contained in the lyric information;
[0013] Obtaining the start time of the current lyric paragraph and the next lyric paragraph in the lyric information, taking the start time of the next lyric paragraph as the end time of the current lyric paragraph, and taking the audio track in the human voice track between the start time and the end time of the current lyric paragraph as the lyric audio track of the current lyric paragraph;
[0014] Obtaining the lyric audio track corresponding to the current lyric paragraph, checking whether there is a silent segment with a time exceeding a preset duration in the lyric audio track, and if so, taking the start time of the silent segment as the end time of the lyric audio track;
[0015] Smoothly extracting a plurality of standard beat pitches contained in the lyric audio track, generating a standard pitch set composed of each standard beat pitch, and encapsulating the lyric paragraph identifier of the current lyric paragraph and the standard pitch set as mapping relationship data.
[0016] In further embodiments, before the step of playing the target song corresponding to the user singing event, obtaining the standard pitch information corresponding to the target song, the standard pitch information comprising a plurality of lyric paragraph identifiers and their standard pitch sets, the standard pitch set comprising a plurality of standard beat pitches, the following steps are included:
[0017] Playing high-frequency delay alignment audio in response to an application program start event, and obtaining an audio playing time of playing the high-frequency delay alignment audio;
[0018] In response to a high-frequency delay alignment audio collection event acting on the audio collection module, determining an audio collection time of the event;
[0019] Calculating the time difference between the audio playing time and the audio collection time as a delay alignment duration, and performing the delay alignment on the human voice singing audio track according to the delay alignment duration.
[0020] In a further embodiment, the step of acquiring the vocal singing track of the user terminal to perform time delay alignment includes the following steps:
[0021] In response to a vocal singing track collection event acting on the audio collection module, the track time axis of the vocal singing track is acquired.
[0022] The time delay alignment duration is acquired, and the length of the time axis corresponding to the time delay duration is subtracted from the beginning of the track time axis.
[0023] In a further embodiment, the step of smoothing the singing beat pitch of the vocal singing track includes the following steps:
[0024] The frame pitch of the vocal track is extracted, and a beat pitch set containing multiple frame pitches is generated.
[0025] If the number of invalid frame pitches in the beat pitch set exceeds half of the total number of frame pitches, the preset first pitch is taken as the pitch value of the beat pitch corresponding to the beat pitch set.
[0026] If the number of invalid frame pitches in the beat pitch set does not exceed the preset threshold, the median pitch corresponding to each frame pitch is determined, and the median pitch is assigned to the frame pitch whose absolute difference exceeds the preset second pitch.
[0027] Based on each frame pitch, the average pitch is calculated, and the average pitch is taken as the pitch value of the beat pitch corresponding to the beat pitch set.
[0028] In a further embodiment, the step of acquiring the multiple beat singing pitches extracted in the time period of the current played lyric paragraph in the target song as a singing pitch collection, performing beat pitch comparison between the standard pitch set corresponding to the singing paragraph and the singing pitch collection according to the normalized pitch comparison rule, and determining the singing pitch score corresponding to the singing paragraph includes the following steps:
[0029] The singing pitch collection and the standard pitch collection of the current lyric paragraph are acquired, and the average singing beat pitch and the average standard beat pitch of the singing pitch collection and the standard pitch collection are calculated respectively.
[0030] The difference between the current singing beat pitch and the average singing beat pitch in the singing pitch set is calculated as a first difference, and the standard beat pitch corresponding to the current singing beat pitch in the standard pitch collection is determined. The difference between the standard beat pitch and the average standard beat pitch is calculated as a second difference.
[0031] calculating an absolute difference between the first difference and the second difference as a beat pitch difference of the current singing beat pitch;
[0032] determining a singing pitch score of a current lyric paragraph based on a preset scoring rule according to the beat pitch differences corresponding to the beat pitch of each song in the singing pitch set.
[0033] A singing pitch scoring device is proposed for the purpose of the present application, comprising:
[0034] A standard pitch acquisition module is configured to play a target song corresponding to a user singing event in response to the user singing event, and acquire standard pitch information corresponding to the target song, wherein the standard pitch information comprises a plurality of lyric paragraph identifiers and their standard pitch sets, and the standard pitch set comprises a plurality of standard beat pitches.
[0035] A singing pitch acquisition module is configured to acquire a human voice singing track of a user terminal for time delay alignment, and smoothly extract singing beat pitches of the human voice singing track.
[0036] A pitch score determination module is configured to acquire a plurality of beat singing pitches extracted in a time period of a lyric paragraph currently played in the target song as a singing pitch set, and perform beat pitch comparison between the standard pitch set corresponding to the singing paragraph and the singing pitch set according to a normalized pitch comparison rule, to determine a singing pitch score corresponding to the singing paragraph.
[0037] A final score determination module is configured to acquire the singing pitch score corresponding to each of all song paragraphs of the target song, and determine a final singing pitch score of the target song based on the singing pitch scores.
[0038] In further embodiments, the singing pitch acquisition module comprises:
[0039] An audio track time axis acquisition submodule is configured to acquire an audio track time axis of a human voice singing track in response to a human voice singing track collection event acting on an audio collection module.
[0040] A time axis length modification submodule is configured to subtract a time axis length corresponding to a time delay duration from a beginning of the audio track time axis.
[0041] In further embodiments, the singing pitch acquisition module further comprises:
[0042] A frame pitch extraction submodule is configured to extract a plurality of frame pitches in the human voice track, and generate a beat pitch set comprising the frame pitches.
[0043] The invalid frame pitch determination submodule is configured to determine invalid frame pitches in the beat pitch set, wherein each invalid frame pitch in the beat pitch set does not exceed a preset first pitch.
[0044] The median pitch verification submodule is configured to determine a median pitch corresponding to each frame pitch in the beat pitch set, and assign the median pitch to a frame pitch whose absolute difference from the median pitch exceeds a preset second pitch, if the number of invalid frame pitches in the beat pitch set does not exceed a preset threshold.
[0045] The average pitch determination submodule is configured to calculate an average pitch corresponding to each frame pitch in the beat pitch set, and assign the average pitch as the pitch value of the beat pitch in the beat pitch set.
[0046] In a further embodiment, the singing pitch score determination module comprises:
[0047] The average beat pitch determination submodule is configured to obtain a singing pitch set and a standard pitch set corresponding to a current lyric paragraph, and calculate an average singing beat pitch and an average standard beat pitch of the singing pitch set and the standard pitch set, respectively.
[0048] The pitch difference calculation submodule is configured to calculate a first difference value between a current singing beat pitch and the average singing beat pitch in the singing pitch set, and determine a standard beat pitch corresponding to the current singing beat pitch in the standard pitch set, and calculate a second difference value between the standard beat pitch and the average standard beat pitch.
[0049] The beat pitch difference determination submodule is configured to calculate an absolute difference between the first difference value and the second difference value as a beat pitch difference of the current singing beat pitch.
[0050] The singing score determination submodule is configured to determine a singing score of the current lyric paragraph based on a preset scoring rule and the beat pitch difference corresponding to each song beat pitch in the singing pitch set.
[0051] To solve the above technical problems, the embodiments of the present application further provide a computer device comprising a memory and a processor, wherein the memory stores computer readable instructions, and the computer readable instructions are executed by the processor to make the processor execute the steps of the singing pitch scoring method.
[0052] To solve the above technical problems, the embodiment of the present application further provides a storage medium storing computer readable instructions, which, when executed by one or more processors, causes the one or more processors to perform the steps of the singing pitch scoring method.
[0053] To solve the above technical problems, the embodiment of the present application further provides a computer program product, comprising a computer program and computer instructions, which, when executed by a processor, causes the processor to perform the steps of the singing pitch scoring method.
[0054] Compared with the prior art, the advantages of the present application are as follows:
[0055] The present application provides a pitch scoring service for the online singing service of the platform, scores each sentence of lyrics sung by a user when the user sings a song, and determines the final pitch score, so that the user can know the singing level when singing the song. Specifically, the singing pitch of the vocal track sung by the user is extracted by smoothing, and when the user finishes singing a sentence of lyrics, the singing pitch of the user singing the sentence of lyrics is compared with the standard pitch of the original singer to determine the singing pitch score of the user singing the sentence of lyrics. In this way, the pitch scores of each sentence of lyrics in the song sung by the user are continuously calculated, and then the final pitch score of the whole song sung by the user is determined according to the pitch scores. The pitch score of the song sung by the user is determined by pitch, which is more consistent with music theory than the traditional score determination method based on volume, improves the accuracy of the singing score, and makes the determined singing score reliable.
[0056] Secondly, the present application performs the delay alignment on the vocal track. Generally, the user at the user end will start singing after hearing the music of the target song, so there is generally no singing voice of the user in the first track of the vocal track collected at the user end. Therefore, the delay alignment can ensure that the singing pitch of the vocal track can be compared with the standard pitch contained in the standard pitch set for scoring and determining, and the accuracy of the singing score is ensured.
[0057] In addition, the present application extracts the pitch values in the vocal track by smoothing, which can prevent the interference of invalid pitch values that are too high or too low, so that the effectiveness of the extracted pitch values is ensured, and the reliability of the score obtained based on the higher pitch is ensured.
[0058] Furthermore, the present application determines the pitch difference between each singing pitch and the standard pitch by normalization to eliminate the influence of different base tones, for example, when male and female users sing a song originally sung by the opposite sex, the natural and physiological differences between male and female base tones will be eliminated by normalization to eliminate the influence of base tone, so as to improve the accuracy of pitch judgment and optimize the user's experience in singing scoring online singing service. BRIEF DESCRIPTION OF DRAWINGS
[0059] The above and / or additional aspects and advantages of the present application will become apparent and more readily appreciated from the following description, taken in conjunction with the following drawings in which:
[0060] Figure 1 A typical network deployment architecture for implementing the technical solutions of the present application;
[0061] Figure 2 A flowchart of a typical embodiment of the singing pitch scoring method of the present application;
[0062] Figure 3 A flowchart of the specific implementation of generating standard beat pitches in the vocal track of a song in the present application;
[0063] Figure 4 A flowchart of the specific implementation of determining the delay alignment duration for delay alignment in the present application;
[0064] Figure 5 A flowchart of the specific implementation of delay alignment of the vocal singing track in the present application;
[0065] Figure 6 A flowchart of the specific implementation of smoothing the beat pitch of the vocal track in the present application;
[0066] Figure 7 A flowchart of the specific implementation of determining the singing pitch score of the lyrics paragraph in the present application;
[0067] Figure 8 A principle block diagram of a typical embodiment of the singing pitch scoring device of the present application;
[0068] Figure 9 A basic structure block diagram of the computer device of an embodiment of the present application. DETAILED DESCRIPTION
[0069] Embodiments of the present application are described below in the context of example embodiments, which are shown in the drawings, wherein like or similar designations are used to indicate like or similar elements or elements having the same or similar function throughout the several views. The embodiments described below are merely examples, which are used to explain the present application and are not to be construed as limiting the present application.
[0070] Those skilled in the art will understand that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," and / or "including," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements can be present. In addition, the use of "connection" or "coupling" herein also includes wireless connection or wireless coupling. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0071] Those skilled in the art will appreciate that unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0072] Those skilled in the art will understand that, as used herein, the terms "client," "terminal," and "terminal device" include both devices that are solely wireless signal receivers and devices that have both receiving and transmitting hardware that can communicate bi-directionally over a bi-directional communication link. Such devices can include cellular or other communication devices with single-line or multiple-line displays, or no display, Personal Communications Service (PCS) devices that can combine a voice and / or data processor, a PDA that can include a radio frequency receiver and a pager, Internet and / or Intranet access, a Web browser, a calendar, and / or a GPS receiver, a conventional laptop and / or palmtop computer and / or other devices that have a radio frequency receiver. As used herein, the terms "client," "terminal," and "terminal device" can be portable, transportable, mounted in a vehicle (aeronautical, maritime, and / or land), or adapted and / or configured for local and / or distributed operation on Earth and / or any other location in space. As used herein, the terms "client," "terminal," and "terminal device" can also be a communication terminal, an Internet terminal, a music / video playing terminal, such as a PDA, a Mobile Internet Device (MID), and / or a mobile phone with music / video playing function, a smart television, a set-top box, and / or the like.
[0073] As used herein, the terms "server," "client," "worker node," and the like refer to hardware that is essentially an electronic device with the equivalent capability of a personal computer, which is a hardware device having the necessary components disclosed by the Von Neumann principle, including a central processing unit (including an arithmetic unit and a controller), a memory, an input device, and an output device, and the like. A computer program is stored in the memory, the central processing unit calls the program stored in the external memory into the memory to run, executes the instructions in the program, and interacts with the input and output devices, thereby completing a specific function.
[0074] It should be noted that the concept of "server" in the present application can also be extended to the case of a server cluster. According to the principle of network deployment understood by those skilled in the art, the servers should be logically divided, and in physical space, these servers can be independent but can be called through an interface, or can be integrated into a physical computer or a computer cluster. Those skilled in the art should understand this variation and should not be restricted by the implementation of the network deployment of the present application.
[0075] Referring to Figure 1 The hardware foundation required for the implementation of the technical solutions related to the present application can be deployed according to the architecture shown in the figure. The server 80 in the present application is deployed in the cloud and serves as an online server, which can be responsible for further connecting related data servers and other servers that provide related support, etc., to form a logically associated server cluster to provide services for related terminal devices such as the smart phone 81 and the personal computer 82 shown in the figure or a third-party server (not shown). The smart phone and the personal computer can access the Internet through a known network access method and establish a data communication link with the server 80 in the cloud to run terminal application programs related to the services provided by the server.
[0076] For the server, the application program is usually built as a service process to open a corresponding program interface for remote calling by application programs running on various terminal devices. The technical solutions related to the present application suitable for running on the server can be implemented in the server in this way.
[0077] The application program refers to an application program running on a server or a terminal device. This application program implements the technical solutions related to the present application in a programming manner, and its program code can be saved in a computer-recognizable non-volatile storage medium in the form of computer executable instructions and be called into the memory by the central processing unit for running. The related device of the present application is constructed through the running of the application program on the computer.
[0078] For the server, the application program is usually built as a service process to open a corresponding program interface for remote calling by application programs running on various terminal devices. The technical solutions related to the present application suitable for running on the server can be implemented in the server in this way.
[0079] Those skilled in the art should know that the various methods of the present application, although based on the same concept and thus common to each other, can be independently performed unless otherwise specified. Similarly, each embodiment disclosed in the present application is based on the same inventive concept, and thus the same concept expressed in the same way and the concept appropriately changed for convenience but not for the concept itself should be understood as equivalent.
[0080] Referring to Figure 2 The singing pitch scoring method of the present application, in its typical embodiment, comprises the following steps:
[0081] Step S11, in response to a user singing event, playing a target song corresponding to the user singing event, and obtaining standard pitch information corresponding to the target song, the standard pitch information comprising a plurality of lyric paragraph identifiers and their standard pitch sets, and the standard pitch set comprising a plurality of standard beat pitches.
[0082] The user singing event generally refers to an event triggered by a user at the user end using an online singing service. After the user at the user end selects a target song provided by the online singing service through a corresponding control, the user singing event acting on the selected target song will be triggered. For example, for a network live platform, after the host user at the user end selects a corresponding target song through a control associated with the online singing service in the live room interface, the user singing event acting on the target song will be triggered.
[0083] After the current user end responds to the user singing event, the target song corresponding to the user singing event and the standard pitch information corresponding to the target song will be obtained from the server of the online singing service responsible for the platform. The standard pitch information has a mapping relationship data composed of a lyric paragraph identifier and its standard pitch set corresponding to each singing paragraph in the target song, wherein the lyric paragraph identifier is used to represent the lyric paragraph it corresponds to, and the standard pitch set contains a plurality of standard beat pitches, each of which is the pitch of each beat in the vocal track of the lyric paragraph it corresponds to.
[0084] The standard pitch information is generally generated according to a vocal track and lyrics information of a song. First, the vocal track of the song is segmented according to the lyrics information of the song to determine the corresponding lyrics track of each lyrics paragraph in the vocal track. Specifically, lyrics paragraph information corresponding to the song is obtained, and a vocal track of the song is obtained. The start time of each lyrics paragraph in the lyrics information is segmented in the lyrics track of the vocal track according to the start time of the lyrics paragraph. For example, the start time and the end time of a lyrics paragraph are obtained from the lyrics information, and the end time is the start time of the next lyrics paragraph. The track between the start time and the end time of the lyrics paragraph in the vocal track is determined as the lyrics track of the lyrics paragraph. In order to prevent the influence of accompaniment music and long silent track in the lyrics track, the lyrics track needs to be detected for silent section. The vocal track is separated into speech section and silent section by Vioce Activation Detection (VAD). After the lyrics track of the lyrics paragraph is determined, it is checked whether there is a silent section with a time longer than a preset time in the lyrics track. If there is, the start time of the silent section is taken as the end time of the lyrics track. After the silent section detection of the lyrics track is completed, the standard beat pitch in the lyrics track is extracted smoothly to generate the standard beat pitch set corresponding to the lyrics paragraph. In this way, the standard beat pitch set corresponding to each lyrics paragraph of the song is generated, and the lyrics paragraph identifier and the corresponding standard beat pitch set of the lyrics paragraph are encapsulated to generate the standard pitch information of the song. For how to smoothly extract the beat pitch in the track, please refer to the related embodiments in step S12, which will not be described here.
[0085] In step S12, the vocal singing track of the user terminal is acquired for delay alignment, and the singing beat pitch of the vocal singing track is extracted smoothly.
[0086] The vocal singing track of the user terminal is generally collected by an audio collection module of the terminal device of the user terminal, that is, the vocal singing track is the track of the human voice sung by the user of the user terminal. The audio collection module is generally a microphone or other sound collecting device module of the terminal device.
[0087] The user at the user end generally sings after hearing the song playing, and the collection of the vocal song track will be started immediately after the song playing. Therefore, there is a time difference between the song playing by the terminal device at the user end and the singing voice collected by the audio collection module, which leads to that the audio about the user starting singing in the vocal singing track collected by the audio collection module of the terminal device is generally not at the initial position of the vocal singing track. Therefore, the delay alignment is needed for the vocal singing track to ensure that the subsequent singing beat pitch of the vocal singing track can be aligned with the standard beat pitch contained in the standard pitch set determined according to the scoring of the vocal singing track. Specifically, after the application program providing the online singing service is started, the user end will respond to the application program starting event acting on the application program, play the high-frequency delay alignment audio, and obtain the audio playing time of playing the high-frequency delay alignment audio. Then, the high-frequency delay alignment audio collection event acting on the audio collection module is responded, that is, the event of the audio collection module collecting the high-frequency delay alignment audio, and the audio collection time of the event is determined. Then, the time difference between the audio playing time and the audio collection time is calculated as the delay alignment time length. When the user end responds to the vocal singing track collection event acting on the audio collection module, the time axis length corresponding to the delay time length is subtracted from the time axis head in the time axis, so as to eliminate the time difference between the song playing and the singing voice collected by the audio collection module.
[0088] After the delay alignment of the human voice singing track, the singing beat pitch in the human voice singing track is extracted smoothly. Specifically, the audio collection module continuously collects the human voice track sung by the user, and extracts pitch data from the currently collected human voice track as frame pitch in a frame unit. The frame pitch refers to the audio value corresponding to a frame of audio data in the human voice audio, wherein the frame of audio data is generally 20 ms. Then, beat pitch containing multiple frame pitches is generated in a beat unit. After the beat pitch is generated, it is determined that each frame pitch contained in the beat pitch set does not exceed a preset first pitch. If the number of invalid frame pitches existing in the beat pitch set exceeds half of the total number of frame pitches, the preset first pitch is taken as the pitch value of the beat pitch corresponding to the beat pitch set. The first pitch is generally -1. If the number of invalid frame pitches existing in the beat pitch set does not exceed a preset threshold, the median pitch corresponding to each frame pitch is determined, and the median pitch is assigned to the frame pitch whose absolute difference exceeds a preset second pitch. The preset second pitch is generally set to 4. The average pitch corresponding to each frame pitch is calculated, and the average pitch is taken as the pitch value of the beat pitch corresponding to the beat pitch set. The mathematical expression of the implementation of the preset second pitch is as follows:
[0089]
[0090] Wherein, P i is the frame beat currently subjected to difference detection, and P0 is the median pitch.
[0091] In step S13, the multiple beat singing pitches extracted in the time period of the currently played lyric paragraph in the target song are taken as a singing pitch set. According to the normalized pitch comparison rule, beat pitch comparison between the standard pitch set corresponding to the singing paragraph and the singing pitch set is performed, and the singing accuracy score corresponding to the singing paragraph is determined:
[0092] continuously acquire the user terminal collected human voice singing track, and detect whether the currently played target song has played any singing paragraph, when it is detected that any singing paragraph of the target song has been played, the starting time and the ending time of the singing paragraph are acquired, the multiple beat singing pitches of the extracted beat singing pitch in the track time axis of the human voice singing track are acquired, and the beat singing pitch is used as the singing pitch collection corresponding to the played singing paragraph. Therefore, the beat pitch comparison is performed between the standard pitch set corresponding to the singing paragraph and the singing pitch collection, to determine the singing pitch score corresponding to the singing paragraph, wherein the starting time and the ending time of each singing paragraph are stored as mapping relationship data in the standard pitch information.
[0093] Regarding the beat pitch comparison between the singing pitch collection and the standard pitch collection according to the normalized pitch comparison rule, specifically, after the singing pitch collection and the standard pitch collection of the current scoring lyrics paragraph are acquired, the average singing beat pitch and the average standard beat pitch of the singing pitch collection and the standard pitch collection are respectively calculated, then the difference between the current singing beat pitch in the singing pitch collection and the average singing beat pitch is calculated as a first difference, and the standard beat pitch corresponding to the current singing beat pitch in the standard pitch collection is determined, the difference between the standard beat pitch and the average standard beat pitch is calculated as a second difference, and the absolute difference between the first difference and the second difference is calculated as the beat pitch difference of the current singing beat pitch. In this way, the beat pitch difference of each singing beat pitch is calculated, and the total number of each beat pitch difference is used to determine the singing pitch score of the current lyrics paragraph. The specific mathematical equation is as follows:
[0094]
[0095] Wherein, N represents the number of singing beat pitches in the singing pitch collection, the number of standard beat pitches in the standard pitch collection is generally the same as the number of singing beat pitches in the singing pitch collection, P represents the current singing beat pitch for which the difference is detected, and P0 represents the beat pitch corresponding to the singing beat pitch. i for the current singing beat pitch for which the difference is detected, P0 represents the beat pitch corresponding to the singing beat pitch.
[0096] After calculating the total number of beat pitch differences corresponding to all singing pitch of the current song paragraph being scored, the average of each beat pitch difference is calculated according to the total number, and then the singing accuracy score corresponding to the song paragraph is determined according to the average. The beat pitch difference represents the difference between the user's singing pitch and the original singing pitch of the song. The smaller the difference, the closer the user's singing pitch is to the original singing pitch. Therefore, the smaller the average, the higher the singing accuracy score of the song paragraph. Specifically, after calculating the average, the singing accuracy score is 100 when the average is less than 1, and the singing accuracy score is 80 when the average is more than 1 but less than 2, according to the preset scoring rule. The scoring rules of the preset scoring rule are as follows:
[0097] AVG≤1,F=100
[0098] 1<AVG≤2,F=80
[0099] 2<AVG≤3,F=60
[0100] 3<AVG≤4,F=40
[0101] 4<AVG≤5,F=20
[0102] 5<AVG,F=0
[0103] Wherein, the AVG is the average of each beat pitch difference, and the F is the singing accuracy score of the song paragraph.
[0104] Of course, those skilled in the art can flexibly design the specific rules of the scoring rules, which will not be described here.
[0105] After determining the singing accuracy score corresponding to the current played song paragraph, the singing accuracy score can be output to the graphical user interface for display, to improve the visibility of the singing scoring service on the user side and enhance the user experience of using online singing services.
[0106] Step S14, obtaining the singing accuracy score corresponding to each song paragraph of the target song, and determining the final singing accuracy score of the target song based on each singing accuracy score:
[0107] When the target song is played, the singing accuracy score corresponding to each song paragraph of the target song is obtained, and the final singing accuracy score of the target song is determined based on each singing accuracy score.
[0108] The sum or average of the singing pitch scores corresponding to each song paragraph of all songs can be calculated as the final singing pitch score of the target song, or the final singing pitch score can be determined based on the singing pitch scores corresponding to each song paragraph of all songs according to preset rules of the target song. For example, the singing pitch scores of different singing paragraphs have different scoring weights, and the scoring weight of a singing paragraph in a chorus part of the target song is generally higher than that of other singing paragraphs. The singing paragraphs in the chorus part of the target song are determined, the high scoring weight and the singing pitch score of the singing paragraphs are calculated to obtain the chorus singing pitch score of each of the singing paragraphs, the other singing paragraphs of the target song are calculated with a low scoring weight and their singing pitch scores to obtain the main song singing pitch score of each of the singing paragraphs, and then the final singing pitch score of the target song is determined according to the chorus singing pitch score and the main song singing pitch score. The specific values of the high scoring weight and the low scoring weight can be flexibly designed by those skilled in the art, and will not be described here.
[0109] As can be known from the typical embodiments of the method, the method provides a pitch scoring service for the online singing service of the platform, scores the pitch of each sentence of a song sung by a user of the platform when the user sings the song, and determines a final pitch score, so that the user can know the singing level when singing the song. Specifically, the singing pitch of a song sung by a user is extracted, the singing pitch extracted from the user when singing a sentence of the song is compared with the standard pitch of the original song, and the singing pitch score of the user when singing the sentence is determined. The singing pitch scores of each sentence of the song sung by the user are continuously calculated, and the final pitch score of the song sung by the user is determined according to the singing pitch scores. The pitch score of the song sung by the user is determined by pitch, which is more consistent with music theory than the traditional score determination by volume, improves the accuracy of the singing score, and makes the determined singing score reliable.
[0110] The above typical embodiments and their variant embodiments fully disclose the implementation of the singing pitch scoring method of the present application, but a plurality of variant embodiments of the method can be derived by transformation and expansion of some technical means, as follows:
[0111] In one embodiment, please refer to Figure 3, the method comprising the steps of:
[0112] In step S07, the lyrics paragraph information corresponding to the current song is obtained, and the human voice track in the current song is obtained, wherein the starting time of each lyrics paragraph in the lyrics information is obtained.
[0113] The song generally has an accompaniment track and the human voice track, wherein the human voice track refers to the track in the song with the singing voice sung by the singer. After the current song is obtained, the human voice track is separated from the current song for standard pitch extraction.
[0114] The starting time refers to the singing time of the lyrics paragraph in the song. For the human voice track, the human voice singing the lyrics paragraph is synchronized with the starting time of the lyrics paragraph in the human voice track.
[0115] In step S08, the starting time of the current lyrics paragraph and the next lyrics paragraph in the lyrics information is obtained, the starting time of the next lyrics paragraph is taken as the ending time of the current lyrics paragraph, and the track between the starting time and the ending time of the current lyrics paragraph in the human voice track is taken as the lyrics track of the current lyrics paragraph.
[0116] In order to distinguish the track corresponding to each lyrics paragraph in the human voice track, the ending time of each lyrics paragraph needs to be determined. Since each lyrics paragraph is sung in order in the song, the ending time of each lyrics paragraph is generally the starting time of the next lyrics paragraph. Therefore, when determining the lyrics track corresponding to a certain lyrics paragraph in the human voice track, the starting time of the next lyrics paragraph of the lyrics paragraph is taken as the ending time of the lyrics paragraph, so that the track between the starting time and the ending time of the lyrics paragraph in the human voice track is taken as the lyrics track corresponding to the lyrics paragraph.
[0117] In step S09, the lyrics track corresponding to the current lyrics paragraph is obtained, and it is checked whether there is a mute segment with a time exceeding a preset time length in the lyrics track. If there is, the starting time of the mute segment is taken as the ending time of the lyrics track.
[0118] After the lyrics track of the lyrics paragraph in the human voice track is determined according to the starting time of the next lyrics paragraph of the lyrics paragraph, mute segment detection is performed on the lyrics track to prevent the influence of the accompaniment music in the lyrics and the long mute track.
[0119] The human voice track generally uses Voice Activation Detection (Vioce Activation Detection) to separate the voice segment and the silent segment. After determining the lyrics track of the lyrics paragraph, it is checked whether there is a silent segment with a time exceeding a preset time length in the lyrics track. If there is, the starting time of the silent segment is taken as the end time of the lyrics track, wherein the preset time length is generally set in the time length range of 1 to 3 seconds.
[0120] In step S10, the plurality of standard beat pitches contained in the lyrics track are smoothly extracted, a standard pitch set composed of each standard beat pitch is generated, and the lyrics paragraph identifier of the current lyrics paragraph and the standard pitch set are packaged as mapping relationship data:
[0121] After completing the silent segment detection of the lyrics track of the lyrics paragraph, the plurality of standard beat pitches contained in the lyrics track are smoothly extracted, and the standard beat pitches are packaged to generate the standard pitch set acting on the lyrics paragraph, and the lyrics paragraph identifier of the lyrics paragraph and the standard pitch set are packaged as mapping relationship data for subsequent packaging into the standard pitch information of the song.
[0122] In this embodiment, the platform generates corresponding standard pitch information for the songs in the platform in advance, so that when a user of the platform uses an online singing service, the standard pitch information corresponding to the song being sung is obtained for pitch judgment, and the pitch score when the user sings the song is determined.
[0123] In one embodiment, please refer to Figure 4 , the step of playing the target song corresponding to the user singing event in response to the user singing event, obtaining the standard pitch information corresponding to the target song, the standard pitch information containing a plurality of lyrics paragraph identifiers and their standard pitch sets, and the standard pitch set containing a plurality of standard beat pitches, before the step of playing the target song corresponding to the user singing event in response to the user singing event, obtaining the standard pitch information corresponding to the target song, the standard pitch information containing a plurality of lyrics paragraph identifiers and their standard pitch sets, and the standard pitch set containing a plurality of standard beat pitches, comprising the following steps:
[0124] Step S08', playing high-frequency delay alignment audio in response to application program startup event, obtaining audio playing time of playing the high-frequency delay alignment audio:
[0125] The application program startup event refers to the event triggered when the application program is started. The user end plays the high-frequency delay alignment audio in response to the application program startup event, and obtains the audio playing time of playing the high-frequency delay alignment audio.
[0126] The high-frequency delay alignment audio is generally high-frequency sound that cannot be distinguished and heard by human ear.
[0127] Step S09', in response to the high-frequency delay alignment audio collection event acting on the audio collection module, determining the audio collection time of the event:
[0128] The audio collection module generally refers to the microphone or other sound collecting device of the terminal device of the user end. When the audio collection module of the user end collects the previously played high-frequency delay alignment audio, the user end will determine the time when the audio collection module collects the high-frequency delay alignment audio as the audio collection time.
[0129] Step S10', calculating the time difference between the audio playing time and the audio collection time as the delay alignment duration, so as to perform the delay alignment on the vocal singing track according to the delay alignment duration:
[0130] After determining the audio collection time, the time difference between the audio playing time and the audio collection time will be calculated as the delay alignment duration, so that when the user end uses the online singing service, the vocal singing track collected by the user end is obtained, and the delay alignment is performed on the vocal singing track according to the delay alignment duration.
[0131] In this embodiment, after the user end starts the application, the user cannot hear the high-frequency sound played, and the time duration consumed by the terminal device of the user end from playing the high-frequency sound to collecting the high-frequency sound is determined, which is used as the delay alignment duration for the vocal singing track collected by the user when using the online singing service, to correct the time difference between the vocal singing track and the played song.
[0132] In one embodiment, please refer to Figure 5 In the step of performing delay alignment on the vocal singing track collected by the user end, the following steps are included:
[0133] Step S121, in response to the vocal singing track collection event acting on the audio collection module, obtaining the track time axis of the vocal singing track:
[0134] The vocal climax track collection event refers to the event that the terminal device of the user end collects the user's voice when singing a song through the audio collection module. When the user end responds to the user singing event, the audio collection module of the terminal device will be started to collect the vocal singing track of the user singing a song.
[0135] Step S122, obtaining the delay alignment duration, and subtracting the time axis length corresponding to the delay duration from the beginning of the track time axis:
[0136] When the user terminal is using the online singing service, the user terminal will simultaneously play the music of the target song and collect the vocal singing track through the audio collection module. Generally, the user at the user terminal will start singing after hearing the music of the target song, so there is generally no singing voice of the user in the first track of the collected vocal singing track. Therefore, the time axis length corresponding to the delay duration needs to be subtracted from the beginning of the track time axis to ensure that the singing pitch in the collected vocal singing track is the pitch of the singing voice of the user, and to ensure that the collected singing pitch can be aligned with the subsequent standard pitch for comparison.
[0137] In this embodiment, the delay alignment is performed on the vocal singing track to ensure that the subsequent singing pitch of the vocal singing track can be aligned with the standard pitch included in the standard pitch set for scoring and determining.
[0138] In one embodiment, please refer to Figure 6 The step of smoothing the singing pitch of the vocal singing track includes the following steps:
[0139] Step S121', multiple frame pitches in the vocal track are extracted to generate a beat pitch set containing multiple frame pitches:
[0140] This embodiment is about the embodiment of smoothing the beat pitch in the track. Smoothing is applied to the vocal singing track and the vocal track, so the vocal track can refer to the vocal singing track collected by the user terminal or the vocal track separated from the song.
[0141] After extracting multiple frame pitches from the vocal track in units of frames, each frame pitch is packaged in units of beats to generate the beat pitch set containing multiple frame pitches.
[0142] Step S122', if the number of invalid frame pitches in the beat pitch set exceeds half of the total number of frame pitches, the preset first pitch is used as the pitch value of the beat pitch corresponding to the beat pitch set:
[0143] After generating the beat pitch set, it is determined that each frame pitch in the beat pitch set does not exceed the preset first pitch. The pitch value of the preset first pitch is generally set to -1.
[0144] When the number of invalid frame pitches in the beat pitch set exceeds half of the total number of frame pitches, the preset first pitch is used as the pitch value of the beat pitch corresponding to the beat pitch set.
[0145] Step S123': If the number of invalid frame pitches where the beat pitches are concentrated does not exceed a preset threshold, determine the median pitch corresponding to each frame pitch, and assign the median pitch to the frame pitch whose absolute difference with it exceeds a preset second pitch.
[0146] When the number of invalid frame pitches in the beat pitch set does not exceed half the total number of frame pitches, the frame pitches in each beat pitch set are sorted, and the median pitch corresponding to each frame pitch is determined. The absolute pitch difference between each frame pitch and the median pitch is calculated to determine the frame pitches whose absolute pitch difference does not exceed a preset second pitch. Then, the pitch values of these frame pitches are modified to the median pitch.
[0147] Step S124': Calculate the corresponding average pitch based on the pitch of each frame, and use this average pitch as the pitch value of the beat pitch set corresponding to the beat pitch.
[0148] After completing the comparison of the median pitch difference in the beat pitch set, the average pitch corresponding to each frame pitch in the beat pitch set will be calculated, and the average pitch will be used as the pitch value of the beat pitch corresponding to the beat pitch set.
[0149] In this embodiment, after extracting frame units from the human voice track in units of frames, each frame unit is classified in units of beats, and the pitch value corresponding to the beat is determined based on the frame pitch in each beat. In this process, invalid pitch detection and median pitch difference comparison are performed to smooth the pitch value of the beat.
[0150] In one embodiment, please refer to Figure 7 The step of obtaining multiple beat pitches extracted within the time period of the currently played lyrics segment in the target song as a set of singing pitches, and performing a beat pitch comparison between the standard pitch set corresponding to the singing segment and the set of singing pitches according to the normalized pitch comparison rules to determine the singing pitch score corresponding to the singing segment includes the following steps:
[0151] Step S131: Obtain the set of singing pitches and the set of standard pitches for the current lyrics segment, and calculate the average singing beat pitch and average standard beat pitch for each set of singing pitches and the set of standard pitches respectively.
[0152] After the current singing pitch set and the standard pitch set are obtained, the average pitch value of each singing beat pitch in the singing pitch set is calculated as the average singing beat pitch, and the average pitch value of each standard beat pitch in the standard pitch set is calculated as the average standard beat pitch.
[0153] In step S132, the difference between the current singing beat pitch and the average singing beat pitch in the singing pitch set is calculated as a first difference, and the standard beat pitch corresponding to the current singing beat pitch in the standard pitch set is determined, and the difference between the standard beat pitch and the average standard beat pitch is calculated as a second difference.
[0154] After the average singing beat pitch and the average standard beat pitch of the singing pitch set and the standard pitch set are calculated, the first difference of each singing beat pitch in the singing pitch set is calculated, and the second difference corresponding to each standard beat pitch in the standard pitch set is calculated, so as to calculate the absolute difference between the first difference and the second difference corresponding thereto.
[0155] In step S133, the absolute difference between the first difference and the second difference is calculated as the beat pitch difference of the current singing beat pitch.
[0156] As shown in the mathematical equation, where N represents the number of singing beat pitches in the singing pitch set, the number of standard beat pitches in the standard pitch set is generally the same as the number of singing beat pitches in the singing pitch set, and P represents the number of the singing beat pitches in the singing pitch set. i For the current singing beat pitch, P0 represents the beat pitch corresponding to the singing beat pitch, and through the mathematical equation, the absolute difference between the first difference and the second difference corresponding thereto is calculated as the beat pitch difference of the singing beat pitch corresponding to the first difference, and the total number of the beat pitch differences is calculated.
[0157]
[0158] In step S134, according to the beat pitch difference corresponding to each song beat pitch in the singing pitch set, the singing pitch score of the current lyrics passage is determined based on a preset scoring rule.
[0159] After the total number of the beat pitch differences is calculated, the average value of the beat pitch differences can be determined based on the total number, and the singing pitch score of the lyrics passage is determined based on the average value. For details, please refer to the related embodiments in step S13, which will not be described here.
[0160] In this embodiment, the pitch difference between each singing pitch and the standard pitch is determined by normalization to eliminate the influence of different base tones, for example, when male and female users sing songs originally sung by the opposite sex, the natural and physiological differences between male and female base tones are eliminated by normalization to improve the accuracy of pitch judgment and optimize the user experience in singing scoring online singing services.
[0161] Further, each step in the method disclosed in the above embodiments can be functionalized to construct a singing pitch scoring device according to the present application. According to this idea, please refer to Figure 8 In a typical embodiment, the device includes: a standard pitch acquisition module 11 for playing a target song corresponding to a user singing event in response to the user singing event, acquiring standard pitch information corresponding to the target song, the standard pitch information including a plurality of lyrics paragraph identifiers and their standard pitch sets, and the standard pitch set including a plurality of standard beat pitches; a singing pitch acquisition module 12 for acquiring a human voice singing track on the user end for time delay alignment and smoothly extracting the singing beat pitch of the human voice singing track; a pitch score determination module 13 for acquiring a plurality of beat singing pitches extracted in the time period of the currently played lyrics paragraph in the target song as a singing pitch collection, performing beat pitch comparison between the standard pitch set corresponding to the singing paragraph and the singing pitch collection according to the normalized pitch comparison rule, and determining the singing pitch score corresponding to the singing paragraph; and a final score determination module 14 for acquiring the singing pitch score corresponding to each song paragraph of the target song, and determining the final singing pitch score of the target song based on each singing pitch score.
[0162] In an embodiment, the singing pitch acquisition module 12 includes: an audio track time axis acquisition submodule for acquiring the audio track time axis of the human voice singing track in response to the human voice singing track collection event acting on the audio collection module; and a time axis length modification submodule for acquiring the time delay alignment duration and subtracting the time axis length corresponding to the time delay duration from the beginning of the audio track time axis.
[0163] In one embodiment, the singing pitch acquisition module 12 further comprises: a frame pitch extraction submodule for extracting a plurality of frame pitches in the human voice track to generate a beat pitch set comprising the plurality of frame pitches; an invalid frame pitch determination submodule for determining invalid frame pitches in the beat pitch set that do not exceed a preset first pitch, and if the number of invalid frame pitches in the beat pitch set exceeds half of the total number of frame pitches, taking the preset first pitch as the pitch value of the beat pitch corresponding to the beat pitch set; a median pitch verification submodule for, if the number of invalid frame pitches in the beat pitch set does not exceed a preset threshold, determining a median pitch corresponding to each frame pitch and assigning the median pitch to the frame pitch whose absolute difference exceeds a preset second pitch; and an average pitch determination submodule for calculating an average pitch corresponding to each frame pitch based on the frame pitch and taking the average pitch as the pitch value of the beat pitch corresponding to the beat pitch set.
[0164] In one embodiment, the pitch score determination module 13 comprises: an average beat pitch determination submodule for obtaining a singing pitch set and a standard pitch set of a current lyric paragraph and calculating an average singing beat pitch and an average standard beat pitch of the singing pitch set and the standard pitch set, respectively; a pitch difference calculation submodule for calculating a difference between a current singing beat pitch in the singing pitch set and the average singing beat pitch as a first difference, determining a standard beat pitch corresponding to the current singing beat pitch in the standard pitch set, and calculating a difference between the standard beat pitch and the average standard beat pitch as a second difference; a beat pitch difference determination submodule for calculating an absolute difference between the first difference and the second difference as a beat pitch difference of the current singing beat pitch; and a singing score determination submodule for determining a singing pitch score of the current lyric paragraph based on a preset scoring rule according to the beat pitch difference corresponding to each song beat pitch in the singing pitch set.
[0165] To solve the above technical problems, the embodiments of the present application further provide a computer device for running a computer program implemented according to the singing pitch score determination method. For details, please refer to Figure 9 , Figure 9 The basic structure block diagram of the computer device of the present embodiment is shown in FIG. 1.
[0166] As Figure 9As shown, the internal structure diagram of the computer device is shown. The computer device includes a processor, a non-volatile storage medium, a memory and a network interface connected by a system bus. Among them, the non-volatile storage medium of the computer device stores an operating system, a database and computer readable instructions, the database can store control information sequence, and the computer readable instructions are executed by the processor to enable the processor to realize a singing pitch scoring method. The processor of the computer device is used to provide computing and control capability to support the operation of the entire computer device. The memory of the computer device can store computer readable instructions, and the computer readable instructions are executed by the processor to enable the processor to execute a singing pitch scoring method. The network interface of the computer device is used to connect and communicate with the terminal. Those skilled in the art can understand, Figure 9 The structure shown in the above embodiment is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.
[0167] The processor in the embodiment is used to execute the specific functions of each module / submodule in the singing pitch scoring device of the present application, and the memory stores the program codes and various data required for executing the above modules. The network interface is used for data transmission between the user terminal or the server. The memory in the embodiment stores the program codes and data required for executing all modules / submodules in the singing pitch scoring device, and the server can call the program codes and data of the server to execute the functions of all submodules.
[0168] The present application also provides a non-volatile storage medium, wherein the singing pitch scoring method is written into a computer program and stored in the storage medium in the form of computer readable instructions. When the computer readable instructions are executed by one or more processors, it means that the program is running in the computer, thereby enabling the one or more processors to execute the steps of the singing pitch scoring method of any of the above embodiments.
[0169] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by a computer program instructing related hardware. The computer program can be stored in a computer readable storage medium. When the program is executed, it can include the processes of the above-mentioned embodiments of each method. Among them, the storage medium can be a non-volatile storage medium such as a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
[0170] In summary, the application can provide a singing pitch scoring function for users, and improve the singing experience of users on the platform.
[0171] It should be understood that, although each step in the flowchart of the accompanying drawings is shown in sequence according to the direction of the arrow, these steps are not necessarily executed in sequence according to the direction of the arrow. Unless explicitly stated herein, the execution of these steps is not strictly limited in sequence, and they can be executed in other sequences. Moreover, at least part of the steps in the flowchart of the accompanying drawings can include multiple sub-steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution sequence is not necessarily sequential, but can be executed in rotation or alternation with at least part of other steps or sub-steps or stages of other steps.
[0172] Those skilled in the art can understand that the steps, measures, and schemes in various operations, methods, and processes discussed in the present application can be alternated, changed, combined, or deleted. Further, other steps, measures, and schemes in various operations, methods, and processes discussed in the present application can also be alternated, changed, rearranged, decomposed, combined, or deleted. Further, steps, measures, and schemes in the prior art with various operations, methods, and processes disclosed in the present application can also be alternated, changed, rearranged, decomposed, combined, or deleted.
[0173] The above only describes some embodiments of the present application, and it should be pointed out that, for those skilled in the art, without departing from the principles of the present application, a number of improvements and refinements can be made, and these improvements and refinements should also be considered as the protection scope of the present application.
Claims
1. A method of singing pitch scoring, characterized by, The method comprises the following steps: In response to a user singing event, playing a target song corresponding to the user singing event, obtaining standard pitch information corresponding to the target song, the standard pitch information containing a plurality of lyric paragraph identifiers and their standard pitch sets, the standard pitch set containing a plurality of standard beat pitches; Obtaining the human voice singing track of the user terminal for time delay alignment, and smoothly extracting the singing beat pitch of the human voice singing track, comprising: in response to a human voice singing track collection event acting on the audio collection module, obtaining the track time axis of the human voice singing track; obtaining a time delay alignment duration, subtracting the time axis length corresponding to the time delay duration from the beginning of the track time axis; Obtaining a plurality of beat singing pitches extracted in the time period of the currently played lyric paragraph in the target song as a singing pitch collection, and performing beat pitch comparison between the standard pitch set corresponding to the singing paragraph and the singing pitch collection according to the normalized pitch comparison rule to determine the singing pitch score corresponding to the singing paragraph; Obtaining the singing pitch score corresponding to each song paragraph of the target song, and determining the final singing pitch score of the target song based on each singing pitch score.
2. The method of claim 1, wherein, Before the step of responding to a user singing event, playing a target song corresponding to the user singing event, obtaining standard pitch information corresponding to the target song, the standard pitch information containing a plurality of lyric paragraph identifiers and their standard pitch sets, the standard pitch set containing a plurality of standard beat pitches, the following steps are included: Obtaining the lyric paragraph information corresponding to the current song, and obtaining the human voice track in the current song, wherein the start time of a plurality of lyric paragraphs contained in the lyric information; Obtaining the start time of the current lyric paragraph and the next lyric paragraph in the lyric information, taking the start time of the next lyric paragraph as the end time of the current lyric paragraph, and taking the track between the start time and the end time of the current lyric paragraph in the human voice track as the lyric track of the current lyric paragraph; Obtaining the lyric track corresponding to the current lyric paragraph, checking whether there is a mute segment with a time exceeding a preset duration in the lyric track, if there is, taking the start time of the mute segment as the end time of the lyric track; Smoothly extracting a plurality of standard beat pitches contained in the lyric track, generating a standard pitch set composed of each standard beat pitch, and encapsulating the lyric paragraph identifier of the current lyric paragraph and the standard pitch set as a mapping relationship data.
3. The method of claim 1, wherein, Before the step of responding to a user singing event, playing a target song corresponding to the user singing event, obtaining standard pitch information corresponding to the target song, the standard pitch information containing a plurality of lyric paragraph identifiers and their standard pitch sets, the standard pitch set containing a plurality of standard beat pitches, the following steps are included: In response to an application program starting event, playing a high-frequency time delay alignment audio, and obtaining an audio playing time of playing the high-frequency time delay alignment audio; In response to a high-frequency time delay alignment audio collection event acting on the audio collection module, determining the audio collection time of the event; The time difference between the audio playing time and the audio collecting time is calculated as a time delay alignment duration for time delay alignment of the vocal singing track according to the time delay alignment duration.
4. The method of claim 1, wherein, In the step of smoothingly extracting the singing beat pitch of the vocal singing track, the following steps are included: extracting a plurality of frame pitches in the vocal track, and generating a beat pitch set containing the plurality of frame pitches; determining invalid frame pitches in the beat pitch set, wherein each of the invalid frame pitches does not exceed a preset first pitch; if the number of the invalid frame pitches in the beat pitch set exceeds half of the total number of frame pitches, the preset first pitch is taken as the pitch value of the beat pitch corresponding to the beat pitch set; if the number of the invalid frame pitches in the beat pitch set does not exceed a preset threshold, a median pitch corresponding to each of the frame pitches is determined, and the median pitch is assigned to a frame pitch whose absolute difference exceeds a preset second pitch; based on each of the frame pitches, an average pitch is calculated, and the average pitch is taken as the pitch value of the beat pitch corresponding to the beat pitch set.
5. The method of claim 1, wherein, In the step of obtaining a plurality of beat singing pitches extracted in the time period of the current played lyric paragraph in the target song as a singing pitch set, performing beat pitch comparison between the standard pitch set corresponding to the singing paragraph and the singing pitch set according to a normalized pitch comparison rule, and determining the singing pitch score of the singing paragraph, the following steps are included: obtaining the singing pitch set and the standard pitch set of the current lyric paragraph, and calculating the average singing beat pitch and the average standard beat pitch of the singing pitch set and the standard pitch set respectively; calculating the difference between the current singing beat pitch and the average singing beat pitch in the singing pitch set as a first difference, and determining the standard beat pitch corresponding to the current singing beat pitch in the standard pitch set, and calculating the difference between the standard beat pitch and the average standard beat pitch as a second difference; calculating the absolute difference between the first difference and the second difference as the beat pitch difference of the current singing beat pitch; based on the preset scoring rule, determining the singing pitch score of the current lyric paragraph according to the beat pitch difference corresponding to each of the song beat pitches in the singing pitch set.
6. A singing pitch scoring apparatus characterized by comprising: The method comprises the following steps: a standard pitch acquisition module is configured to respond to a user singing event, play a target song corresponding to the user singing event, and acquire standard pitch information corresponding to the target song, wherein the standard pitch information contains a plurality of lyric paragraph identifiers and a standard pitch set corresponding to each of the lyric paragraph identifiers, and the standard pitch set contains a plurality of standard beat pitches; a singing pitch acquisition module is configured to acquire a vocal singing track of a user terminal for time delay alignment, and smoothly extract a singing beat pitch of the vocal singing track, including the following steps: in response to a vocal singing track collecting event acting on an audio collecting module, an audio track time axis of the vocal singing track is acquired; a time delay alignment duration is acquired, and a length of a time axis corresponding to the time delay duration is subtracted from a head of the audio track time axis. The pitch score determination module is configured to obtain a plurality of extracted beat singing pitches in a time period of a currently played lyric paragraph in the target song as a singing pitch set, perform beat pitch comparison between a standard pitch set corresponding to the singing paragraph and the singing pitch set according to a normalized pitch comparison rule, and determine a singing pitch score corresponding to the singing paragraph. The final score determination module is configured to obtain all singing pitch scores corresponding to all song paragraphs of the target song, and determine a final singing pitch score of the target song based on the singing pitch scores.
7. The singing pitch scoring apparatus according to claim 6, wherein The pitch score determination module includes: The average beat pitch determination submodule is configured to obtain a singing pitch set and a standard pitch set of a current lyric paragraph, and calculate average singing beat pitches and average standard beat pitches of the singing pitch set and the standard pitch set, respectively. The pitch difference calculation submodule is configured to calculate a difference between a current singing beat pitch and the average singing beat pitch in the singing pitch set as a first difference, determine a standard beat pitch corresponding to the current singing beat pitch in the standard pitch set, and calculate a difference between the standard beat pitch and the average standard beat pitch as a second difference. The beat pitch difference determination submodule is configured to calculate an absolute difference between the first difference and the second difference as a beat pitch difference of the current singing beat pitch.
8. An electronic device comprising a central processing unit and a memory, characterized in that The singing score determination submodule is configured to determine a singing pitch score of a current lyric paragraph based on the beat pitch difference corresponding to each song beat pitch in the singing pitch set and a preset scoring rule.
9. A non-volatile storage medium, comprising: The central processing unit is configured to call and run a computer program stored in the memory to perform the steps of the method of any one of claims 1 to 5.
10. A computer program product comprising computer programs / instructions, characterized in that, The computer program is stored in the form of computer readable instructions and is implemented according to the method of any one of claims 1 to 5. When the computer program is called and run by a computer, the steps included in the method are performed. The computer program / instructions are executed by the processor to implement the steps of the method of any one of claims 1 to 5.
Citation Information
Patent Citations
Singing grading method and device and terminal
CN107507628A
Method and device of evaluating label quality of pitch information and storage medium
CN108549642A