|
@@ -829,6 +829,17 @@ public class UserChannelContext {
|
|
|
if(chunkAnalysisList == null || chunkAnalysisList.size() == 0){
|
|
|
return musicXmlNote.getTimeStamp() + dynamicOffset;
|
|
|
}
|
|
|
+
|
|
|
+ //判断是否与上一个音是同一个音符
|
|
|
+ MusicXmlNote preMusicXmlNote = getCurrentMusicNote(null, musicXmlNote.getMusicalNotesIndex() - 1);
|
|
|
+ if((int)preMusicXmlNote.getFrequency() == (int)musicXmlNote.getFrequency()){
|
|
|
+ Optional<ChunkAnalysis> optional = chunkAnalysisList.stream().filter(t -> t.getFrequency() <= 100).findFirst();
|
|
|
+ if(optional.isPresent()){
|
|
|
+ return optional.get().getEndTime();
|
|
|
+ }else{
|
|
|
+ return musicXmlNote.getTimeStamp() + dynamicOffset;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
NoteFrequencyRange standardNote = new NoteFrequencyRange(standardFrequecy, musicXmlNote.getFrequency());
|
|
|
|