diff --git a/src/sfizz/FileMetadata.cpp b/src/sfizz/FileMetadata.cpp index e57f70d5..dff53ac3 100644 --- a/src/sfizz/FileMetadata.cpp +++ b/src/sfizz/FileMetadata.cpp @@ -263,7 +263,7 @@ bool FileMetadataReader::extractRiffInstrument(SF_INSTRUMENT& ins) ins.gain = 1; ins.basenote = extractU32(0x14 - 8); ins.detune = static_cast( // Q0,32 semitones to cents - (static_cast(extractU32(0x18 - 8)) * 100) >> 32); + std::lround(extractU32(0x18 - 8) * (100.0 / (static_cast(1) << 32)))); ins.velocity_lo = 0; ins.velocity_hi = 127; ins.key_lo = 0;