|
@@ -678,14 +678,6 @@ public class UserChannelContext {
|
|
|
double correctedStartTime = queryFirstNoteStartTime(chunkAnalysisList, musicXmlNote, floatingRange);
|
|
|
double correctedEndTime = correctedStartTime + musicXmlNote.getDuration();
|
|
|
|
|
|
- // 颤音频率只要有一个符合 就符合
|
|
|
- if (musicXmlNote.isOrnament()) {
|
|
|
- for (ChunkAnalysis chunkAnalysis : chunkAnalysisList) {
|
|
|
- if (Double.valueOf(chunkAnalysis.getFrequency()).intValue() == Float.valueOf(musicXmlNote.getFrequency()).intValue()) {
|
|
|
- return Float.valueOf(musicXmlNote.getFrequency()).intValue();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
//重新计算延迟
|
|
|
dynamicOffset = correctedStartTime - musicXmlNote.getTimeStamp();
|
|
|
dynamicOffset = dynamicOffset < 0 ? 0 : dynamicOffset;
|
|
@@ -699,6 +691,16 @@ public class UserChannelContext {
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
+ // 颤音频率只要有一个符合 就符合
|
|
|
+ if (musicXmlNote.isOrnament()) {
|
|
|
+ for (ChunkAnalysis chunkAnalysis : chunkAnalysisList) {
|
|
|
+ NoteFrequencyRange noteFrequencyRange = new NoteFrequencyRange(standardFrequecy, musicXmlNote.getFrequency());
|
|
|
+ if((noteFrequencyRange.getMinFrequency() < chunkAnalysis.getFrequency() && chunkAnalysis.getFrequency() < noteFrequencyRange.getMaxFrequency())){
|
|
|
+ return Float.valueOf(musicXmlNote.getFrequency()).intValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
ChunkAnalysis firstChunkAnalysis = chunkAnalysisList.get(0);
|
|
|
|
|
|
LOGGER.debug("------Pitch------startTime:{} endTime:{}------", firstChunkAnalysis.getStartTime(), chunkAnalysisList.get(chunkAnalysisList.size() - 1)
|