WO2015093668A1 - Device and method for processing audio signal - Google Patents

Device and method for processing audio signal Download PDF

Info

Publication number
WO2015093668A1
WO2015093668A1 PCT/KR2013/011935 KR2013011935W WO2015093668A1 WO 2015093668 A1 WO2015093668 A1 WO 2015093668A1 KR 2013011935 W KR2013011935 W KR 2013011935W WO 2015093668 A1 WO2015093668 A1 WO 2015093668A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
tempo
audio signal
sub
spectrum
Prior art date
Application number
PCT/KR2013/011935
Other languages
French (fr)
Korean (ko)
Inventor
김태홍
Original Assignee
김태홍
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 김태홍 filed Critical 김태홍
Priority to PCT/KR2013/011935 priority Critical patent/WO2015093668A1/en
Publication of WO2015093668A1 publication Critical patent/WO2015093668A1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being power information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/076Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of timing, tempo; Beat detection

Definitions

  • the disclosed embodiments relate to an apparatus and a method for processing an audio signal, and more particularly, to an apparatus and a method for extracting a highlight portion of an audio signal.
  • Presenting highlight portions of various media files included in the electronic device to the user of the electronic device enables the user to easily select among the media files that the user wishes to enjoy.
  • existing techniques for extracting highlights from an audio signal represented in a media file divide the audio signal into intervals of any time unit (eg, 1 second) without being based on the unique characteristics of the audio signal. Entails. That is, this division applies a common time unit for any audio signals. Therefore, existing highlight extraction techniques have limitations in providing highlights that are naturally experienced by the user.
  • the disclosed embodiments are directed to an apparatus and method for estimating the tempo of an audio signal and extracting highlight portions of the audio signal based on the estimated tempo.
  • a tempo estimator configured to estimate a tempo of the audio signal from a sequence of samples representing an audio signal in a time domain;
  • An energy level calculator configured to derive a plurality of partially overlapping sub-sequences from the sequence and to calculate energy levels respectively corresponding to the plurality of sub-sequences;
  • a highlight extractor configured to extract one of the plurality of sub-sequences into a highlight portion of the audio signal based on the energy levels, each sub-sequence being a time duration set according to the estimated tempo.
  • the tempo estimator may also be configured to estimate the tempo in units of beat per minute (BPM), the duration being an integer multiple of the beat according to the estimated tempo. Can be.
  • BPM beat per minute
  • a start sample in each sub-sequence may be spaced apart from a start sample in a sub-sequence adjacent to each sub-sequence by a time difference set according to the estimated tempo, and the duration is the time difference. It may be an integer multiple of.
  • the energy level calculator is further adapted to each sub-sequence by obtaining the energy of the samples encapsulated by the sliding window while moving the sliding window by the time difference with respect to the samples in the sequence. It may be configured to calculate the corresponding energy level and the sliding window may have the same length as the duration.
  • the highlight extractor may also be configured to extract, as the highlight portion, a sub-sequence having the largest corresponding energy level among the sub-sequences.
  • the tempo estimator comprises: a time-to-frequency domain conversion unit configured to convert the sequence into a frequency domain spectrum; A copy generator configured to obtain a plurality of scaled copies of the frequency domain spectrum by scaling the frequency axis of the frequency domain spectrum according to each of a plurality of preset magnifications; A spectrum adder configured to obtain an overlap spectrum by adding the plurality of scaled copies including the frequency domain spectrum; And a tempo estimator configured to estimate the tempo by detecting one or a plurality of peak frequencies of the overlap spectrum.
  • the tempo estimator may also be configured to detect the one or a plurality of peak frequencies within a preset frequency region of the overlap spectrum.
  • the frequency domain spectrum may be a magnitude spectrum in the frequency domain of the audio signal.
  • the tempo estimator performs at least one of downsampling the sequence and performing an absolute value operation on the value of each of the samples in the sequence before the conversion to update the sequence. It may further comprise a preprocessor configured to.
  • the tempo estimator may further select candidate tempos according to the detected plurality of peak frequencies, divide the sequence into frames having a length set according to each candidate tempo, And may estimate one of the candidate tempos as the tempo based on the similarity between adjacent frames.
  • a method of estimating a tempo of an audio signal from a sequence of samples representing an audio signal in a time domain Deriving a plurality of partially overlapping sub-sequences from the sequence and calculating energy levels respectively corresponding to the plurality of sub-sequences; And extracting one of the plurality of sub-sequences as a highlight portion of the audio signal based on the energy levels, each sub-sequence having a duration set according to the estimated tempo, each energy A level is provided that represents an energy of samples of a sub-sequence corresponding to each energy level.
  • the estimating may include estimating the tempo in units of beat per minute (BPM), and the duration is an integer multiple of a beat according to the estimated tempo. It can be time.
  • BPM beat per minute
  • a start sample in each sub-sequence may be spaced apart from a start sample in a sub-sequence adjacent to each sub-sequence by a time difference set according to the estimated tempo, and the duration is the time difference. It may be an integer multiple of.
  • the calculating step corresponds to each sub-sequence by obtaining an energy of samples enclosed by the sliding window while moving the sliding window by the time difference with respect to the samples in the sequence.
  • Comprising the step of calculating the energy level, wherein the sliding window may have the same length as the duration.
  • the extracting may include extracting, as the highlight portion, a sub-sequence having the largest corresponding energy level among the sub-sequences.
  • the estimating comprises: converting the sequence into a frequency domain spectrum; Obtaining a plurality of scaled copies of the frequency domain spectrum by scaling the frequency axis of the frequency domain spectrum according to each of a plurality of preset magnifications; Obtaining an overlap spectrum by adding the plurality of scaled copies including the frequency domain spectrum; And estimating the tempo by detecting one or a plurality of peak frequencies in the overlap spectrum.
  • detecting the one or the plurality of peak frequencies may include detecting the one or the plurality of peak frequencies within a preset frequency region of the overlap spectrum.
  • the frequency domain spectrum may be a magnitude spectrum in the frequency domain of the audio signal.
  • updating the sequence by performing at least one of downsampling the sequence and taking an absolute value operation on the value of each of the samples in the sequence before the conversion.
  • estimating the tempo from the detected one or a plurality of peak frequencies comprises: selecting candidate tempos according to the detected plurality of peak frequencies; Dividing the sequence into frames of a length set according to each candidate tempo; And estimating one of the candidate tempos as the tempo based on the similarity between each frame and each frame and an adjacent frame.
  • a computer readable storage medium having stored thereon computer executable instructions configured to perform any one of the above methods when executed by a processor.
  • the highlight portion of the audio signal may be extracted based on an estimated value of the tempo of the audio signal.
  • the highlight portion extracted in accordance with certain embodiments may provide an improved experience for the listener.
  • FIG. 1 is a block diagram of an audio signal processing apparatus according to some embodiments.
  • FIG. 3 is a block diagram of a tempo estimator in accordance with certain embodiments.
  • FIG. 4 is a flowchart of an audio signal processing method according to some embodiments.
  • FIG. 1 is a block diagram of an audio signal processing apparatus according to some embodiments.
  • the exemplary audio signal processing apparatus 100 includes a tempo estimator 110, an energy level calculator 120, and a highlight extractor 130.
  • Tempo estimator 110 is configured to estimate the tempo of the audio signal.
  • the energy level calculator 120 is configured to calculate energy levels respectively corresponding to the plurality of time periods of the audio signal. The length of each time period may be set according to the tempo estimated by the tempo estimator 110.
  • the highlight extractor 130 is configured to identify the highlight portion of the audio signal. Based on the energy levels calculated by the energy level calculator 120, one of the time periods of the audio signal may be extracted as the highlight portion.
  • the tempo estimator 110, the energy level calculator 120, and the highlight extractor 130 of the audio signal processing apparatus 100 may be configured to perform the following operations.
  • the tempo estimator 110 may estimate the tempo of the audio signal from a sequence of samples representing a time-domain waveform of the audio signal.
  • the sample sequence may be stored locally in the audio signal processing apparatus 100 (eg, data representing a media signal comprising an audio signal) or from a media source remote from the audio signal processing apparatus 100 to the tempo estimator 110. Can be provided.
  • the tempo of a unit of sound refers to the rate perceived as the successive tones of that unit of sound progress.
  • One of the commonly used tempo units is BPM (Beat Per Minute).
  • BPM Beat Per Minute
  • the beat of the audio signal represents a time unit of one second.
  • a measure of a typical 4/4 beat pop song consists of four bars and each measure consists of four beats, each of which corresponds to 16 seconds if the tempo of that song is 60BPM. .
  • the tempo estimated by the tempo estimator 110 may be used by the audio signal processing apparatus 100 to extract a highlight portion of the audio signal. This is based on the fact that when an audio signal represents a piece of music, it is typically seen that a climax or characteristic melody appears in units of measure or measure of the piece of music. Exemplary tempo estimation techniques that may be applied to the tempo estimator 110 will be described below.
  • the energy level calculator 120 is configured to calculate energy levels respectively corresponding to the plurality of time periods of the audio signal. For example, energy level calculator 120 derives a plurality of partially overlapping sub-sequences from a sample sequence representing an audio signal and calculates an energy level representing the energy of the samples of each sub-sequence. can do.
  • Each sub-sequence has a time duration set according to the tempo estimated by the tempo estimator 110.
  • the start sample in each sub-sequence may be spaced a predetermined time difference from the start sample in the sub-sequence adjacent to that sub-sequence. This time difference may be set according to the tempo of the audio signal estimated by the tempo estimator 110. For example, the duration of each sub-sequence may be an integer multiple of that time difference.
  • the time-domain waveform of the audio signal is given by the dashed curve 210 as shown in FIG. 2 and the waveform is sampled at 5 Hz and represented by a sequence of 500 samples in total.
  • the tempo of the audio signal estimated by the tempo estimator 110 is 60 BPM, one bit of the audio signal includes 5 samples.
  • the duration of each sub-sequence may be set according to the tempo estimate. This setting may be performed by the audio signal processing apparatus 100 (eg, the energy level calculator 120) or may be performed according to a user's input of the audio signal processing apparatus 100.
  • the duration of each sub-sequence can be set to a time of four beats, as described above, which corresponds to a word of 4/4 beat music.
  • This duration is exemplary only, and another duration (e.g., with a time of 16 beats corresponding to one measure of 4/4 beat music) may be set.
  • another duration e.g., with a time of 16 beats corresponding to one measure of 4/4 beat music
  • starting samples of adjacent sub-sequences of the sub-sequences are spaced from each other by five consecutive samples (ie, one bit) from each other. That is, fifteen samples (ie three bits) overlap in any two adjacent sub-sequences.
  • the energy level calculator 120 starts a sliding window having a time equal to the duration of each sub-sequence for the 500 samples in the sequence by the time difference corresponding to five consecutive samples starting from the first sample.
  • the partially overlapped sub-sequences can be derived by selecting 20 samples encompassed by the sliding window as sub-sequences each time they move.
  • the energy level calculator 120 may calculate an energy level corresponding to each sub-sequence by obtaining the energy of the samples in the sliding window. According to some embodiments, the energy level calculator 120 first obtains energy values of five samples included in each bit, and then uses the energy values to calculate energy of 20 samples of the sliding window. The energy level corresponding to the sub-sequence can be calculated with less complexity.
  • the energy level calculator 120 is configured to preprocess the original audio signal using a predetermined filter, and calculate energy levels corresponding to a plurality of time periods of the preprocessed audio signal, respectively.
  • the filters used in this preprocessing are filters for applying the modeling of human auditory perception to the frequency domain representation of the audio signal (e.g. Mel-Frequency filter, modification of the simplified Mel-frequency filter with coefficients). Or filters according to auditory recognition modeling different from mel-frequency filters.
  • the energy level calculator 120 preprocesses the sample sequence representing the audio signal as above, then derives partially overlapping sub-sequences by moving the sliding window by the time difference with respect to the preprocessed sample sequence,
  • the energy level representing the energy of the samples of each sub-sequence can be calculated by obtaining the energy of the samples covered by.
  • the highlight extractor 130 is configured to extract the highlight portion of the audio signal based on the energy levels calculated by the energy level calculator 120.
  • the highlight extractor 130 may extract one of the plurality of sub-sequences derived from the energy level calculator 120 as the highlight portion.
  • the extracted highlight portion may be a sub-sequence having the largest energy level among the plurality of sub-sequences.
  • the duration of each sub-sequence may be an integer multiple of the bit time (eg, time corresponding to a measure or measure) according to the tempo of the audio signal estimated by the tempo estimator 110.
  • the highlight portion provided from the highlight extractor 130 may also have a duration of an integer multiple of the bit time.
  • estimating the tempo of the audio signal may increase the likelihood that the extracted highlight portion will be experienced as a natural excerpt for the listener.
  • a highlight portion of each of the two audio signals extracted in this manner is concatenated, a sudden transition from one of the two portions may not occur.
  • the tempo estimator 110 of the audio signal processing apparatus 100 may employ techniques to estimate the global tempo of the audio signal or a local tempo of a portion of the audio signal. have.
  • Some tempo estimation techniques utilize detecting an event from an audio signal represented in the time domain. These time domain analysis techniques involve preprocessing and tempo detection. In the preprocessing, major events with large auditory stimuli are detected from the audio signal (e.g., music signal) and the occurrence time of those events is obtained. In the tempo detection process, an actual tempo of the audio signal is estimated based on the acquired time. For example, an event of an audio signal representing a sound played on a musical instrument or a human utterance may include a unique Attack Decay Sustain Release envelope of the time domain waveform of the audio signal. Filtering, envelope detection, and onset detection may in turn be used for detection of events.
  • these events can be attributed to percussion, where the sound components from the percussion usually occur over the entire frequency band, with a spectrogram for analysis of each sub-band. And / or filter banks may be utilized.
  • Estimation of the actual tempo determines the minimum time unit or period of the repetition pattern in the audio signal by performing clustering of time differences of each adjacent pair of events among the detected events (eg, inter-onset interval clustering). May include an action.
  • Some other tempo estimation techniques utilize detecting a peak frequency from an audio signal represented in the frequency domain to a spectrum of the audio signal.
  • a fast fourier transform FFT
  • the peak frequency of the signal transformed into the frequency domain indicates the frequency of occurrence of an event.
  • a typical audio signal e.g., an audio signal representing music
  • the tempo will be estimated will generate peak frequencies in the low frequency band (e.g., 1-3.3 Hz or 60-200 BPM).
  • These frequency domain analysis techniques also involve preprocessing to extract the envelope from a large number of samples and to lower the sample rate appropriately for accurate detection of peak frequency.
  • the number of FFT points is determined according to the sample rate and the desired BPM precision, and an estimated value of the BPM can be obtained from the FFT bin and the BPM precision at which the peak frequency occurs. Meanwhile, techniques using a combination of frequency domain analysis and time domain analysis of an audio signal may also be applied.
  • Still some tempo estimation techniques involve scaling the frequency axis of the spectral of the audio signal at specific magnifications and adding superimposed spectral copies scaled at different magnifications than the original spectrum.
  • the above specific magnifications are frequencies of events that may occur in accordance with the time signature of the audio signal.
  • the set of magnifications applied to the frequency axis scaling of the spectrum of an audio signal representing 4/4 beats of music is ⁇ 1/4, 2/4, 3/4, 4/4, 8/4, 12 /. 4, 16/4 ⁇ .
  • magnifications of ⁇ 1/3, 2/3, 3/3, 6/3, 9/3, 12/3 ⁇ are applied to an audio signal of 3/4 beat of music. These magnifications match the frequency with which major events occur in most musical works.
  • Typical music has relatively large peaks in the low frequency range when expressed in the frequency domain. However, simply estimating the frequency corresponding to the largest magnitude peak among such observed peaks as the tempo of the music may be of low accuracy.
  • the peak frequencies refer to the frequency of occurrence of the event due to the low frequency instruments of the music (eg bass, bass drum, bassoon, tuba, etc. for the rhythm section).
  • the tempo estimates based on ratios of possible event occurrence frequencies to tempo. For this purpose, it may be useful to sequence events of a given audio signal in units of 1/4 bits or more.
  • bass instruments that produce the rhythm of music have a longer period of oscillation than treble instruments, and events caused by bass instruments take longer to sustain or release; The next bass instrument event is more likely to occur before the release interval of the subsequenced sequenced bass instrument event.
  • 4/4 beats of music do not occur more than 4 times per beat.
  • the frequency of event occurrences possible in one measure or one measure can be regarded as once, twice, three times, four times, eight times, twelve times and sixteen times per four bits, which are included in the above-mentioned set of magnifications. do.
  • the spectrum of the above 4/4 beat music (eg, the spectrum representing the magnitude in the frequency domain of the music) is scaled along the frequency axis and is most likely from the overlapping spectrum representing the addition of the scaled spectral copies.
  • a predetermined number of peak frequencies may be extracted in order of magnitude.
  • One extracted peak frequency or one of the extracted peak frequencies may be estimated as the tempo of the music. This is based on the observation that the superimposition spectrum produces distinct peaks (although not necessarily the largest) at frequencies corresponding to the actual tempo.
  • an example tempo estimator 110 is described in which techniques for estimating tempo using an overlapping spectrum that adds spectral copies scaled to a frequency axis at specific magnifications can be implemented.
  • FIG. 3 is a block diagram of a tempo estimator in accordance with certain embodiments.
  • the tempo estimator 110 scales the frequency axis of the spectrum to specific magnifications by a time-frequency domain converter 310 that performs an operation of converting a time-domain waveform of an audio signal into a frequency-domain spectrum.
  • Copy generation unit 320 to perform the operation, including the original spectrum, the spectrum adder 320 performing the operation of adding the scaled spectral copies, one or more peak frequencies in the overlapping spectrum (for example, 1 ⁇ 3.3Hz to And a tempo estimator 325 for estimating a tempo of the audio signal by detecting one or more peak frequencies within a region of interest of 60 to 200 BPM.
  • the time-frequency domain converter 310 may be configured to convert a sequence that is a time domain representation of the audio signal into a frequency domain spectrum signal.
  • the conversion to the frequency domain can be performed using an FFT. If the region of interest is a very low frequency region, such as the 1 to 1.3 Hz band, the FFT can be applied by converting as many samples as possible into the frequency domain at once, so that a clear peak appears in this region.
  • the number of FFT points may be determined according to the following equation.
  • the sampling frequency is 1000 Hz and the tempo resolution is 0.1 (i.e., indicating that the tempo is extracted to one decimal place)
  • an FFT calculation of 600000 points or more should be performed.
  • the copy generator 315 may be configured to obtain a plurality of scaled copies of the frequency domain spectrum by scaling the frequency axis of the frequency domain spectrum according to each of a plurality of preset magnifications. This frequency axis scaling can be maintained without changing the magnitude of the original spectrum. If the audio signal represents 1/2, 4/4 or 4/8 timed music, the set of ratios used for scaling is ⁇ 1/4, 2/4, 3/4, 4/4, 8/4, 12 / 4, 16/4 ⁇ . If the audio signal represents 3/4 or 6/8 timed music, the set of ratios used for scaling is ⁇ 1/3, 2/3, 3/3, 6/3, 9/3, 12/3 ⁇ Can be.
  • the copy generator 315 If the region of interest is a region of 1 to 3.3 Hz, the copy generator 315 generates spectral copies by scaling only a portion of the low frequency band of the original spectrum (for example, a frequency region between 1/4 * 1 to 4 * 3.3 Hz). can do.
  • the time-frequency domain converter 310 may provide only the low frequency band portion of the original spectrum to the copy generator 315. As such, obtaining copies for a portion of the original spectrum may facilitate high speed computation and memory optimization.
  • the spectral adder 320 is configured to obtain an overlapping spectrum by adding originals and copies of the spectrum.
  • the tempo estimator 325 is configured to estimate the tempo of the audio signal by detecting one or a plurality of peak frequencies from the obtained overlap spectrum.
  • the tempo estimator 325 may detect one or more peak frequencies within a preset frequency range (eg, 1 to 3.3 Hz, which is a region of interest).
  • the estimated tempo may be provided from the tempo estimator 330. For example, when the FFT bin having the largest peak in the overlap spectrum is called FFTBin, the tempo estimator 330 may estimate the tempo BPM of the audio signal as shown below.
  • the tempo estimator 325 may select candidate tempos by detecting a plurality of peak frequencies in descending order of magnitude in the overlap spectrum. Criteria for selecting the final estimated tempo among the candidate tempos may be set in various ways. In certain embodiments, the tempo estimator 325 divides the sequence of the audio signal into frames of a length (e.g., eight times the bit time derived from each candidate tempo) set according to each candidate tempo selected and each One of the candidate tempos can be estimated as the tempo of the audio signal based on cross-correlation between the frame and adjacent frames of the frame.
  • a length e.g., eight times the bit time derived from each candidate tempo
  • This estimation method assumes that when the candidate tempo is a real tempo or a multiple of the actual tempo, adjacent frames exhibit similarly shaped waveforms, and cross-correlation between the frames is likely to have a symmetrical shape with a peak at the center. Based.
  • the tempo estimator 325 has a peak having a maximum magnitude in a waveform of cross-correlation between each frame and an adjacent frame of the frame in the entire audio signal sequence for each candidate tempo within a preset range from the center. It can be determined that such two frames are similar or dissimilar, depending on whether they occur at.
  • the tempo estimator 325 may estimate the candidate tempo of the highest score among candidate tempos as the tempo of the audio signal by scoring the number of pairs of adjacent frames determined to be similar. For example, for a candidate tempo, if a sequence of audio signals is divided into 90 frames each having 8 bits in length and these frames are divided into 9 different patterns (i.e., a total of 8 pattern changes between adjacent frames are If any), the score for that candidate tempo is 81/89 * 100 ⁇ 91. As such, the tempo estimator 325 divides the sequence of the audio signal into frames having a length set according to each candidate tempo, and decomposes one of the candidate tempos based on the similarity of each pair of two adjacent frames in the sequence. It can be estimated by the tempo of.
  • the tempo estimator 110 may further include a preprocessor 305.
  • the preprocessor 305 is configured to perform some preprocessing operations prior to converting the sequence of samples representing the audio signal in the time domain into the frequency domain spectrum.
  • operations performed by the preprocessor 305 may include an operation of downsampling and updating an original sequence to an appropriate level based on a desired tempo resolution. This downsampling is based on the fact that there are major events in the low frequency range that allow the tempo to be perceived in music-like sounds.
  • the downsampled sequence can be converted to the frequency domain at a faster rate.
  • the preprocessor 305 may perform an operation of updating the sequence by performing an absolute value operation on the value of each sample in the sequence.
  • the method of converting the updated sequence into the frequency domain may provide a clearer peak in the frequency domain than the method of converting the original sequence into the frequency domain.
  • FIG. 4 is a flow chart of an audio signal processing method according to some embodiments.
  • the audio signal processing method 400 shown in FIG. 4 highlight extraction techniques based on the estimated tempo are implemented.
  • the audio signal processing method 400 may be performed by the audio signal processing apparatus 100 described above.
  • a sequence of samples representing an audio signal in the time domain is received (405).
  • steps 410 to 435 described below the tempo of the audio signal is estimated from the received sequence.
  • the sequence is downsampled.
  • an absolute value operation is performed on the value of each of the samples in the sequence.
  • the preprocessed sequence is converted into a frequency domain spectrum.
  • the converted spectrum may be a spectrum representing the magnitude in the frequency domain of the audio signal.
  • a plurality of copies of the frequency domain spectrum are generated.
  • the plurality of copy spectra may be obtained by scaling the frequency axis of the original spectrum according to each of the plurality of preset magnifications.
  • an overlapping spectrum is obtained by adding the plurality of scaled copy spectra including the original spectrum.
  • the tempo of the audio signal is estimated according to the peak frequency detected in the overlap spectrum.
  • a plurality of peak frequencies may be detected within the overlap spectrum.
  • the tempo of the audio signal may be estimated through the following time domain analysis. First, candidate tempos according to the plurality of detected peak frequencies are selected. The sequence is then divided into frames of length set according to each candidate tempo. One of the candidate tempos may be estimated as the tempo of the audio signal based on the similarity between each frame and its frame and adjacent frames (eg, similarity or dissimilarity determined according to cross-correlation between these two frames).
  • a plurality of sub-sequences each having a duration set according to the estimated tempo are derived from the sequence (440).
  • the duration may be an integer number of times (eg, 16) times of the bits, and each sub-sequence may be spaced one bit from the adjacent sub-sequence.
  • An energy level corresponding to each sub-sequence is then calculated 445.
  • This energy level calculation may be performed in such a way as to obtain the energy of the samples in the sliding window while moving the sliding window having the same length as the above duration with respect to the samples in the sequence.
  • the interval at which the sliding window moves may be equal to the time difference in which each sub-sequence is spaced apart from an adjacent sub-sequence.
  • one of the plurality of sub-sequences e.g., the sub-sequence with the largest energy level, is extracted 450 as the highlight portion of the audio signal.
  • the order in which at least some steps of the audio signal processing method 400 are performed may be changed. According to some embodiments, at least some steps of the audio signal processing method 400 may be performed in combination with each other, omitted, or divided into sub-steps. According to some embodiments, one or more steps not shown in FIG. 4 may be performed in addition to the audio signal processing method 400.
  • FIG. 5-7 show screenshots of an audio player in accordance with certain embodiments.
  • An exemplary audio player is performed by a computing device, or processor, including the audio signal processing apparatus 100 described above, providing a highlight portion extracted from the audio signal processing apparatus 100 and configured to visually represent the highlight portion.
  • the computer executable command configured to provide the highlight portion extracted according to the audio signal processing method 400 and visually represent the highlight portion in association with the computer executable instruction configured to perform the above-described audio signal processing method 400. May be implemented on a stored computing device.
  • a media file representing time domain samples of the audio signal may be input to the audio player.
  • the audio player can receive a list indicating a collection of media files or a location where the media files are stored and play each media file obtained therefrom.
  • a time domain waveform 510 of an audio signal is provided on a display (eg, a touch sensitive screen) of a computing device.
  • a play button 520, a highlight button 530, a next track button 540, a previous track button 550 and a repeat play button 560 are provided on the display.
  • User input to select the play button 520, highlight button 530, and repeat play button 560 e.g., a left mouse click or a tap with a finger or stylus
  • next track button 540 and the previous track button 550 may cause the audio player to play the next and previous audio signals, respectively. do.
  • Other user inputs on the next track button 540 and previous track button 550 eg, the user is pressing and holding on the next track button 540 or previous track button 550 provided on a touch-sensitive screen
  • the above modes can be activated / deactivated and the next / previous audio signal can be played.
  • the audio signal is played.
  • the cursor 570 for indicating the reproduction position is moved. After all of the audio signals are reproduced, the next audio signal can be reproduced. In the screen shot 500 of FIG. 5, the cursor 570 indicates that a portion of 2 minutes 2.88 seconds is being reproduced in an audio signal of 7 minutes 11.31 seconds long.
  • fast forward mode audio signals are played back faster than the playback mode.
  • the cursor 570 reaches the end of the audio signal, the next audio signal can be played.
  • the rewind mode is activated, the audio signal is played back in reverse.
  • the cursor 570 reaches the beginning of the audio signal, the previous audio signal can be played.
  • the repeat play mode is activated, playback of the audio signal is repeated continuously.
  • the cursor is moved to the starting point of the highlight portion resulting from the performance of the audio signal processing apparatus 100 or the audio signal processing method 400 ( 530 moves.
  • Indications representing such highlight portions may be recorded in tags of the media file representing the audio signal or stored in an external database.
  • the user of the audio player may replace the extracted highlight portion with another highlight portion through user input.
  • an indication indicating a new highlight portion may be stored in a tag of the media file or in an external database.
  • the highlight portion is played.
  • 6 shows a screenshot provided on the display when the highlight mode is activated.
  • cursor 570 indicates that the portion of the audio signal is being played back at 3 minutes 32.67 seconds.
  • the highlight portion 610 to be reproduced is displayed in a time domain waveform 510 of the audio signal in a highlighted manner unlike other portions.
  • an interface e.g., a pop-up menu or a slider
  • a user input for setting the length of the highlight portion 610 of the audio signal has a different user input (e.g., a right-click or a double tap by a finger or a stylus). May be provided on the display.
  • the user of the audio player can select or adjust the length of the highlight portion 610 on this interface. This selection or adjustment may be performed in units of measure or measure of the audio signal.
  • the measure or measure of the audio signal may be derived from an estimated value of the tempo of the audio signal.
  • the changed highlight portion 610 may be provided on the display and the changed highlight portion 610 may be played from the beginning.
  • the highlight portion of the next audio signal or the previous audio signal may also have the same length as the changed highlight portion 610.
  • FIG. 7 shows a screenshot provided on the display when a user input is received on a portion other than the highlight portion during reproduction of the highlight portion of the audio signal.
  • cursor 570 moves to that portion and the audio signal is played from that portion.
  • the time-domain waveform 510 of the audio signal is provided on the display where the highlight button 530 is still active but the emphasis of the highlight portion has disappeared.
  • the highlight mode is activated and playback of the next audio signal or the previous audio signal is instructed (for example, in response to a user input on the next track button 540 or the previous track button 550), The highlight section is played.
  • a computer-readable recording medium includes a program for performing the methods described herein (eg, the audio signal processing method 400) on a computer.
  • Such computer-readable recording media may include program instructions, local data files, local data structures, or the like, alone or in combination.
  • the computer readable recording medium may be those specially designed and configured for the present invention. Examples of such computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floppy disks, and ROM, RAM and flash memory. Hardware devices specifically configured to store and execute program instructions, and the like. Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.

Abstract

According to an exemplary embodiment, provided is an audio signal processing device, the device comprising: a tempo estimator configured to estimate the tempo of an audio signal from a sequence of samples which indicate the audio signal in a time domain; an energy level calculator configured to derive a plurality of partially overlapping sub-sequences from the sequence and to calculate energy levels corresponding to the plurality of sub-sequences, respectively; and a highlight extractor configured to extract, on the basis of the energy levels, one of the plurality of sub-sequences as the highlight portion of the audio signal, wherein each of the sub-sequences has a time duration defined according to the estimated tempo, and each of the energy levels indicates the energy of the samples of the sub-sequences corresponding to the energy levels, respectively.

Description

오디오 신호 처리 장치 및 방법Audio signal processing apparatus and method
개시되는 실시예들은 오디오 신호를 처리하기 위한 장치 및 방법에 관한 것으로, 더욱 상세하게는 오디오 신호의 하이라이트 부분을 추출하기 위한 장치 및 방법에 관한 것이다.The disclosed embodiments relate to an apparatus and a method for processing an audio signal, and more particularly, to an apparatus and a method for extracting a highlight portion of an audio signal.
최근 오디오 신호의 표현(예컨대, 샘플들의 시퀀스를 나타내는 데이터)을 포함하는 미디어 파일로부터 오디오 신호를 재생하는 전자 기기가 많이 사용되고 있다. 전자 기기에 구비되는 저장 매체의 용량이 증가하면서 많은 수의 미디어 파일들이 그러한 전자 기기에 저장될 수 있다.BACKGROUND Recently, many electronic devices for reproducing an audio signal from a media file including a representation of an audio signal (eg, data representing a sequence of samples) have been used. As the capacity of a storage medium included in an electronic device increases, a large number of media files may be stored in such an electronic device.
전자 기기에 포함된 여러 미디어 파일들의 하이라이트 부분을 전자 기기의 사용자에게 제시하는 것은 그 미디어 파일들 중에서 사용자가 즐기기를 바라는 미디어 파일을 사용자가 손쉽게 선택할 수 있게 한다.Presenting highlight portions of various media files included in the electronic device to the user of the electronic device enables the user to easily select among the media files that the user wishes to enjoy.
통상적으로, 미디어 파일에 표현된 오디오 신호로부터 하이라이트 부분을 추출하는 기존의 기법들은 오디오 신호의 고유한 특성에 기반하지 않은 채 임의의 시간 단위(예컨대, 1초)의 구간들로 오디오 신호를 구분하는 것을 수반한다. 즉, 이러한 구분은 임의의 오디오 신호들에 대해 공통적인 시간 단위를 적용한다. 따라서, 기존의 하이라이트 추출 기법들은 사용자에게 자연스럽게 경험되는 부분을 하이라이트로 제공하는 데 한계가 있다.Typically, existing techniques for extracting highlights from an audio signal represented in a media file divide the audio signal into intervals of any time unit (eg, 1 second) without being based on the unique characteristics of the audio signal. Entails. That is, this division applies a common time unit for any audio signals. Therefore, existing highlight extraction techniques have limitations in providing highlights that are naturally experienced by the user.
개시되는 실시예들은 오디오 신호의 템포를 추정하고 추정된 템포에 기반하여 오디오 신호의 하이라이트 부분을 추출하기 위한 장치 및 방법에 대한 것이다.The disclosed embodiments are directed to an apparatus and method for estimating the tempo of an audio signal and extracting highlight portions of the audio signal based on the estimated tempo.
예시적인 실시예에 따르면, 오디오 신호를 시간 영역(time domain)에서 나타내는 샘플들의 시퀀스(sequence)로부터 상기 오디오 신호의 템포를 추정하도록 구성된 템포 추정기; 상기 시퀀스로부터 복수의 부분적으로 중첩된 서브-시퀀스(partially overlapping sub-sequence)를 도출하고 상기 복수의 서브-시퀀스에 각각 대응하는 에너지 레벨들을 산출하도록 구성된 에너지 레벨 산출기; 및 상기 에너지 레벨들에 기반하여 상기 복수의 서브-시퀀스 중 하나를 상기 오디오 신호의 하이라이트 부분으로 추출하도록 구성된 하이라이트 추출기를 포함하고, 각 서브-시퀀스는 상기 추정된 템포에 따라 설정된 지속시간(time duration)을 가지고, 각 에너지 레벨은 상기 각 에너지 레벨에 대응하는 서브-시퀀스의 샘플들의 에너지를 나타내는, 오디오 신호 처리 장치가 제공된다.According to an exemplary embodiment, a tempo estimator configured to estimate a tempo of the audio signal from a sequence of samples representing an audio signal in a time domain; An energy level calculator configured to derive a plurality of partially overlapping sub-sequences from the sequence and to calculate energy levels respectively corresponding to the plurality of sub-sequences; And a highlight extractor configured to extract one of the plurality of sub-sequences into a highlight portion of the audio signal based on the energy levels, each sub-sequence being a time duration set according to the estimated tempo. Is provided, wherein each energy level represents the energy of the samples of the sub-sequence corresponding to each energy level.
상기 오디오 신호 처리 장치에서, 상기 템포 추정기는 또한 상기 템포를 BPM(Beat Per Minute) 단위로 추정하도록 구성될 수 있고, 상기 지속시간은 상기 추정된 템포에 따른 비트(beat)의 정수 배의 시간일 수 있다.In the audio signal processing apparatus, the tempo estimator may also be configured to estimate the tempo in units of beat per minute (BPM), the duration being an integer multiple of the beat according to the estimated tempo. Can be.
상기 오디오 신호 처리 장치에서, 상기 각 서브-시퀀스 내의 시작 샘플은 상기 각 서브-시퀀스와 인접한 서브-시퀀스 내의 시작 샘플로부터 상기 추정된 템포에 따라 설정된 시간차만큼 이격될 수 있고, 상기 지속시간은 상기 시간차의 정수 배일 수 있다.In the audio signal processing apparatus, a start sample in each sub-sequence may be spaced apart from a start sample in a sub-sequence adjacent to each sub-sequence by a time difference set according to the estimated tempo, and the duration is the time difference. It may be an integer multiple of.
상기 오디오 신호 처리 장치에서, 상기 에너지 레벨 산출기는 또한 상기 시퀀스 내의 샘플들에 대하여 슬라이딩 윈도우를 상기 시간차만큼 이동시키면서 상기 슬라이딩 윈도우에 의해 망라된(encompassed) 샘플들의 에너지를 구함으로써 상기 각 서브-시퀀스에 대응하는 상기 에너지 레벨을 산출하도록 구성될 수 있고 상기 슬라이딩 윈도우는 상기 지속시간과 동일한 길이를 가질 수 있다.In the audio signal processing apparatus, the energy level calculator is further adapted to each sub-sequence by obtaining the energy of the samples encapsulated by the sliding window while moving the sliding window by the time difference with respect to the samples in the sequence. It may be configured to calculate the corresponding energy level and the sliding window may have the same length as the duration.
상기 오디오 신호 처리 장치에서, 상기 하이라이트 추출기는 또한 상기 서브-시퀀스들 중 대응하는 에너지 레벨이 가장 큰 서브-시퀀스를 상기 하이라이트 부분으로 추출하도록 구성될 수 있다.In the audio signal processing apparatus, the highlight extractor may also be configured to extract, as the highlight portion, a sub-sequence having the largest corresponding energy level among the sub-sequences.
상기 오디오 신호 처리 장치에서, 상기 템포 추정기는, 상기 시퀀스를 주파수 영역 스펙트럼으로 변환하도록 구성된 시간-주파수 영역 변환부(time-to-frequency domain conversion unit); 상기 주파수 영역 스펙트럼의 주파수 축을 복수의 기 설정된 배율 각각에 따라 스케일링(scaling)함으로써 상기 주파수 영역 스펙트럼의 복수의 스케일링된 사본들을 획득하도록 구성된 사본 생성부; 상기 주파수 영역 스펙트럼을 포함하여 상기 복수의 스케일링된 사본들을 가산함으로써 중첩 스펙트럼(overlap spectrum)을 획득하도록 구성된 스펙트럼 가산부; 및 상기 중첩 스펙트럼의 하나 또는 복수의 피크 주파수를 검출함으로써 상기 템포를 추정하도록 구성된 템포 추정부를 포함할 수 있다.In the audio signal processing apparatus, the tempo estimator comprises: a time-to-frequency domain conversion unit configured to convert the sequence into a frequency domain spectrum; A copy generator configured to obtain a plurality of scaled copies of the frequency domain spectrum by scaling the frequency axis of the frequency domain spectrum according to each of a plurality of preset magnifications; A spectrum adder configured to obtain an overlap spectrum by adding the plurality of scaled copies including the frequency domain spectrum; And a tempo estimator configured to estimate the tempo by detecting one or a plurality of peak frequencies of the overlap spectrum.
상기 오디오 신호 처리 장치에서, 상기 템포 추정부는 또한 상기 중첩 스펙트럼의 기 설정된 주파수 영역 내에서 상기 하나 또는 복수의 피크 주파수를 검출하도록 구성될 수 있다.In the audio signal processing apparatus, the tempo estimator may also be configured to detect the one or a plurality of peak frequencies within a preset frequency region of the overlap spectrum.
상기 오디오 신호 처리 장치에서, 상기 주파수 영역 스펙트럼은 상기 오디오 신호의 주파수 영역에서의 크기 스펙트럼(magnitude spectrum)일 수 있다.In the audio signal processing apparatus, the frequency domain spectrum may be a magnitude spectrum in the frequency domain of the audio signal.
상기 오디오 신호 처리 장치에서, 상기 템포 추정기는 상기 시퀀스를 다운샘플링(downsampling)하는 것 및 상기 시퀀스 내 샘플들 각각의 값에 절대값 연산을 취하는 것 중 적어도 하나를 상기 변환 전에 수행하여 상기 시퀀스를 갱신하도록 구성된 전처리부를 더 포함할 수 있다.In the audio signal processing apparatus, the tempo estimator performs at least one of downsampling the sequence and performing an absolute value operation on the value of each of the samples in the sequence before the conversion to update the sequence. It may further comprise a preprocessor configured to.
상기 오디오 신호 처리 장치에서, 상기 템포 추정부는 또한, 상기 검출된 복수의 피크 주파수에 따른 후보 템포들을 선정하고 상기 시퀀스를 각 후보 템포에 따라 설정된 길이의 프레임들로 분할하며 각 프레임 및 상기 각 프레임과 인접한 프레임 간의 유사도에 기반하여 상기 후보 템포들 중 하나를 상기 템포로서 추정하도록 구성될 수 있다.In the audio signal processing apparatus, the tempo estimator may further select candidate tempos according to the detected plurality of peak frequencies, divide the sequence into frames having a length set according to each candidate tempo, And may estimate one of the candidate tempos as the tempo based on the similarity between adjacent frames.
다른 예시적인 실시예에 따르면, 오디오 신호를 시간 영역에서 나타내는 샘플들의 시퀀스로부터 상기 오디오 신호의 템포를 추정하는 단계; 상기 시퀀스로부터 복수의 부분적으로 중첩된 서브-시퀀스를 도출하고 상기 복수의 서브-시퀀스에 각각 대응하는 에너지 레벨들을 산출하는 단계; 및 상기 에너지 레벨들에 기반하여 상기 복수의 서브-시퀀스 중 하나를 상기 오디오 신호의 하이라이트 부분으로 추출하는 단계를 포함하고, 각 서브-시퀀스는 상기 추정된 템포에 따라 설정된 지속시간을 가지고, 각 에너지 레벨은 상기 각 에너지 레벨에 대응하는 서브-시퀀스의 샘플들의 에너지를 나타내는, 오디오 신호 처리 방법이 제공된다.According to another exemplary embodiment, there is provided a method of estimating a tempo of an audio signal from a sequence of samples representing an audio signal in a time domain; Deriving a plurality of partially overlapping sub-sequences from the sequence and calculating energy levels respectively corresponding to the plurality of sub-sequences; And extracting one of the plurality of sub-sequences as a highlight portion of the audio signal based on the energy levels, each sub-sequence having a duration set according to the estimated tempo, each energy A level is provided that represents an energy of samples of a sub-sequence corresponding to each energy level.
상기 오디오 신호 처리 방법에서, 상기 추정하는 단계는 상기 템포를 BPM(Beat Per Minute) 단위로 추정하는 단계를 포함할 수 있고, 상기 지속시간은 상기 추정된 템포에 따른 비트(beat)의 정수 배의 시간일 수 있다.In the audio signal processing method, the estimating may include estimating the tempo in units of beat per minute (BPM), and the duration is an integer multiple of a beat according to the estimated tempo. It can be time.
상기 오디오 신호 처리 방법에서, 상기 각 서브-시퀀스 내의 시작 샘플은 상기 각 서브-시퀀스와 인접한 서브-시퀀스 내의 시작 샘플로부터 상기 추정된 템포에 따라 설정된 시간차만큼 이격될 수 있고, 상기 지속시간은 상기 시간차의 정수 배일 수 있다.In the audio signal processing method, a start sample in each sub-sequence may be spaced apart from a start sample in a sub-sequence adjacent to each sub-sequence by a time difference set according to the estimated tempo, and the duration is the time difference. It may be an integer multiple of.
상기 오디오 신호 처리 방법에서, 상기 산출하는 단계는 상기 시퀀스 내의 샘플들에 대하여 슬라이딩 윈도우를 상기 시간차만큼 이동시키면서 상기 슬라이딩 윈도우에 의해 망라된(encompassed) 샘플들의 에너지를 구함으로써 상기 각 서브-시퀀스에 대응하는 상기 에너지 레벨을 산출하는 단계를 포함할 수 있고, 상기 슬라이딩 윈도우는 상기 지속시간과 동일한 길이를 가질 수 있다.In the audio signal processing method, the calculating step corresponds to each sub-sequence by obtaining an energy of samples enclosed by the sliding window while moving the sliding window by the time difference with respect to the samples in the sequence. Comprising the step of calculating the energy level, wherein the sliding window may have the same length as the duration.
상기 오디오 신호 처리 방법에서, 상기 추출하는 단계는 상기 서브-시퀀스들 중 대응하는 에너지 레벨이 가장 큰 서브-시퀀스를 상기 하이라이트 부분으로 추출하는 단계를 포함할 수 있다.In the audio signal processing method, the extracting may include extracting, as the highlight portion, a sub-sequence having the largest corresponding energy level among the sub-sequences.
상기 오디오 신호 처리 방법에서, 상기 추정하는 단계는, 상기 시퀀스를 주파수 영역 스펙트럼으로 변환하는 단계; 상기 주파수 영역 스펙트럼의 주파수 축을 복수의 기 설정된 배율 각각에 따라 스케일링함으로써 상기 주파수 영역 스펙트럼의 복수의 스케일링된 사본들을 획득하는 단계; 상기 주파수 영역 스펙트럼을 포함하여 상기 복수의 스케일링된 사본들을 가산함으로써 중첩 스펙트럼을 획득하는 단계; 및 상기 중첩 스펙트럼 내에서 하나 또는 복수의 피크 주파수를 검출함으로써 상기 템포를 추정하는 단계를 포함할 수 있다.In the audio signal processing method, the estimating comprises: converting the sequence into a frequency domain spectrum; Obtaining a plurality of scaled copies of the frequency domain spectrum by scaling the frequency axis of the frequency domain spectrum according to each of a plurality of preset magnifications; Obtaining an overlap spectrum by adding the plurality of scaled copies including the frequency domain spectrum; And estimating the tempo by detecting one or a plurality of peak frequencies in the overlap spectrum.
상기 오디오 신호 처리 방법에서, 상기 하나 또는 복수의 피크 주파수를 검출하는 것은 상기 중첩 스펙트럼의 기 설정된 주파수 영역 내에서 상기 하나 또는 복수의 피크 주파수를 검출하는 것을 포함할 수 있다.In the audio signal processing method, detecting the one or the plurality of peak frequencies may include detecting the one or the plurality of peak frequencies within a preset frequency region of the overlap spectrum.
상기 오디오 신호 처리 방법에서, 상기 주파수 영역 스펙트럼은 상기 오디오 신호의 주파수 영역에서의 크기 스펙트럼일 수 있다.In the audio signal processing method, the frequency domain spectrum may be a magnitude spectrum in the frequency domain of the audio signal.
상기 오디오 신호 처리 방법에서, 상기 시퀀스를 다운샘플링하는 것 및 상기 시퀀스 내 샘플들 각각의 값에 절대값 연산을 취하는 것 중 적어도 하나를 상기 변환 전에 수행하여 상기 시퀀스를 갱신하는 단계를 더 포함할 수 있다.And in the audio signal processing method, updating the sequence by performing at least one of downsampling the sequence and taking an absolute value operation on the value of each of the samples in the sequence before the conversion. have.
상기 오디오 신호 처리 방법에서, 상기 검출된 하나 또는 복수의 피크 주파수로부터 상기 템포를 추정하는 단계는, 상기 검출된 복수의 피크 주파수에 따른 후보 템포들을 선정하는 단계; 상기 시퀀스를 각 후보 템포에 따라 설정된 길이의 프레임들로 분할하는 단계; 및 각 프레임 및 상기 각 프레임과 인접한 프레임 간의 유사도에 기반하여 상기 후보 템포들 중 하나를 상기 템포로서 추정하는 단계를 포함할 수 있다.In the audio signal processing method, estimating the tempo from the detected one or a plurality of peak frequencies comprises: selecting candidate tempos according to the detected plurality of peak frequencies; Dividing the sequence into frames of a length set according to each candidate tempo; And estimating one of the candidate tempos as the tempo based on the similarity between each frame and each frame and an adjacent frame.
또 다른 예시적인 실시예에 따르면, 프로세서에 의해 실행되는 경우 위 방법들 중 어느 하나를 수행하도록 구성된 컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독가능 저장 매체가 제공된다.According to yet another exemplary embodiment, there is provided a computer readable storage medium having stored thereon computer executable instructions configured to perform any one of the above methods when executed by a processor.
소정의 실시예들에 따르면, 오디오 신호의 템포의 추정 값에 기반하여 오디오 신호의 하이라이트 부분이 추출될 수 있다.According to certain embodiments, the highlight portion of the audio signal may be extracted based on an estimated value of the tempo of the audio signal.
소정의 실시예들에 따라 추출되는 하이라이트 부분은 청취자에게 개선된 경험을 제공할 수 있다.The highlight portion extracted in accordance with certain embodiments may provide an improved experience for the listener.
도 1은 소정의 실시예들에 따른 오디오 신호 처리 장치의 블록도,1 is a block diagram of an audio signal processing apparatus according to some embodiments;
도 2는 오디오 신호의 샘플들의 시퀀스 및 시퀀스로부터 도출된 복수의 서브-시퀀스를 예시하는 도면,2 illustrates a sequence of samples of an audio signal and a plurality of sub-sequences derived from the sequence;
도 3은 소정의 실시예들에 따른 템포 추정기의 블록도,3 is a block diagram of a tempo estimator in accordance with certain embodiments;
도 4는 소정의 실시예들에 따른 오디오 신호 처리 방법의 순서도,4 is a flowchart of an audio signal processing method according to some embodiments;
도 5 내지 도 7은 소정의 실시예들에 따른 오디오 플레이어의 스크린 샷을 도시한 도면.5-7 illustrate screen shots of an audio player in accordance with certain embodiments.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to assist in a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is only an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting. Unless explicitly used otherwise, the singular forms “a,” “an,” and “the” include plural forms of meaning. In this description, expressions such as "comprises" or "equipment" are intended to indicate certain features, numbers, steps, actions, elements, portions or combinations thereof, and one or more than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, portions or combinations thereof.
이하에서 미디어 신호에 포함된 오디오 신호의 추정된 템포에 기반하여 그 오디오 신호의 특징 부분 내지 하이라이트 부분을 추출하는 향상된 기법들이 제시된다.Hereinafter, improved techniques for extracting feature portions or highlight portions of an audio signal based on the estimated tempo of the audio signal included in the media signal are presented.
도 1은 소정의 실시예들에 따른 오디오 신호 처리 장치의 블록도이다.1 is a block diagram of an audio signal processing apparatus according to some embodiments.
추정된 템포에 기반한 하이라이트 추출 기법들이 도 1의 오디오 신호 처리 장치(100)에서 구현될 수 있다. 예시적인 오디오 신호 처리 장치(100)는 템포 추정기(110), 에너지 레벨 산출기(120) 및 하이라이트 추출기(130)를 포함한다. 템포 추정기(110)는 오디오 신호의 템포(tempo)를 추정하도록 구성된다. 에너지 레벨 산출기(120)는 오디오 신호의 복수의 시구간에 각각 대응하는 에너지 레벨들을 산출하도록 구성된다. 각 시구간의 길이는 템포 추정기(110)에 의해 추정된 템포에 따라 설정될 수 있다. 하이라이트 추출기(130)는 오디오 신호의 하이라이트 부분을 식별하도록 구성된다. 에너지 레벨 산출기(120)에 의해 산출된 에너지 레벨들에 기반하여, 오디오 신호의 시구간들 중 하나가 하이라이트 부분으로서 추출될 수 있다.Highlight extraction techniques based on the estimated tempo may be implemented in the audio signal processing apparatus 100 of FIG. 1. The exemplary audio signal processing apparatus 100 includes a tempo estimator 110, an energy level calculator 120, and a highlight extractor 130. Tempo estimator 110 is configured to estimate the tempo of the audio signal. The energy level calculator 120 is configured to calculate energy levels respectively corresponding to the plurality of time periods of the audio signal. The length of each time period may be set according to the tempo estimated by the tempo estimator 110. The highlight extractor 130 is configured to identify the highlight portion of the audio signal. Based on the energy levels calculated by the energy level calculator 120, one of the time periods of the audio signal may be extracted as the highlight portion.
몇몇 실시예들에서 오디오 신호 처리 장치(100)의 템포 추정기(110), 에너지 레벨 산출기(120) 및 하이라이트 추출기(130)는 다음과 같은 동작들을 수행하도록 구성될 수 있다.In some embodiments, the tempo estimator 110, the energy level calculator 120, and the highlight extractor 130 of the audio signal processing apparatus 100 may be configured to perform the following operations.
템포 추정기(110)는 오디오 신호의 시간 영역 파형(time-domain waveform)을 표현하는 샘플들의 시퀀스(sequence)로부터 오디오 신호의 템포를 추정할 수 있다. 샘플 시퀀스는 오디오 신호 처리 장치(100)에 국부적으로 저장된 미디어 소스(예컨대, 오디오 신호를 포함하는 미디어 신호를 나타내는 데이터) 또는 오디오 신호 처리 장치(100)로부터 원격인 미디어 소스에서 템포 추정기(110)로 제공될 수 있다.The tempo estimator 110 may estimate the tempo of the audio signal from a sequence of samples representing a time-domain waveform of the audio signal. The sample sequence may be stored locally in the audio signal processing apparatus 100 (eg, data representing a media signal comprising an audio signal) or from a media source remote from the audio signal processing apparatus 100 to the tempo estimator 110. Can be provided.
어떤 단위의 소리의 템포는 그 소리 단위를 이루는 연속적인 음(successive tones)이 진행됨에 따라 인식되는 속도(rate)를 의미한다. 흔히 사용되는 템포 단위들 중 하나는 BPM(Beat Per Minute)이다. 예컨대, 템포 추정기(110)에 제공된 오디오 신호가 60BPM의 템포를 가진다면, 그 오디오 신호의 비트(beat)는 1초의 시간 단위를 나타낸다. 4/4 박자의 통상적인 대중 음악 곡의 한 소절(measure)은 4개의 마디(bar)로 구성되고 각 마디는 4개의 비트로 구성되는데, 그러한 곡의 템포가 60BPM이라면 각 소절은 16초에 대응한다.The tempo of a unit of sound refers to the rate perceived as the successive tones of that unit of sound progress. One of the commonly used tempo units is BPM (Beat Per Minute). For example, if the audio signal provided to the tempo estimator 110 has a tempo of 60 BPM, the beat of the audio signal represents a time unit of one second. A measure of a typical 4/4 beat pop song consists of four bars and each measure consists of four beats, each of which corresponds to 16 seconds if the tempo of that song is 60BPM. .
템포 추정기(110)에서 추정된 템포는 오디오 신호 처리 장치(100)에서 오디오 신호의 하이라이트 부분을 추출하는 데 사용될 수 있다. 이는 오디오 신호가 음악 작품을 나타내는 경우 통상적으로 그 음악 작품의 마디 또는 소절 단위로 클라이막스(climax) 내지 특징적인 멜로디가 나타난다고 볼 수 있다는 점에 근거한다. 템포 추정기(110)에 적용될 수 있는 예시적인 템포 추정 기법들은 후술될 것이다.The tempo estimated by the tempo estimator 110 may be used by the audio signal processing apparatus 100 to extract a highlight portion of the audio signal. This is based on the fact that when an audio signal represents a piece of music, it is typically seen that a climax or characteristic melody appears in units of measure or measure of the piece of music. Exemplary tempo estimation techniques that may be applied to the tempo estimator 110 will be described below.
에너지 레벨 산출기(120)는 오디오 신호의 복수의 시구간에 각각 대응하는 에너지 레벨들을 산출하도록 구성된다. 예컨대, 에너지 레벨 산출기(120)는 오디오 신호를 나타내는 샘플 시퀀스로부터 복수의 부분적으로 중첩된 서브-시퀀스(partially overlapping sub-sequence)를 도출하고 각 서브-시퀀스의 샘플들의 에너지를 나타내는 에너지 레벨을 산출할 수 있다.The energy level calculator 120 is configured to calculate energy levels respectively corresponding to the plurality of time periods of the audio signal. For example, energy level calculator 120 derives a plurality of partially overlapping sub-sequences from a sample sequence representing an audio signal and calculates an energy level representing the energy of the samples of each sub-sequence. can do.
각 서브-시퀀스는 템포 추정기(110)에 의해 추정된 템포에 따라 설정된 지속시간(time duration)을 가진다. 각 서브-시퀀스 내의 시작 샘플은 그 서브-시퀀스와 인접한 서브-시퀀스 내의 시작 샘플로부터 소정의 시간차만큼 이격될 수 있다. 이 시간차는 템포 추정기(110)에 의해 추정된 오디오 신호의 템포에 따라 설정될 수 있다. 예컨대, 각 서브-시퀀스의 지속시간은 그러한 시간차의 정수 배일 수 있다.Each sub-sequence has a time duration set according to the tempo estimated by the tempo estimator 110. The start sample in each sub-sequence may be spaced a predetermined time difference from the start sample in the sub-sequence adjacent to that sub-sequence. This time difference may be set according to the tempo of the audio signal estimated by the tempo estimator 110. For example, the duration of each sub-sequence may be an integer multiple of that time difference.
설명을 위해, 도 2에 도시된 바와 같이, 오디오 신호의 시간 영역 파형이 점선의 곡선(210)으로 주어지고 그 파형은 5Hz로 샘플링되어 총 500개의 샘플들의 시퀀스로 표현된다고 가정한다. 만일 템포 추정기(110)에 의해 추정된 오디오 신호의 템포가 60BPM인 경우, 오디오 신호의 한 비트는 5개의 샘플을 포함한다. 각 서브-시퀀스의 지속시간은 템포 추정 값에 따라 설정될 수 있다. 이러한 설정은 오디오 신호 처리 장치(100)(예컨대, 에너지 레벨 산출기(120))에 의해 수행될 수 있거나 오디오 신호 처리 장치(100)의 사용자의 입력에 따라 수행될 수 있다. 예컨대, 각 서브-시퀀스의 지속시간은 4개의 비트의 시간으로 설정될 수 있는데, 이 시간이 4/4박자 음악의 한 마디에 대응한다는 것은 전술한 바와 같다. 이 지속시간은 어디까지나 예시적이며, 다른 지속시간(예컨대, 4/4박자 음악의 한 소절에 대응하는 16개의 비트의 시간으로)이 설정될 수도 있다. 계속해서 도 2를 참조하면, 서브-시퀀스들 중 인접한 서브-시퀀스들의 시작 샘플들은 서로 5개의 연속적인 샘플(즉, 1개의 비트)만큼 서로 이격됨을 이해할 수 있다. 즉, 15개의 샘플들(즉, 3개의 비트들)이 임의의 두 인접한 서브-시퀀스들에서 중첩된다. 에너지 레벨 산출기(120)는 시퀀스 내 500개의 샘플들에 대하여 각 서브-시퀀스의 지속시간과 동일한 시간을 가지는 슬라이딩 윈도우(sliding window)를 첫번째 샘플부터 시작하여 5개의 연속적인 샘플에 대응하는 시간차만큼 이동시킬 때마다 슬라이딩 윈도우에 의해 망라된(encompassed) 20개의 샘플들을 서브-시퀀스로 선택하는 방식으로 부분적으로 중첩된 서브-시퀀스들을 도출할 수 있다. 에너지 레벨 산출기(120)는 슬라이딩 윈도우 내의 샘플들의 에너지를 구함으로써 각 서브-시퀀스에 대응하는 에너지 레벨을 산출할 수 있다. 소정의 실시예에 따르면, 에너지 레벨 산출기(120)는 각 비트에 포함된 5개의 샘플들의 에너지 값을 우선 구한 후 이 에너지 값들을 이용하여 슬라이딩 윈도우의 20개의 샘플들의 에너지를 산출하는 방식으로 각 서브-시퀀스에 대응하는 에너지 레벨을 더욱 적은 복잡도로 계산할 수 있다.For the sake of explanation, assume that the time-domain waveform of the audio signal is given by the dashed curve 210 as shown in FIG. 2 and the waveform is sampled at 5 Hz and represented by a sequence of 500 samples in total. If the tempo of the audio signal estimated by the tempo estimator 110 is 60 BPM, one bit of the audio signal includes 5 samples. The duration of each sub-sequence may be set according to the tempo estimate. This setting may be performed by the audio signal processing apparatus 100 (eg, the energy level calculator 120) or may be performed according to a user's input of the audio signal processing apparatus 100. For example, the duration of each sub-sequence can be set to a time of four beats, as described above, which corresponds to a word of 4/4 beat music. This duration is exemplary only, and another duration (e.g., with a time of 16 beats corresponding to one measure of 4/4 beat music) may be set. With continued reference to FIG. 2, it can be understood that starting samples of adjacent sub-sequences of the sub-sequences are spaced from each other by five consecutive samples (ie, one bit) from each other. That is, fifteen samples (ie three bits) overlap in any two adjacent sub-sequences. The energy level calculator 120 starts a sliding window having a time equal to the duration of each sub-sequence for the 500 samples in the sequence by the time difference corresponding to five consecutive samples starting from the first sample. The partially overlapped sub-sequences can be derived by selecting 20 samples encompassed by the sliding window as sub-sequences each time they move. The energy level calculator 120 may calculate an energy level corresponding to each sub-sequence by obtaining the energy of the samples in the sliding window. According to some embodiments, the energy level calculator 120 first obtains energy values of five samples included in each bit, and then uses the energy values to calculate energy of 20 samples of the sliding window. The energy level corresponding to the sub-sequence can be calculated with less complexity.
소정의 실시예에 따르면, 에너지 레벨 산출기(120)는 소정의 필터를 사용하여 원래의 오디오 신호를 전처리하고, 전처리된 오디오 신호의 복수의 시구간에 각각 대응하는 에너지 레벨들을 산출하도록 구성된다. 이러한 전처리에 사용되는 필터는 오디오 신호의 주파수 영역 표현에 대하여 인간의 청각적 인식의 모델링을 적용하기 위한 필터(예컨대, 멜-주파수(Mel-Frequency) 필터, 계수가 간소화된 멜-주파수 필터의 변형, 또는 멜-주파수 필터와 상이한 청각적 인식 모델링에 따른 필터)를 포함할 수 있다. 예컨대, 에너지 레벨 산출기(120)는 오디오 신호를 나타내는 샘플 시퀀스를 위와 같이 전처리한 후, 전처리된 샘플 시퀀스에 대하여 슬라이딩 윈도우를 상기 시간차만큼 이동시키면서 부분적으로 중첩된 서브-시퀀스들을 도출하고, 슬라이딩 윈도우에 의해 망라된 샘플들의 에너지를 구함으로써 각 서브-시퀀스의 샘플들의 에너지를 나타내는 에너지 레벨을 산출할 수 있다.According to certain embodiments, the energy level calculator 120 is configured to preprocess the original audio signal using a predetermined filter, and calculate energy levels corresponding to a plurality of time periods of the preprocessed audio signal, respectively. The filters used in this preprocessing are filters for applying the modeling of human auditory perception to the frequency domain representation of the audio signal (e.g. Mel-Frequency filter, modification of the simplified Mel-frequency filter with coefficients). Or filters according to auditory recognition modeling different from mel-frequency filters. For example, the energy level calculator 120 preprocesses the sample sequence representing the audio signal as above, then derives partially overlapping sub-sequences by moving the sliding window by the time difference with respect to the preprocessed sample sequence, The energy level representing the energy of the samples of each sub-sequence can be calculated by obtaining the energy of the samples covered by.
하이라이트 추출기(130)는 에너지 레벨 산출기(120)에 의해 산출된 에너지 레벨들에 기반하여 오디오 신호의 하이라이트 부분을 추출하도록 구성된다. 예컨대, 하이라이트 추출기(130)는 에너지 레벨 산출기(120)에서 도출된 복수의 서브-시퀀스 중 하나를 하이라이트 부분으로 추출할 수 있다. 추출되는 하이라이트 부분은 복수의 서브-시퀀스 중 가장 큰 에너지 레벨을 가지는 서브-시퀀스일 수 있다.The highlight extractor 130 is configured to extract the highlight portion of the audio signal based on the energy levels calculated by the energy level calculator 120. For example, the highlight extractor 130 may extract one of the plurality of sub-sequences derived from the energy level calculator 120 as the highlight portion. The extracted highlight portion may be a sub-sequence having the largest energy level among the plurality of sub-sequences.
전술한 바와 같이, 각 서브-시퀀스의 지속시간은 템포 추정기(110)에 의해 추정된 오디오 신호의 템포에 따른 비트 시간의 정수 배(예컨대, 마디 또는 소절에 대응하는 시간)일 수 있다. 따라서, 하이라이트 추출기(130)로부터 제공되는 하이라이트 부분 역시 비트 시간의 정수 배의 지속시간을 가질 수 있다. 이와 같이, 오디오 신호의 템포의 추정은 추출된 하이라이트 부분이 청취자에게 자연스러운 발췌로 경험될 가능성을 증가시킬 수 있다. 또한, 이 방식으로 추출된 두 오디오 신호 각각의 하이라이트 부분이 연접되더라도 두 부분 중 하나에서 다른 하나로의 갑작스러운 전이가 일어나지 않을 수 있다.As described above, the duration of each sub-sequence may be an integer multiple of the bit time (eg, time corresponding to a measure or measure) according to the tempo of the audio signal estimated by the tempo estimator 110. Thus, the highlight portion provided from the highlight extractor 130 may also have a duration of an integer multiple of the bit time. As such, estimating the tempo of the audio signal may increase the likelihood that the extracted highlight portion will be experienced as a natural excerpt for the listener. In addition, even if a highlight portion of each of the two audio signals extracted in this manner is concatenated, a sudden transition from one of the two portions may not occur.
개선된 하이라이트 재생을 위해 오디오 신호 처리 장치(100)의 템포 추정기(110)는 그 오디오 신호의 전역(global) 템포 또는 그 오디오 신호의 일부에 대한 국부(local) 템포를 추정하는 기법들을 채용할 수 있다.For improved highlight reproduction, the tempo estimator 110 of the audio signal processing apparatus 100 may employ techniques to estimate the global tempo of the audio signal or a local tempo of a portion of the audio signal. have.
몇몇 템포 추정 기법들은 시간 영역(time domain)에서 표현된 오디오 신호로부터 이벤트를 검출하는 것을 이용한다. 이러한 시간 영역 분석 기법들은 전처리 과정 및 템포 검출 과정을 수반한다. 전처리 과정에서는, 오디오 신호(예컨대, 음악 신호)로부터 청각적 자극이 큰 주요 이벤트들이 검출되고, 그 이벤트들의 발생 시간이 획득된다. 템포 검출 과정에서는 획득된 발생 시간에 기반하여 오디오 신호의 실제 템포가 추정된다. 예컨대, 악기에서 연주되거나 사람이 발성하는 소리를 나타내는 오디오 신호의 이벤트는 그 오디오 신호의 시간 영역 파형이 갖는 고유한 ADSR 엔벨로프(Attack Decay Sustain Release envelop)를 포함할 수 있다. 이벤트들의 검출을 위해 필터링, 엔벨로프 검출, 온셋 검출(onset detection)이 차례로 사용될 수 있다. 대중 음악에서 이러한 이벤트들은 타악기에 기인할 수 있는데, 타악기로부터의 소리 성분은 대체로 전체 주파수 대역(frequency band)에 걸쳐 발생하는바, 각 서브 대역(sub-band)에 대한 분석을 위해 스펙트로그램(spectrogram) 및/또는 필터뱅크(filter bank)가 활용될 수도 있다. 실제 템포의 추정은 검출된 이벤트들 중 각각의 인접 이벤트 쌍의 시간 차이의 군집화(예컨대, IOI 클러스터링(Inter-Onset Interval clustering))를 수행함으로써 오디오 신호 내의 반복 패턴의 최소 시간 단위 내지 주기를 판정하는 동작을 포함할 수 있다.Some tempo estimation techniques utilize detecting an event from an audio signal represented in the time domain. These time domain analysis techniques involve preprocessing and tempo detection. In the preprocessing, major events with large auditory stimuli are detected from the audio signal (e.g., music signal) and the occurrence time of those events is obtained. In the tempo detection process, an actual tempo of the audio signal is estimated based on the acquired time. For example, an event of an audio signal representing a sound played on a musical instrument or a human utterance may include a unique Attack Decay Sustain Release envelope of the time domain waveform of the audio signal. Filtering, envelope detection, and onset detection may in turn be used for detection of events. In popular music, these events can be attributed to percussion, where the sound components from the percussion usually occur over the entire frequency band, with a spectrogram for analysis of each sub-band. And / or filter banks may be utilized. Estimation of the actual tempo determines the minimum time unit or period of the repetition pattern in the audio signal by performing clustering of time differences of each adjacent pair of events among the detected events (eg, inter-onset interval clustering). May include an action.
다른 몇몇 템포 추정 기법들은 주파수 영역(frequency domain)에서 표현된 오디오 신호 내지 그 오디오 신호의 스펙트럼(spectrum)으로부터 피크 주파수를 검출하는 것을 이용한다. 오디오 신호를 시간 영역에서 주파수 영역으로 변환하기 위해, 예컨대 FFT(Fast Fourier Transform)가 적용될 수 있다. 주파수 영역으로 변환된 신호의 피크 주파수는 어떤 이벤트의 발생 빈도를 나타낸다. 특히, 템포가 추정될 통상의 오디오 신호(예컨대, 음악을 나타내는 오디오 신호)는 저주파 대역(예컨대, 1~3.3Hz 또는 60~200BPM)에서 피크 주파수들이 발생할 것이다. 이러한 주파수 영역 분석 기법들은 피크 주파수의 정확한 검출을 위해 많은 수의 샘플들로부터 엔벨로프를 추출하고 샘플 레이트(sample rate)를 적절히 낮추는 전처리 과정을 수반하기도 한다. 샘플 레이트 및 원하는 BPM 정밀도에 따라 FFT 포인트의 수가 결정되고, 피크 주파수가 발생하는 FFT 빈(bin)과 BPM 정밀도로부터 BPM의 추정 값이 획득될 수 있다. 한편, 오디오 신호의 주파수 영역 분석 및 시간 영역 분석의 조합을 이용한 기법들도 적용될 수 있다.Some other tempo estimation techniques utilize detecting a peak frequency from an audio signal represented in the frequency domain to a spectrum of the audio signal. In order to convert the audio signal from the time domain to the frequency domain, for example, a fast fourier transform (FFT) may be applied. The peak frequency of the signal transformed into the frequency domain indicates the frequency of occurrence of an event. In particular, a typical audio signal (e.g., an audio signal representing music) in which the tempo will be estimated will generate peak frequencies in the low frequency band (e.g., 1-3.3 Hz or 60-200 BPM). These frequency domain analysis techniques also involve preprocessing to extract the envelope from a large number of samples and to lower the sample rate appropriately for accurate detection of peak frequency. The number of FFT points is determined according to the sample rate and the desired BPM precision, and an estimated value of the BPM can be obtained from the FFT bin and the BPM precision at which the peak frequency occurs. Meanwhile, techniques using a combination of frequency domain analysis and time domain analysis of an audio signal may also be applied.
또 따른 몇몇 템포 추정 기법들은 오디오 신호의 스펙트럼의 주파수 축을 특정 배율들로 스케일링(scaling)하는 것 및 원래의 스펙트럼과 다른 배율들로 스케일링된 스펙트럼 사본들을 중첩적으로 가산하는 것을 수반한다. 위 특정 배율들은 오디오 신호의 박자(time signature)에 맞추어 발생할 수 있는 이벤트의 발생 빈도들이다. 예를 들어, 4/4박자의 음악을 나타내는 오디오 신호의 스펙트럼의 주파수 축 스케일링에 적용되는 배율들의 집합은 {1/4, 2/4, 3/4, 4/4, 8/4, 12/4, 16/4}이다. 다른 예로서, 3/4박자의 음악의 오디오 신호에 대해서는 {1/3, 2/3, 3/3, 6/3, 9/3, 12/3}의 배율들이 적용된다. 이러한 배율들은 대부분의 음악 작품들에서 주요 이벤트들이 발생하는 빈도와 잘 맞는다. 물론, 앞서 언급된 배율들의 집합들 외에 다른 다양한 배율 집합들도 이용 가능하다. 특히, 이러한 템포 추정 기법들에 따르면, 오디오 신호를 처리하는 과정들이 간소화되고(streamlined), 오디오 신호가 엇박자 패턴을 많이 포함하더라도 오디오 신호의 템포가 상당한 정확도로 추정될 수 있다.Still some tempo estimation techniques involve scaling the frequency axis of the spectral of the audio signal at specific magnifications and adding superimposed spectral copies scaled at different magnifications than the original spectrum. The above specific magnifications are frequencies of events that may occur in accordance with the time signature of the audio signal. For example, the set of magnifications applied to the frequency axis scaling of the spectrum of an audio signal representing 4/4 beats of music is {1/4, 2/4, 3/4, 4/4, 8/4, 12 /. 4, 16/4}. As another example, magnifications of {1/3, 2/3, 3/3, 6/3, 9/3, 12/3} are applied to an audio signal of 3/4 beat of music. These magnifications match the frequency with which major events occur in most musical works. Of course, other sets of magnifications are available in addition to the sets of magnifications mentioned above. In particular, according to these tempo estimation techniques, the processes of processing the audio signal are streamlined, and the tempo of the audio signal can be estimated with considerable accuracy even if the audio signal includes many offset patterns.
통상적인 음악은 주파수 영역에서 표현될 때 저주파 영역에서 상대적으로 큰 크기(magnitude)의 피크들을 가진다. 그러나, 그와 같이 관찰되는 피크들 중 가장 큰 크기의 피크에 대응하는 주파수를 그 음악의 템포라고 단순히 추정하는 것은 정확도가 낮을 수 있다. 사실 그 피크 주파수들은 그 음악의 저주파 악기들(예컨대, 리듬 섹션을 위한 베이스, 베이스 드럼, 바순, 튜바 등)에 기인하는 이벤트의 발생 빈도들을 의미한다. 이 예시적인 기법들에 따르면, 템포에 대하여 가능한 이벤트 발생 빈도들의 비율들에 기반하여 템포가 추정한다. 이를 위해, 주어진 오디오 신호의 이벤트들을 1/4비트 이상의 단위로 시퀀싱(sequencing)하는 것이 유용할 수 있다. 대체로 음악의 리듬을 만들어내는 저음 악기들은 고음 악기들에 비해 진동 주기가 길고 저음 악기들에 기인한 이벤트들은 서스테인(sustain)이나 릴리즈(release)에 더 많은 시간이 걸리는바, 1/4비트보다 더 세밀한 단위로 시퀀싱된 저음 악기 이벤트의 릴리즈 구간 전에 다음 저음 악기 이벤트가 발생할 가능성이 높다. 이런 점에 비추어 볼 때, 4/4박자 음악에서는 1비트에 4번 이상의 이벤트가 발생하지 않는다고 가정하는 것은 타당성이 있다. 이러한 4/4박자 음악의 주파수 영역 스펙트럼의 관점에서 보면, 1비트마다 1개, 2개, 3개 또는 4개의 이벤트가 발생하는 것이다. 마찬가지로, 1마디 또는 1소절에서 가능한 이벤트 발생 빈도들은 4비트 당 1회, 2회, 3회, 4회, 8회, 12회 및 16회라고 볼 수 있고, 이는 앞서 언급된 배율들의 집합에 포함된다. 이와 같이 정해진 배율들 각각에 따라 위 4/4박자 음악의 스펙트럼(예컨대, 그 음악의 주파수 영역에서의 크기를 나타내는 스펙트럼)가 주파수 축을 따라 스케일링되고, 스케일링된 스펙트럼 사본들의 가산을 나타내는 중첩 스펙트럼으로부터 가장 큰 크기를 가지는 순서로 소정의 개수의 피크 주파수가 추출될 수 있다. 추출된 하나의 피크 주파수 또는 추출된 피크 주파수들 중 하나가 위 음악의 템포로서 추정될 수 있다. 이는 중첩 스펙트럼이 실제 템포에 대응하는 주파수에서 (비록 가장 큰 크기를 가지지 않을 수는 있더라도) 뚜렷한 피크를 이룬다는 관찰에 근거한다.Typical music has relatively large peaks in the low frequency range when expressed in the frequency domain. However, simply estimating the frequency corresponding to the largest magnitude peak among such observed peaks as the tempo of the music may be of low accuracy. In fact the peak frequencies refer to the frequency of occurrence of the event due to the low frequency instruments of the music (eg bass, bass drum, bassoon, tuba, etc. for the rhythm section). According to these example techniques, the tempo estimates based on ratios of possible event occurrence frequencies to tempo. For this purpose, it may be useful to sequence events of a given audio signal in units of 1/4 bits or more. In general, bass instruments that produce the rhythm of music have a longer period of oscillation than treble instruments, and events caused by bass instruments take longer to sustain or release; The next bass instrument event is more likely to occur before the release interval of the subsequenced sequenced bass instrument event. In light of this, it makes sense to assume that 4/4 beats of music do not occur more than 4 times per beat. From the perspective of the frequency domain spectrum of 4/4 beat music, one, two, three or four events occur every bit. Similarly, the frequency of event occurrences possible in one measure or one measure can be regarded as once, twice, three times, four times, eight times, twelve times and sixteen times per four bits, which are included in the above-mentioned set of magnifications. do. According to each of these predetermined magnifications, the spectrum of the above 4/4 beat music (eg, the spectrum representing the magnitude in the frequency domain of the music) is scaled along the frequency axis and is most likely from the overlapping spectrum representing the addition of the scaled spectral copies. A predetermined number of peak frequencies may be extracted in order of magnitude. One extracted peak frequency or one of the extracted peak frequencies may be estimated as the tempo of the music. This is based on the observation that the superimposition spectrum produces distinct peaks (although not necessarily the largest) at frequencies corresponding to the actual tempo.
더욱 상세한 설명을 위해, 특정 배율들로 주파수 축이 스케일링된 스펙트럼 사본들을 가산한 중첩 스펙트럼을 이용하여 템포를 추정하는 기법들이 구현될 수 있는 예시적인 템포 추정기(110)가 기술된다.For a more detailed description, an example tempo estimator 110 is described in which techniques for estimating tempo using an overlapping spectrum that adds spectral copies scaled to a frequency axis at specific magnifications can be implemented.
도 3은 소정의 실시예들에 따른 템포 추정기의 블록도이다.3 is a block diagram of a tempo estimator in accordance with certain embodiments.
도 3에 도시된 바와 같이, 템포 추정기(110)는 오디오 신호의 시간 영역 파형을 주파수 영역 스펙트럼으로 변환하는 동작을 수행하는 시간-주파수 영역 변환부(310), 스펙트럼의 주파수 축을 특정 배율들로 스케일링하는 동작을 수행하는 사본 생성부(320), 원본 스펙트럼를 포함하여, 스케일링된 스펙트럼 사본들을 가산하는 동작을 수행하는 스펙트럼 가산부(320), 중첩 스펙트럼 내 하나 이상의 피크 주파수(예컨대, 1~3.3Hz 내지 60~200BPM의 관심 영역 내 하나 이상의 피크 주파수)를 검출함으로써 오디오 신호의 템포를 추정하는 동작을 수행하는 템포 추정부(325)를 포함할 수 있다.As shown in FIG. 3, the tempo estimator 110 scales the frequency axis of the spectrum to specific magnifications by a time-frequency domain converter 310 that performs an operation of converting a time-domain waveform of an audio signal into a frequency-domain spectrum. Copy generation unit 320 to perform the operation, including the original spectrum, the spectrum adder 320 performing the operation of adding the scaled spectral copies, one or more peak frequencies in the overlapping spectrum (for example, 1 ~ 3.3Hz to And a tempo estimator 325 for estimating a tempo of the audio signal by detecting one or more peak frequencies within a region of interest of 60 to 200 BPM.
시간-주파수 영역 변환부(310)는 오디오 신호의 시간 영역 표현인 시퀀스를 주파수 영역 스펙트럼 신호로 변환하도록 구성될 수 있다. 소정의 실시예들에서, 주파수 영역으로의 변환은 FFT를 이용하여 수행될 수 있다. 관심 영역이 1~1.3Hz 대역과 같은 매우 낮은 주파수 영역인 경우, 이 영역 내에 선명한 피크가 나타날 수 있도록 가능한 한 많은 양의 샘플을 한꺼번에 주파수 영역으로 변환하는 방식으로 FFT가 적용될 수 있다. FFT 포인트의 수는 다음과 같은 수식에 따라 결정될 수 있다.The time-frequency domain converter 310 may be configured to convert a sequence that is a time domain representation of the audio signal into a frequency domain spectrum signal. In certain embodiments, the conversion to the frequency domain can be performed using an FFT. If the region of interest is a very low frequency region, such as the 1 to 1.3 Hz band, the FFT can be applied by converting as many samples as possible into the frequency domain at once, so that a clear peak appears in this region. The number of FFT points may be determined according to the following equation.
Figure PCTKR2013011935-appb-I000001
Figure PCTKR2013011935-appb-I000001
예컨대, 샘플링 주파수가 1000Hz이고 템포 해상도가 0.1(즉, 템포가 소수점 한자리까지의 해상도로 추출됨을 나타냄)이라면, 600000개 포인트 이상의 FFT 계산이 수행되어야 한다.For example, if the sampling frequency is 1000 Hz and the tempo resolution is 0.1 (i.e., indicating that the tempo is extracted to one decimal place), an FFT calculation of 600000 points or more should be performed.
사본 생성부(315)는 주파수 영역 스펙트럼의 주파수 축을 복수의 기 설정된 배율 각각에 따라 스케일링함으로써 주파수 영역 스펙트럼의 복수의 스케일링된 사본들을 획득하도록 구성될 수 있다. 이러한 주파수 축 스케일링은 원본 스펙트럼의 크기를 변경하지 않고 유지시킬 수 있다. 오디오 신호가 1/2, 4/4 또는 4/8 박자 음악을 나타내는 경우, 스케일링에 사용되는 비율들의 집합은 {1/4, 2/4, 3/4, 4/4, 8/4, 12/4, 16/4}일 수 있다. 오디오 신호가 3/4 또는 6/8 박자 음악을 나타내는 경우, 스케일링에 사용되는 비율들의 집합은 {1/3, 2/3, 3/3, 6/3, 9/3, 12/3}일 수 있다. 만일 관심 영역이 1~3.3Hz 영역인 경우, 사본 생성부(315)는 원본 스펙트럼의 저주파 대역(예컨대, 1/4*1~4*3.3Hz 사이의 주파수 영역) 부분만 스케일링하여 스펙트럼 사본들을 생성할 수 있다. 대안적으로, 시간-주파수 영역 변환부(310)가 원본 스펙트럼의 위 저주파 대역 부분만을 사본 생성부(315)에 제공할 수도 있다. 이와 같이 원본 스펙트럼의 일부에 대하여 사본들을 획득하는 것은 고속 연산 및 메모리 최적화를 용이하게 할 수 있다.The copy generator 315 may be configured to obtain a plurality of scaled copies of the frequency domain spectrum by scaling the frequency axis of the frequency domain spectrum according to each of a plurality of preset magnifications. This frequency axis scaling can be maintained without changing the magnitude of the original spectrum. If the audio signal represents 1/2, 4/4 or 4/8 timed music, the set of ratios used for scaling is {1/4, 2/4, 3/4, 4/4, 8/4, 12 / 4, 16/4}. If the audio signal represents 3/4 or 6/8 timed music, the set of ratios used for scaling is {1/3, 2/3, 3/3, 6/3, 9/3, 12/3} Can be. If the region of interest is a region of 1 to 3.3 Hz, the copy generator 315 generates spectral copies by scaling only a portion of the low frequency band of the original spectrum (for example, a frequency region between 1/4 * 1 to 4 * 3.3 Hz). can do. Alternatively, the time-frequency domain converter 310 may provide only the low frequency band portion of the original spectrum to the copy generator 315. As such, obtaining copies for a portion of the original spectrum may facilitate high speed computation and memory optimization.
스펙트럼 가산부(320)는 스펙트럼의 원본과 사본들을 가산함으로써 중첩 스펙트럼을 획득하도록 구성된다. 템포 추정부(325)는 획득된 중첩 스펙트럼으로부터 하나 또는 복수의 피크 주파수를 검출함으로써 오디오 신호의 템포를 추정하도록 구성된다. 템포 추정부(325)는 기 설정된 주파수 영역(예컨대, 관심 영역인 1~3.3Hz) 내에서 하나 이상의 피크 주파수를 검출할 수 있다. 추정된 템포는 템포 추정부(330)로부터 제공될 수 있다. 예컨대, 중첩 스펙트럼에서 가장 큰 크기를 가지는 피크가 발생한 FFT 빈이 FFTBin라고 할 때, 템포 추정부(330)는 아래와 수식과 같이 오디오 신호의 템포 BPM을 추정할 수 있다.The spectral adder 320 is configured to obtain an overlapping spectrum by adding originals and copies of the spectrum. The tempo estimator 325 is configured to estimate the tempo of the audio signal by detecting one or a plurality of peak frequencies from the obtained overlap spectrum. The tempo estimator 325 may detect one or more peak frequencies within a preset frequency range (eg, 1 to 3.3 Hz, which is a region of interest). The estimated tempo may be provided from the tempo estimator 330. For example, when the FFT bin having the largest peak in the overlap spectrum is called FFTBin, the tempo estimator 330 may estimate the tempo BPM of the audio signal as shown below.
Figure PCTKR2013011935-appb-I000002
Figure PCTKR2013011935-appb-I000002
다른 예로서, 템포 추정부(325)는 중첩 스펙트럼에서 크기의 내림차순으로 복수의 피크 주파수를 검출함으로써 후보 템포들을 선정할 수 있다. 후보 템포들 중 최종 추정 템포를 선택하기 위한 기준은 다양한 방식으로 설정될 수 있다. 소정의 실시예들에서, 템포 추정부(325)는 오디오 신호의 시퀀스를 선정된 각 후보 템포에 따라 설정된 길이(예컨대, 각 후보 템포로부터 도출되는 비트 시간의 8배)의 프레임들로 분할하고 각 프레임과 그 프레임의 인접 프레임 간의 크로스-코릴레이션(cross-correlation)에 기반하여 후보 템포들 중 하나를 오디오 신호의 템포로서 추정할 수 있다. 이러한 추정 방식은 후보 템포가 실제 템포 내지 실제 템포의 배수인 경우 인접한 프레임들은 비슷한 형상의 파형을 나타내고 그 프레임들 간의 크로스-코릴레이션은 중앙에 피크가 형성된 좌우 대칭의 형상을 가질 가능성이 높다는 점에 기반한다. 구체적으로, 템포 추정부(325)는 각 후보 템포에 대하여 오디오 신호의 시퀀스 전체에서 각 프레임과 그 프레임의 인접 프레임 간의 크로스-코릴레이션의 파형에서 최대의 크기를 가지는 피크가 중앙으로부터 기 설정된 범위 내에서 발생하는지 여부에 따라 그러한 두 프레임들이 유사 또는 비유사하다고 판정할 수 있다. 나아가, 템포 추정부(325)는 유사하다고 판정된 인접 프레임들의 쌍의 개수를 점수화(scoring)함으로써, 후보 템포들 중 최고 점수의 후보 템포를 오디오 신호의 템포로서 추정할 수 있다. 예컨대, 어떤 후보 템포에 대하여, 오디오 신호의 시퀀스가 각각 8비트 길이를 갖는 90개의 프레임으로 분할되고 이 프레임들은 9개의 상이한 패턴들로 구분되는 경우(즉, 인접 프레임들 간에 총 8번의 패턴 변경이 있는 경우), 그 후보 템포에 대한 점수는 81/89*100≒91이다. 이와 같이, 템포 추정부(325)는 오디오 신호의 시퀀스를 각 후보 템포에 따라 설정된 길이의 프레임들로 분할하며 그 시퀀스 내의 인접한 두 프레임들의 쌍 각각의 유사도에 기반하여 후보 템포들 중 하나를 오디오 신호의 템포로 추정할 수 있다.As another example, the tempo estimator 325 may select candidate tempos by detecting a plurality of peak frequencies in descending order of magnitude in the overlap spectrum. Criteria for selecting the final estimated tempo among the candidate tempos may be set in various ways. In certain embodiments, the tempo estimator 325 divides the sequence of the audio signal into frames of a length (e.g., eight times the bit time derived from each candidate tempo) set according to each candidate tempo selected and each One of the candidate tempos can be estimated as the tempo of the audio signal based on cross-correlation between the frame and adjacent frames of the frame. This estimation method assumes that when the candidate tempo is a real tempo or a multiple of the actual tempo, adjacent frames exhibit similarly shaped waveforms, and cross-correlation between the frames is likely to have a symmetrical shape with a peak at the center. Based. In detail, the tempo estimator 325 has a peak having a maximum magnitude in a waveform of cross-correlation between each frame and an adjacent frame of the frame in the entire audio signal sequence for each candidate tempo within a preset range from the center. It can be determined that such two frames are similar or dissimilar, depending on whether they occur at. Further, the tempo estimator 325 may estimate the candidate tempo of the highest score among candidate tempos as the tempo of the audio signal by scoring the number of pairs of adjacent frames determined to be similar. For example, for a candidate tempo, if a sequence of audio signals is divided into 90 frames each having 8 bits in length and these frames are divided into 9 different patterns (i.e., a total of 8 pattern changes between adjacent frames are If any), the score for that candidate tempo is 81/89 * 100 ≒ 91. As such, the tempo estimator 325 divides the sequence of the audio signal into frames having a length set according to each candidate tempo, and decomposes one of the candidate tempos based on the similarity of each pair of two adjacent frames in the sequence. It can be estimated by the tempo of.
소정의 실시예들에 따르면, 템포 추정기(110)는 전처리부(305)를 더 포함할 수 있다. 전처리부(305)는 오디오 신호를 시간 영역에서 나타내는 샘플들의 시퀀스를 주파수 영역 스펙트럼으로 변환하기에 앞서 몇몇 전처리 동작들을 수행하도록 구성된다. 예를 들어, 전처리부(305)에서 수행되는 동작들은 원하는 템포 해상도에 기반하여 원래의 시퀀스를 적정한 수준으로 다운샘플링하여 갱신하는 동작을 포함할 수 있다. 이러한 다운샘플링은 음악과 같은 소리에서 그 템포가 인식되도록 하는 주요 이벤트들이 저주파 영역에 존재한다는 점에 근거한다. 다운샘플링된 시퀀스는 더 빠른 속도로 주파수 영역으로 변환될 수 있다. 이와 더불어, 또는 대안적으로, 전처리부(305)는 시퀀스 내 각 샘플의 값에 절대값 연산을 취하여 시퀀스를 갱신하는 동작을 수행할 수 있다. 이와 같이 갱신된 시퀀스를 주파수 영역으로 변환하는 방식은 원래의 시퀀스를 주파수 영역으로 변환하는 방식에 비해 주파수 영역에서 더 선명한 피크가 나타나도록 할 수 있다.According to some embodiments, the tempo estimator 110 may further include a preprocessor 305. The preprocessor 305 is configured to perform some preprocessing operations prior to converting the sequence of samples representing the audio signal in the time domain into the frequency domain spectrum. For example, operations performed by the preprocessor 305 may include an operation of downsampling and updating an original sequence to an appropriate level based on a desired tempo resolution. This downsampling is based on the fact that there are major events in the low frequency range that allow the tempo to be perceived in music-like sounds. The downsampled sequence can be converted to the frequency domain at a faster rate. In addition or alternatively, the preprocessor 305 may perform an operation of updating the sequence by performing an absolute value operation on the value of each sample in the sequence. The method of converting the updated sequence into the frequency domain may provide a clearer peak in the frequency domain than the method of converting the original sequence into the frequency domain.
도 4는 소정의 실시예들에 따른 오디오 신호 처리 방법의 순서도이다.4 is a flow chart of an audio signal processing method according to some embodiments.
도 4에 도시된 오디오 신호 처리 방법(400)에 따르면, 추정된 템포에 기반한 하이라이트 추출 기법들이 구현된다. 예를 들어, 오디오 신호 처리 방법(400)은 전술한 오디오 신호 처리 장치(100)에 의해 수행될 수 있다.According to the audio signal processing method 400 shown in FIG. 4, highlight extraction techniques based on the estimated tempo are implemented. For example, the audio signal processing method 400 may be performed by the audio signal processing apparatus 100 described above.
도 4의 오디오 신호 처리 방법(400)에 따르면, 오디오 신호를 시간 영역에서 나타내는 샘플들의 시퀀스가 수신된다(405). 이하에서 기술되는 단계들(410 내지 435)에서, 수신된 시퀀스로부터 오디오 신호의 템포가 추정된다.According to the audio signal processing method 400 of FIG. 4, a sequence of samples representing an audio signal in the time domain is received (405). In steps 410 to 435 described below, the tempo of the audio signal is estimated from the received sequence.
단계 410에서, 시퀀스가 다운샘플링된다. 단계 415에서, 시퀀스 내 샘플들 각각의 값에 대한 절대값 연산이 수행된다. 단계 420에서, 전처리된 시퀀스가 주파수 영역 스펙트럼으로 변환된다. 변환된 스펙트럼은 오디오 신호의 주파수 영역에서의 크기를 나타내는 스펙트럼일 수 있다. 단계 425에서, 주파수 영역 스펙트럼의 복수의 사본들이 생성된다. 복수의 사본 스펙트럼은 원본 스펙트럼의 주파수 축을 복수의 기 설정된 배율 각각에 따라 스케일링함으로써 획득될 수 있다. 단계 430에서, 원본 스펙트럼을 포함하여 복수의 스케일링된 사본 스펙트럼을 가산함으로써 중첩 스펙트럼이 획득된다. 단계 435에서, 중첩 스펙트럼 내에서 검출되는 피크 주파수에 따라 오디오 신호의 템포가 추정된다. 몇몇 실시예에 따르면, 단계 435에서, 중첩 스펙트럼 내에서 복수의 피크 주파수가 검출될 수 있다. 이 실시예들에서는 다음과 같은 시간 영역 분석을 통해 오디오 신호의 템포가 추정될 수 있다. 우선, 검출된 복수의 피크 주파수에 따른 후보 템포들이 선정된다. 이어서, 시퀀스가 각 후보 템포에 따라 설정된 길이의 프레임들로 분할된다. 각 프레임 및 그 프레임과 인접한 프레임 간의 유사도(예컨대, 이들 두 프레임 간의 크로스-코릴레이션에 따라 결정된 유사/비유사 여부)에 기반하여 후보 템포들 중 하나가 오디오 신호의 템포로서 추정될 수 있다.At step 410, the sequence is downsampled. In step 415, an absolute value operation is performed on the value of each of the samples in the sequence. In step 420, the preprocessed sequence is converted into a frequency domain spectrum. The converted spectrum may be a spectrum representing the magnitude in the frequency domain of the audio signal. In step 425, a plurality of copies of the frequency domain spectrum are generated. The plurality of copy spectra may be obtained by scaling the frequency axis of the original spectrum according to each of the plurality of preset magnifications. In step 430, an overlapping spectrum is obtained by adding the plurality of scaled copy spectra including the original spectrum. In step 435, the tempo of the audio signal is estimated according to the peak frequency detected in the overlap spectrum. According to some embodiments, at step 435 a plurality of peak frequencies may be detected within the overlap spectrum. In these embodiments, the tempo of the audio signal may be estimated through the following time domain analysis. First, candidate tempos according to the plurality of detected peak frequencies are selected. The sequence is then divided into frames of length set according to each candidate tempo. One of the candidate tempos may be estimated as the tempo of the audio signal based on the similarity between each frame and its frame and adjacent frames (eg, similarity or dissimilarity determined according to cross-correlation between these two frames).
오디오 신호의 템포가 추정된 후, 추정된 템포에 따라 설정된 지속시간을 각각 가지는 복수의 서브-시퀀스가 시퀀스로부터 도출된다(440). 예컨대, 템포가 BPM 단위로 추정된 경우, 상기 지속시간은 비트의 정수(예컨대, 16) 배의 시간일 수 있고, 각 서브-시퀀스는 인접 서브-시퀀스와 1비트의 시간만큼 이격될 수 있다.After the tempo of the audio signal is estimated, a plurality of sub-sequences each having a duration set according to the estimated tempo are derived from the sequence (440). For example, when the tempo is estimated in units of BPM, the duration may be an integer number of times (eg, 16) times of the bits, and each sub-sequence may be spaced one bit from the adjacent sub-sequence.
이어서, 각 서브-시퀀스에 대응하는 에너지 레벨이 산출된다(445). 이러한 에너지 레벨 산출은 위 지속시간과 동일한 길이를 갖는 슬라이딩 윈도우를 시퀀스 내 샘플들에 대하여 이동시키면서 슬라이딩 윈도우 내 샘플들의 에너지를 구하는 방식으로 수행될 수 있다. 슬라이딩 윈도우가 이동하는 간격은 각 서브-시퀀스가 인접 서브-시퀀스와 이격된 시간차와 동일할 수 있다.An energy level corresponding to each sub-sequence is then calculated 445. This energy level calculation may be performed in such a way as to obtain the energy of the samples in the sliding window while moving the sliding window having the same length as the above duration with respect to the samples in the sequence. The interval at which the sliding window moves may be equal to the time difference in which each sub-sequence is spaced apart from an adjacent sub-sequence.
산출된 에너지 레벨들에 기반하여 복수의 서브-시퀀스 중 하나, 예컨대 에너지 레벨이 가장 큰 서브-시퀀스가 오디오 신호의 하이라이트 부분으로서 추출된다(450).Based on the calculated energy levels, one of the plurality of sub-sequences, e.g., the sub-sequence with the largest energy level, is extracted 450 as the highlight portion of the audio signal.
몇몇 실시예들에 따르면, 오디오 신호 처리 방법(400)의 적어도 일부의 단계들이 수행되는 순서가 변경될 수 있다. 몇몇 실시예들에 따르면, 오디오 신호 처리 방법(400)의 적어도 일부의 단계들은 서로 결합되어 함께 수행되거나, 생략되거나, 서브-단계들로 나뉘어 수행될 수 있다. 몇몇 실시예들에 따르면, 도 4에 도시되지 않은 하나 이상의 단계가 오디오 신호 처리 방법(400)에 부가되어 수행될 수 있다.According to some embodiments, the order in which at least some steps of the audio signal processing method 400 are performed may be changed. According to some embodiments, at least some steps of the audio signal processing method 400 may be performed in combination with each other, omitted, or divided into sub-steps. According to some embodiments, one or more steps not shown in FIG. 4 may be performed in addition to the audio signal processing method 400.
도 5 내지 도 7은 소정의 실시예들에 따른 오디오 플레이어의 스크린 샷을 도시한다.5-7 show screenshots of an audio player in accordance with certain embodiments.
예시적인 오디오 플레이어는 전술한 오디오 신호 처리 장치(100)를 포함하여 오디오 신호 처리 장치(100)로부터 추출된 하이라이트 부분을 제공하고 그 하이라이트 부분을 가시적으로 나타내도록 구성된 컴퓨팅 장치, 또는 프로세서에 의해 수행되는 경우 전술한 오디오 신호 처리 방법(400)을 수행하도록 구성된 컴퓨터 실행 가능 명령어와 연동하여 오디오 신호 처리 방법(400)에 따라 추출된 하이라이트 부분을 제공하고 그 하이라이트 부분을 가시적으로 나타내도록 구성된 컴퓨터 실행 가능 명령어가 저장된 컴퓨팅 장치 상에서 구현될 수 있다. 오디오 신호의 시간 영역 샘플들을 나타내는 미디어 파일이 오디오 플레이어에 입력될 수 있다. 나아가, 오디오 플레이어는 미디어 파일들의 집합 내지 미디어 파일들이 저장된 위치를 나타내는 리스트를 수신하고 이로부터 획득되는 각 미디어 파일을 재생할 수 있다.An exemplary audio player is performed by a computing device, or processor, including the audio signal processing apparatus 100 described above, providing a highlight portion extracted from the audio signal processing apparatus 100 and configured to visually represent the highlight portion. The computer executable command configured to provide the highlight portion extracted according to the audio signal processing method 400 and visually represent the highlight portion in association with the computer executable instruction configured to perform the above-described audio signal processing method 400. May be implemented on a stored computing device. A media file representing time domain samples of the audio signal may be input to the audio player. Furthermore, the audio player can receive a list indicating a collection of media files or a location where the media files are stored and play each media file obtained therefrom.
도 5의 스크린 샷(500)에 따르면, 오디오 신호의 시간 영역 파형(510)이 컴퓨팅 장치의 디스플레이(예컨대, 터치 감지 스크린) 상에 제공된다. 또한, 재생 버튼(520), 하이라이트 버튼(530), 다음 트랙 버튼(540), 이전 트랙 버튼(550) 및 반복재생 버튼(560)이 디스플레이 상에 제공된다. 재생 버튼(520), 하이라이트 버튼(530) 및 반복재생 버튼(560)을 선택하는 사용자 입력(예컨대, 마우스 왼쪽 버튼의 클릭이나 손가락 또는 스타일러스에 의한 탭 등)은 오디오 플레이어가 각각 재생 모드, 하이라이트 모드 및 반복재생 모드를 활성화하는 것 및 비활성화하는 것 사이에서 토글(toggle)되도록 한다. 다음 트랙 버튼(540) 및 이전 트랙 버튼(550)을 선택하는 사용자 입력(예컨대, 마우스 왼쪽 버튼의 클릭이나 손가락 또는 스타일러스에 의한 탭 등)은 오디오 플레이어가 각각 다음 오디오 신호 및 이전 오디오 신호를 재생하도록 한다. 다음 트랙 버튼(540) 및 이전 트랙 버튼(550) 상의 다른 사용자 입력(예컨대, 사용자가 터치 감지 스크린 상에 제공된 다음 트랙 버튼(540) 또는 이전 트랙 버튼(550)을 손가락을 누르고 계속 대고 있는 것)은 오디오 플레이어가 빨리감기 모드 또는 되감기 모드를 활성화하도록 한다. 물론 다른 방식으로 위 모드들이 활성화/비활성화될 수 있고 다음/이전 오디오 신호가 재생될 수 있다.According to the screen shot 500 of FIG. 5, a time domain waveform 510 of an audio signal is provided on a display (eg, a touch sensitive screen) of a computing device. In addition, a play button 520, a highlight button 530, a next track button 540, a previous track button 550 and a repeat play button 560 are provided on the display. User input to select the play button 520, highlight button 530, and repeat play button 560 (e.g., a left mouse click or a tap with a finger or stylus) may be used by the audio player in play mode, highlight mode, respectively. And toggle between activating and deactivating the repeat mode. User input to select the next track button 540 and the previous track button 550 (e.g., a click of the left mouse button or a tap with a finger or stylus) may cause the audio player to play the next and previous audio signals, respectively. do. Other user inputs on the next track button 540 and previous track button 550 (eg, the user is pressing and holding on the next track button 540 or previous track button 550 provided on a touch-sensitive screen) Causes the audio player to activate fast forward or rewind mode. Of course the above modes can be activated / deactivated and the next / previous audio signal can be played.
재생 모드가 활성화된 경우, 오디오 신호가 재생된다. 오디오 신호의 재생에 따라 재생 위치를 나타내기 위한 커서(570)가 이동한다. 오디오 신호가 전부 재생된 후, 다음 오디오 신호가 재생될 수 있다. 도 5의 스크린 샷(500)에서 커서(570)는 7분 11.31초 길이의 오디오 신호에서 2분 2.88초의 부분이 재생되고 있음을 표시한다. 빨리감기 모드가 활성화된 경우, 재생 모드보다 빠른 속도로 오디오 신호가 재생된다. 커서(570)가 오디오 신호의 끝에 도달하면, 다음 오디오 신호가 재생될 수 있다. 되감기 모드가 활성화된 경우, 오디오 신호가 역으로 재생된다. 커서(570)가 오디오 신호의 처음에 도달하면, 이전 오디오 신호가 재생될 수 있다. 반복재생 모드가 활성화된 경우, 오디오 신호의 재생이 계속 반복된다.When the play mode is activated, the audio signal is played. As the audio signal is reproduced, the cursor 570 for indicating the reproduction position is moved. After all of the audio signals are reproduced, the next audio signal can be reproduced. In the screen shot 500 of FIG. 5, the cursor 570 indicates that a portion of 2 minutes 2.88 seconds is being reproduced in an audio signal of 7 minutes 11.31 seconds long. When fast forward mode is activated, audio signals are played back faster than the playback mode. When the cursor 570 reaches the end of the audio signal, the next audio signal can be played. When the rewind mode is activated, the audio signal is played back in reverse. When the cursor 570 reaches the beginning of the audio signal, the previous audio signal can be played. When the repeat play mode is activated, playback of the audio signal is repeated continuously.
오디오 플레이어가 오디오 신호를 재생 중이거나 오디오 신호의 재생이 정지된 동안 하이라이트 모드가 활성화된 경우, 오디오 신호 처리 장치(100) 또는 오디오 신호 처리 방법(400)의 수행으로부터 나온 하이라이트 부분의 시작점으로 커서(530)가 이동한다. 그러한 하이라이트 부분을 나타내는 표시가 오디오 신호를 나타내는 미디어 파일의 태그에 기록되거나 외부의 데이터베이스에 저장될 수 있다. 오디오 플레이어의 사용자는 사용자 입력을 통해 위와 같이 추출된 하이라이트 부분을 다른 하이라이트 부분으로 대체할 수 있다. 이와 함께, 미디어 파일의 태그 또는 외부의 데이터베이스에 새로운 하이라이트 부분을 나타내는 표시가 저장될 수 있다.When the highlight mode is activated while the audio player is playing the audio signal or the playback of the audio signal is stopped, the cursor is moved to the starting point of the highlight portion resulting from the performance of the audio signal processing apparatus 100 or the audio signal processing method 400 ( 530 moves. Indications representing such highlight portions may be recorded in tags of the media file representing the audio signal or stored in an external database. The user of the audio player may replace the extracted highlight portion with another highlight portion through user input. In addition, an indication indicating a new highlight portion may be stored in a tag of the media file or in an external database.
하이라이트 모드와 함께 재생 모드 역시 활성화된 경우, 하이라이트 부분이 재생된다. 도 6은 하이라이트 모드가 활성화된 경우 디스플레이 상에 제공되는 스크린 샷을 도시한다. 스크린 샷(600)에서, 커서(570)는 오디오 신호에서 3분 32.67초의 부분이 재생되고 있음을 표시한다. 재생되는 하이라이트 부분(610)은 다른 부분과 달리 강조되는 방식으로 오디오 신호의 시간 영역 파형(510)이 표시된다. 하이라이트 모드가 활성화된 경우, 오디오 신호의 하이라이트 부분(610)의 재생이 끝나면 반복재생 모드의 활성화/비활성화 여부에 따라 위 오디오 신호의 하이라이트 부분(610)이 다시 재생되거나 다음 오디오 신호의 하이라이트 부분이 재생된다. 따라서, 하이라이트 모드가 활성화되되 반복재생 모드는 비활성화된 경우, 연속적인 오디오 신호들 각각의 하이라이트 부분이 순차적으로 재생될 수 있다. 한편, 오디오 신호의 하이라이트 부분(610)의 길이를 설정하는 사용자 입력을 수신하기 위한 인터페이스(예컨대, 팝업 메뉴 또는 슬라이더)가 다른 사용자 입력(예컨대, 마우스 오른쪽 버튼의 클릭이나 손가락 또는 스타일러스에 의한 더블 탭)에 응답하여 디스플레이 상에 제공될 수 있다. 오디오 플레이어의 사용자는 이 인터페이스 상에서 하이라이트 부분(610)의 길이를 선택하거나 조절할 수 있다. 이러한 선택 또는 조절은 오디오 신호의 마디 또는 소절 단위로 수행될 수 있다. 오디오 신호의 마디 또는 소절은 오디오 신호의 템포의 추정 값으로부터 도출될 수 있다. 하이라이트 부분(610)의 길이가 사용자의 선택 또는 조절에 따라 변경되는 경우, 변경된 하이라이트 부분(610)이 디스플레이 상에 제공되고 변경된 하이라이트 부분(610)이 처음부터 재생될 수 있다. 다음 오디오 신호 또는 이전 오디오 신호의 하이라이트 부분도 변경된 하이라이트 부분(610)과 동일한 길이를 가질 수 있다.If the playback mode is also activated along with the highlight mode, the highlight portion is played. 6 shows a screenshot provided on the display when the highlight mode is activated. In screen shot 600, cursor 570 indicates that the portion of the audio signal is being played back at 3 minutes 32.67 seconds. The highlight portion 610 to be reproduced is displayed in a time domain waveform 510 of the audio signal in a highlighted manner unlike other portions. When the highlight mode is activated, when the highlight portion 610 of the audio signal is finished, the highlight portion 610 of the above audio signal is reproduced again or the highlight portion of the next audio signal is reproduced depending on whether the repeat play mode is enabled or disabled. do. Therefore, when the highlight mode is activated but the repeat play mode is deactivated, the highlight portion of each of the consecutive audio signals may be sequentially played. On the other hand, an interface (e.g., a pop-up menu or a slider) for receiving a user input for setting the length of the highlight portion 610 of the audio signal has a different user input (e.g., a right-click or a double tap by a finger or a stylus). May be provided on the display. The user of the audio player can select or adjust the length of the highlight portion 610 on this interface. This selection or adjustment may be performed in units of measure or measure of the audio signal. The measure or measure of the audio signal may be derived from an estimated value of the tempo of the audio signal. When the length of the highlight portion 610 is changed according to the user's selection or adjustment, the changed highlight portion 610 may be provided on the display and the changed highlight portion 610 may be played from the beginning. The highlight portion of the next audio signal or the previous audio signal may also have the same length as the changed highlight portion 610.
도 7은 오디오 신호의 하이라이트 부분의 재생 중에 하이라이트 부분이 아닌 다른 부분 상에 사용자 입력이 수신되는 경우 디스플레이 상에 제공되는 스크린 샷을 도시한다. 스크린 샷(700)에서, 커서(570)가 위치한 부분 상의 사용자 입력에 응답하여, 커서(570)가 그 부분으로 이동하고 그 부분부터 오디오 신호가 재생된다. 스크린 샷(700)에서, 하이라이트 버튼(530)은 여전히 활성화되어 있으나, 하이라이트 부분의 강조가 사라진 오디오 신호의 시간 영역 파형(510)이 디스플레이 상에 제공된다. 다만, 하이라이트 모드가 활성화되어 있는바, (예컨대, 다음 트랙 버튼(540) 또는 이전 트랙 버튼(550) 상의 사용자 입력에 응답하여) 다음 오디오 신호 또는 이전 오디오 신호의 재생이 지시되는 경우 그 오디오 신호의 하이라이트 부분이 재생된다. FIG. 7 shows a screenshot provided on the display when a user input is received on a portion other than the highlight portion during reproduction of the highlight portion of the audio signal. In screen shot 700, in response to a user input on the portion where cursor 570 is located, cursor 570 moves to that portion and the audio signal is played from that portion. In the screen shot 700, the time-domain waveform 510 of the audio signal is provided on the display where the highlight button 530 is still active but the emphasis of the highlight portion has disappeared. However, if the highlight mode is activated and playback of the next audio signal or the previous audio signal is instructed (for example, in response to a user input on the next track button 540 or the previous track button 550), The highlight section is played.
소정의 실시예들에 따르면, 본 명세서에서 기술된 방법들(예컨대, 오디오 신호 처리 방법(400))을 컴퓨터 상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체가 제공된다. 그러한 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 위 컴퓨터 판독 가능 기록 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들일 수 있다. 이러한 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드가 포함될 수 있다.According to certain embodiments, a computer-readable recording medium is provided that includes a program for performing the methods described herein (eg, the audio signal processing method 400) on a computer. Such computer-readable recording media may include program instructions, local data files, local data structures, or the like, alone or in combination. The computer readable recording medium may be those specially designed and configured for the present invention. Examples of such computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floppy disks, and ROM, RAM and flash memory. Hardware devices specifically configured to store and execute program instructions, and the like. Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the exemplary embodiments of the present invention have been described in detail above, those skilled in the art will appreciate that various modifications can be made to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.
[부호의 설명][Description of the code]
100 : 오디오 신호 처리 장치100: audio signal processing device
110 : 템포 추정기110: tempo estimator
120 : 에너지 레벨 산출기120: energy level calculator
130 : 하이라이트 추출기130: Highlight Extractor

Claims (21)

  1. 오디오 신호를 시간 영역(time domain)에서 나타내는 샘플들의 시퀀스(sequence)로부터 상기 오디오 신호의 템포를 추정하도록 구성된 템포 추정기;A tempo estimator configured to estimate a tempo of the audio signal from a sequence of samples representing an audio signal in a time domain;
    상기 시퀀스로부터 복수의 부분적으로 중첩된 서브-시퀀스(partially overlapping sub-sequence)를 도출하고 상기 복수의 서브-시퀀스에 각각 대응하는 에너지 레벨들을 산출하도록 구성된 에너지 레벨 산출기; 및An energy level calculator configured to derive a plurality of partially overlapping sub-sequences from the sequence and to calculate energy levels respectively corresponding to the plurality of sub-sequences; And
    상기 에너지 레벨들에 기반하여 상기 복수의 서브-시퀀스 중 하나를 상기 오디오 신호의 하이라이트 부분으로 추출하도록 구성된 하이라이트 추출기를 포함하고,A highlight extractor configured to extract one of the plurality of sub-sequences into a highlight portion of the audio signal based on the energy levels,
    각 서브-시퀀스는 상기 추정된 템포에 따라 설정된 지속시간(time duration)을 가지고, 각 에너지 레벨은 상기 각 에너지 레벨에 대응하는 서브-시퀀스의 샘플들의 에너지를 나타내는,Each sub-sequence has a time duration set according to the estimated tempo, each energy level representing the energy of the samples of the sub-sequence corresponding to each energy level,
    오디오 신호 처리 장치.Audio signal processing device.
  2. 청구항 1에 있어서,The method according to claim 1,
    상기 템포 추정기는 또한 상기 템포를 BPM(Beat Per Minute) 단위로 추정하도록 구성되고, 상기 지속시간은 상기 추정된 템포에 따른 비트(beat)의 정수 배의 시간인, 오디오 신호 처리 장치.The tempo estimator is further configured to estimate the tempo in units of beat per minute (BPM), wherein the duration is an integer multiple of a beat according to the estimated tempo.
  3. 청구항 1에 있어서,The method according to claim 1,
    상기 각 서브-시퀀스 내의 시작 샘플은 상기 각 서브-시퀀스와 인접한 서브-시퀀스 내의 시작 샘플로부터 상기 추정된 템포에 따라 설정된 시간차만큼 이격되고, 상기 지속시간은 상기 시간차의 정수 배인, 오디오 신호 처리 장치.A start sample in each sub-sequence is spaced apart from a start sample in a sub-sequence adjacent to each sub-sequence by a time difference set according to the estimated tempo, and the duration is an integer multiple of the time difference.
  4. 청구항 3에 있어서,The method according to claim 3,
    상기 에너지 레벨 산출기는 또한 상기 시퀀스 내의 샘플들에 대하여 슬라이딩 윈도우를 상기 시간차만큼 이동시키면서 상기 슬라이딩 윈도우에 의해 망라된(encompassed) 샘플들의 에너지를 구함으로써 상기 각 서브-시퀀스에 대응하는 상기 에너지 레벨을 산출하도록 구성되고 상기 슬라이딩 윈도우는 상기 지속시간과 동일한 길이를 가지는, 오디오 신호 처리 장치.The energy level calculator also calculates the energy level corresponding to each sub-sequence by finding the energy of the samples encapsulated by the sliding window while moving the sliding window by the time difference relative to the samples in the sequence. And the sliding window has a length equal to the duration.
  5. 청구항 1에 있어서,The method according to claim 1,
    상기 하이라이트 추출기는 또한 상기 서브-시퀀스들 중 대응하는 에너지 레벨이 가장 큰 서브-시퀀스를 상기 하이라이트 부분으로 추출하도록 구성되는, 오디오 신호 처리 장치.The highlight extractor is further configured to extract a sub-sequence of the sub-sequences with the largest corresponding energy level into the highlight portion.
  6. 청구항 1에 있어서,The method according to claim 1,
    상기 템포 추정기는The tempo estimator
    상기 시퀀스를 주파수 영역 스펙트럼으로 변환하도록 구성된 시간-주파수 영역 변환부(time-to-frequency domain conversion unit);A time-to-frequency domain conversion unit configured to convert the sequence into a frequency domain spectrum;
    상기 주파수 영역 스펙트럼의 주파수 축을 복수의 기 설정된 배율 각각에 따라 스케일링(scaling)함으로써 상기 주파수 영역 스펙트럼의 복수의 스케일링된 사본들을 획득하도록 구성된 사본 생성부;A copy generator configured to obtain a plurality of scaled copies of the frequency domain spectrum by scaling the frequency axis of the frequency domain spectrum according to each of a plurality of preset magnifications;
    상기 주파수 영역 스펙트럼을 포함하여 상기 복수의 스케일링된 사본들을 가산함으로써 중첩 스펙트럼(overlap spectrum)을 획득하도록 구성된 스펙트럼 가산부; 및A spectrum adder configured to obtain an overlap spectrum by adding the plurality of scaled copies including the frequency domain spectrum; And
    상기 중첩 스펙트럼의 하나 또는 복수의 피크 주파수를 검출함으로써 상기 템포를 추정하도록 구성된 템포 추정부를 포함하는,A tempo estimator configured to estimate the tempo by detecting one or a plurality of peak frequencies of the overlapping spectrum,
    오디오 신호 처리 장치.Audio signal processing device.
  7. 청구항 6에 있어서,The method according to claim 6,
    상기 템포 추정부는 또한 상기 중첩 스펙트럼의 기 설정된 주파수 영역 내에서 상기 하나 또는 복수의 피크 주파수를 검출하도록 구성되는, 오디오 신호 처리 장치.And the tempo estimator is further configured to detect the one or the plurality of peak frequencies within a preset frequency region of the overlap spectrum.
  8. 청구항 6에 있어서,The method according to claim 6,
    상기 주파수 영역 스펙트럼은 상기 오디오 신호의 주파수 영역에서의 크기 스펙트럼(magnitude spectrum)인, 오디오 신호 처리 장치.And said frequency domain spectrum is a magnitude spectrum in the frequency domain of said audio signal.
  9. 청구항 6에 있어서,The method according to claim 6,
    상기 템포 추정기는 상기 시퀀스를 다운샘플링(downsampling)하는 것 및 상기 시퀀스 내 샘플들 각각의 값에 절대값 연산을 취하는 것 중 적어도 하나를 상기 변환 전에 수행하여 상기 시퀀스를 갱신하도록 구성된 전처리부를 더 포함하는, 오디오 신호 처리 장치.The tempo estimator further includes a preprocessor configured to update the sequence by performing at least one of downsampling the sequence and taking an absolute value operation on the value of each of the samples in the sequence before the conversion. Audio signal processing device.
  10. 청구항 6에 있어서,The method according to claim 6,
    상기 템포 추정부는 또한, 상기 검출된 복수의 피크 주파수에 따른 후보 템포들을 선정하고 상기 시퀀스를 각 후보 템포에 따라 설정된 길이의 프레임들로 분할하며 각 프레임 및 상기 각 프레임과 인접한 프레임 간의 유사도에 기반하여 상기 후보 템포들 중 하나를 상기 템포로서 추정하도록 구성된, 오디오 신호 처리 장치.The tempo estimator also selects candidate tempos according to the detected plurality of peak frequencies, divides the sequence into frames having a length set according to each candidate tempo, and based on similarity between each frame and the frames adjacent to each frame. And estimate one of the candidate tempos as the tempo.
  11. 오디오 신호를 시간 영역에서 나타내는 샘플들의 시퀀스로부터 상기 오디오 신호의 템포를 추정하는 단계;Estimating the tempo of the audio signal from a sequence of samples representing the audio signal in a time domain;
    상기 시퀀스로부터 복수의 부분적으로 중첩된 서브-시퀀스를 도출하고 상기 복수의 서브-시퀀스에 각각 대응하는 에너지 레벨들을 산출하는 단계; 및Deriving a plurality of partially overlapping sub-sequences from the sequence and calculating energy levels respectively corresponding to the plurality of sub-sequences; And
    상기 에너지 레벨들에 기반하여 상기 복수의 서브-시퀀스 중 하나를 상기 오디오 신호의 하이라이트 부분으로 추출하는 단계를 포함하고,Extracting one of the plurality of sub-sequences as a highlight portion of the audio signal based on the energy levels,
    각 서브-시퀀스는 상기 추정된 템포에 따라 설정된 지속시간을 가지고, 각 에너지 레벨은 상기 각 에너지 레벨에 대응하는 서브-시퀀스의 샘플들의 에너지를 나타내는,Each sub-sequence has a duration set according to the estimated tempo, each energy level representing the energy of the samples of the sub-sequence corresponding to each energy level,
    오디오 신호 처리 방법.Audio signal processing method.
  12. 청구항 11에 있어서,The method according to claim 11,
    상기 추정하는 단계는 상기 템포를 BPM(Beat Per Minute) 단위로 추정하는 단계를 포함하고, 상기 지속시간은 상기 추정된 템포에 따른 비트(beat)의 정수 배의 시간인, 오디오 신호 처리 방법.The estimating step includes estimating the tempo in units of beat per minute (BPM), wherein the duration is an integer time of a beat according to the estimated tempo.
  13. 청구항 11에 있어서,The method according to claim 11,
    상기 각 서브-시퀀스 내의 시작 샘플은 상기 각 서브-시퀀스와 인접한 서브-시퀀스 내의 시작 샘플로부터 상기 추정된 템포에 따라 설정된 시간차만큼 이격되고, 상기 지속시간은 상기 시간차의 정수 배인, 오디오 신호 처리 방법.A start sample in each sub-sequence is spaced apart from a start sample in a sub-sequence adjacent to each sub-sequence by a time difference set according to the estimated tempo, and the duration is an integer multiple of the time difference.
  14. 청구항 13에 있어서,The method according to claim 13,
    상기 산출하는 단계는 상기 시퀀스 내의 샘플들에 대하여 슬라이딩 윈도우를 상기 시간차만큼 이동시키면서 상기 슬라이딩 윈도우에 의해 망라된(encompassed) 샘플들의 에너지를 구함으로써 상기 각 서브-시퀀스에 대응하는 상기 에너지 레벨을 산출하는 단계를 포함하고, 상기 슬라이딩 윈도우는 상기 지속시간과 동일한 길이를 가지는, 오디오 신호 처리 방법.The calculating step comprises calculating the energy level corresponding to each sub-sequence by obtaining the energy of the samples encapsulated by the sliding window while moving the sliding window by the time difference with respect to the samples in the sequence. And the sliding window has a length equal to the duration.
  15. 청구항 11에 있어서,The method according to claim 11,
    상기 추출하는 단계는 상기 서브-시퀀스들 중 대응하는 에너지 레벨이 가장 큰 서브-시퀀스를 상기 하이라이트 부분으로 추출하는 단계를 포함하는, 오디오 신호 처리 방법.And wherein said extracting comprises extracting into the highlight portion a sub-sequence having the largest corresponding energy level among the sub-sequences.
  16. 청구항 11에 있어서,The method according to claim 11,
    상기 추정하는 단계는The estimating step
    상기 시퀀스를 주파수 영역 스펙트럼으로 변환하는 단계;Converting the sequence into a frequency domain spectrum;
    상기 주파수 영역 스펙트럼의 주파수 축을 복수의 기 설정된 배율 각각에 따라 스케일링함으로써 상기 주파수 영역 스펙트럼의 복수의 스케일링된 사본들을 획득하는 단계;Obtaining a plurality of scaled copies of the frequency domain spectrum by scaling the frequency axis of the frequency domain spectrum according to each of a plurality of preset magnifications;
    상기 주파수 영역 스펙트럼을 포함하여 상기 복수의 스케일링된 사본들을 가산함으로써 중첩 스펙트럼을 획득하는 단계; 및Obtaining an overlap spectrum by adding the plurality of scaled copies including the frequency domain spectrum; And
    상기 중첩 스펙트럼 내에서 하나 또는 복수의 피크 주파수를 검출함으로써 상기 템포를 추정하는 단계를 포함하는,Estimating the tempo by detecting one or a plurality of peak frequencies in the overlap spectrum;
    오디오 신호 처리 방법.Audio signal processing method.
  17. 청구항 16에 있어서,The method according to claim 16,
    상기 하나 또는 복수의 피크 주파수를 검출하는 것은 상기 중첩 스펙트럼의 기 설정된 주파수 영역 내에서 상기 하나 또는 복수의 피크 주파수를 검출하는 것을 포함하는, 오디오 신호 처리 방법.Detecting the one or more peak frequencies comprises detecting the one or more peak frequencies within a preset frequency region of the overlap spectrum.
  18. 청구항 16에 있어서,The method according to claim 16,
    상기 주파수 영역 스펙트럼은 상기 오디오 신호의 주파수 영역에서의 크기 스펙트럼인, 오디오 신호 처리 방법.Wherein said frequency domain spectrum is a magnitude spectrum in the frequency domain of said audio signal.
  19. 청구항 16에 있어서,The method according to claim 16,
    상기 시퀀스를 다운샘플링하는 것 및 상기 시퀀스 내 샘플들 각각의 값에 절대값 연산을 취하는 것 중 적어도 하나를 상기 변환 전에 수행하여 상기 시퀀스를 갱신하는 단계를 더 포함하는, 오디오 신호 처리 방법.And performing at least one of downsampling the sequence and taking an absolute value operation on the value of each of the samples in the sequence prior to the conversion to update the sequence.
  20. 청구항 16에 있어서,The method according to claim 16,
    상기 검출된 하나 또는 복수의 피크 주파수로부터 상기 템포를 추정하는 단계는Estimating the tempo from the detected one or more peak frequencies
    상기 검출된 복수의 피크 주파수에 따른 후보 템포들을 선정하는 단계;Selecting candidate tempos according to the detected plurality of peak frequencies;
    상기 시퀀스를 각 후보 템포에 따라 설정된 길이의 프레임들로 분할하는 단계; 및Dividing the sequence into frames of a length set according to each candidate tempo; And
    각 프레임 및 상기 각 프레임과 인접한 프레임 간의 유사도에 기반하여 상기 후보 템포들 중 하나를 상기 템포로서 추정하는 단계를 포함하는, 오디오 신호 처리 방법.Estimating one of the candidate tempos as the tempo based on each frame and the similarity between each frame and an adjacent frame.
  21. 프로세서에 의해 실행되는 경우 청구항 11 내지 20 중 어느 하나에 기재된 방법을 수행하도록 구성된 컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독가능 저장 매체.A computer readable storage medium having stored thereon computer executable instructions configured to perform the method of any one of claims 11 to 20 when executed by a processor.
PCT/KR2013/011935 2013-12-20 2013-12-20 Device and method for processing audio signal WO2015093668A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2013/011935 WO2015093668A1 (en) 2013-12-20 2013-12-20 Device and method for processing audio signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2013/011935 WO2015093668A1 (en) 2013-12-20 2013-12-20 Device and method for processing audio signal

Publications (1)

Publication Number Publication Date
WO2015093668A1 true WO2015093668A1 (en) 2015-06-25

Family

ID=53402999

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/011935 WO2015093668A1 (en) 2013-12-20 2013-12-20 Device and method for processing audio signal

Country Status (1)

Country Link
WO (1) WO2015093668A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111081271A (en) * 2019-11-29 2020-04-28 福建星网视易信息系统有限公司 Music rhythm detection method based on frequency domain and time domain and storage medium
CN113709578A (en) * 2021-09-14 2021-11-26 上海幻电信息科技有限公司 Bullet screen display method and device
CN114096047A (en) * 2022-01-11 2022-02-25 卧安科技(深圳)有限公司 Audio control light effect method, device, system and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070113724A1 (en) * 2005-11-24 2007-05-24 Samsung Electronics Co., Ltd. Method, medium, and system summarizing music content
US20080046406A1 (en) * 2006-08-15 2008-02-21 Microsoft Corporation Audio and video thumbnails
KR100852196B1 (en) * 2007-02-12 2008-08-13 삼성전자주식회사 System for playing music and method thereof
KR100995839B1 (en) * 2008-08-08 2010-11-22 주식회사 아이토비 Multi contents display system and method thereof
KR20120063528A (en) * 2009-10-30 2012-06-15 돌비 인터네셔널 에이비 Complexity scalable perceptual tempo estimation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070113724A1 (en) * 2005-11-24 2007-05-24 Samsung Electronics Co., Ltd. Method, medium, and system summarizing music content
US20080046406A1 (en) * 2006-08-15 2008-02-21 Microsoft Corporation Audio and video thumbnails
KR100852196B1 (en) * 2007-02-12 2008-08-13 삼성전자주식회사 System for playing music and method thereof
KR100995839B1 (en) * 2008-08-08 2010-11-22 주식회사 아이토비 Multi contents display system and method thereof
KR20120063528A (en) * 2009-10-30 2012-06-15 돌비 인터네셔널 에이비 Complexity scalable perceptual tempo estimation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111081271A (en) * 2019-11-29 2020-04-28 福建星网视易信息系统有限公司 Music rhythm detection method based on frequency domain and time domain and storage medium
CN111081271B (en) * 2019-11-29 2022-09-06 福建星网视易信息系统有限公司 Music rhythm detection method based on frequency domain and time domain and storage medium
CN113709578A (en) * 2021-09-14 2021-11-26 上海幻电信息科技有限公司 Bullet screen display method and device
CN113709578B (en) * 2021-09-14 2023-08-11 上海幻电信息科技有限公司 Bullet screen display method, bullet screen display device, bullet screen display equipment and bullet screen display medium
CN114096047A (en) * 2022-01-11 2022-02-25 卧安科技(深圳)有限公司 Audio control light effect method, device, system and storage medium
CN114096047B (en) * 2022-01-11 2022-04-26 卧安科技(深圳)有限公司 Audio control light effect method, device, system and computer readable storage medium

Similar Documents

Publication Publication Date Title
US8889976B2 (en) Musical score position estimating device, musical score position estimating method, and musical score position estimating robot
Yamada et al. A rhythm practice support system with annotation-free real-time onset detection
EP2633524B1 (en) Method, apparatus and machine-readable storage medium for decomposing a multichannel audio signal
Dixon On the computer recognition of solo piano music
US20050115382A1 (en) Method and apparatus for tracking musical score
Holzapfel et al. Three dimensions of pitched instrument onset detection
JP7448053B2 (en) Learning device, automatic score transcription device, learning method, automatic score transcription method and program
JP2015525895A (en) Audio signal analysis
US10504498B2 (en) Real-time jamming assistance for groups of musicians
CN110516102B (en) Lyric time stamp generation method based on spectrogram recognition
JP2002116754A (en) Tempo extraction device, tempo extraction method, tempo extraction program and recording medium
WO2015093668A1 (en) Device and method for processing audio signal
WO2013187986A1 (en) Systems, methods, apparatus, and computer-readable media for pitch trajectory analysis
JP2005292207A (en) Method of music analysis
WO2017057531A1 (en) Acoustic processing device
WO2022070639A1 (en) Information processing device, information processing method, and program
Özaslan et al. Attack based articulation analysis of nylon string guitar
Kokuer et al. Automatied detection of single-and multi-note ornaments in Irish traditional flute playing
Yeh et al. AutoRhythm: a music game with automatic hit-timing generation and percussion identification
Özaslan et al. Identifying attack articulations in classical guitar
Bonjyotsna et al. Analytical study of vocal vibrato and mordent of Indian popular singers
KR20120077757A (en) System for composing and searching accomplished music using analysis of the input voice
Elliott et al. Analysing multi-person timing in music and movement: event based methods
Müller et al. Tempo and Beat Tracking
Zhang Mobile Music Recognition based on Deep Neural Network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13899471

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 30/09/2016)

122 Ep: pct application non-entry in european phase

Ref document number: 13899471

Country of ref document: EP

Kind code of ref document: A1