New test version

All about the development and use of SynthFont2
ray890
Posts: 40
Joined: Tue Mar 17, 2015 4:27 pm
Contact:

Re: New test version

Post by ray890 »

Re-producing the hanging bug that I found should be simple. All you need to do is de-select the "Use Multiple Cores for playback" option, start playback of a MIDI, then seek forward or backwards, usually by clicking "forward to next bar" multiple times (any form of seeking seems to trigger it), then audio will stop working and the program will refuse to stop or close until you kill the process manually.

I've tested your SyFonOne 1050b, and found it to be great, other than one major bug; when using the SGM_V2.01.sf2 soundfont (and possibly certain others), certain MIDI Programs produced very choppy or broken sound (eg. 000, 001, 007, 022, 064, 075, 098). It doesn't have the MIDI IN issues that I'm currently having with SynthFont. While the input polyphony limit is a very good option to have, I'd like to be able to say a custom number in there or at least have more higher options, as I found even 500 to not be enough sometimes.

Speaking of MIDI programs, I found that changing MIDI Program of multiple tracks at once in SynthFont only changed one of them (exact same problem as with the channels that you've fixed earlier). Also it would be helpful to see the ability to change "Channel" and "MIDI Options" during playback.
Last edited by ray890 on Thu Mar 26, 2015 4:30 am, edited 1 time in total.
Admin
Site Admin
Posts: 671
Joined: Tue Mar 17, 2015 9:22 am

Re: New test version

Post by Admin »

Great!
Elven Spellmaker
Posts: 37
Joined: Tue Mar 17, 2015 3:02 pm

Re: New test version

Post by Elven Spellmaker »

I have some problems with the MIDIs on this page (at least the Black Holes & Revelations ones, such as City of Delusion) if you choose to NOT split the MIDI channels when it asks to.

In 012O it stops playing after a few bars, and in 012R it gives up playing sound after a few bars (and hangs SynthFont when you try to stop).
Admin
Site Admin
Posts: 671
Joined: Tue Mar 17, 2015 9:22 am

Re: New test version

Post by Admin »

Rrright... Which page?
Elven Spellmaker
Posts: 37
Joined: Tue Mar 17, 2015 3:02 pm

Re: New test version

Post by Elven Spellmaker »

Admin wrote:Rrright... Which page?
Whoops!

http://www.midialternative.com/muse/

Here is the link. =)
Admin
Site Admin
Posts: 671
Joined: Tue Mar 17, 2015 9:22 am

Re: New test version

Post by Admin »

Ok, here is the new test version:
https://dl.dropboxusercontent.com/u/173 ... t2012U.rar
  • MIDI input issues since 2.0.1.1 - not solved. As said before, I will leave it for later.
  • Changing song tempo during playback - Well, I haven't really been able to reproduce it so the error must be small? Leave for now.
  • Reaction to Pitch Bend events are a little too strong - This particular example song doesn't have Pitch Bend but makes use of Posrtamento (More about this below)
  • Changing Sample Rate causes pitch to change in audio output - fixed
  • Switching between large soundfonts during speaker playback - naw ... can't see that happening.
  • Elven's problematic files - solved
Some words about the implementation of Portamento:
Set Portamento ON or OFF using CC#65. A value >64 sets it ON.
You must set Portamento Time (CC#5) to a value > 0 to use Portamento.
The CC#5 sets a factor which is used to calculate the actual time for the transition, PT, using the distance between the start note value (PSN) and the destination note value:
PT = CC#5factor x Abs(PSN-Destination)
Image
In this graph, the Y axis is equal to the factor while the X axis is equal to CC#5 value. The smaller the CC#5 is, the faster is the transition (0=immediate).

A NOTE OFF event always stores the note value as a "Portamento Start Note" (PSN). BUT: If the note being closed is itself running in a Portamento phase then the value stored in PSN is the value reached so far and not the specified value.

When the next note is initiated this happens: if the PSN value is set, it will be taken as the initial value for the new note. Based on the Portamento Time value a number of parameters will be calculated for the change in pitch during the running of the note. The goal is to reach the note value specified for the note within this time. This may be impossible if the note is very short.

There is another way to specify the PSN value: use CC#84, Portamento Control, to set the value directly without using any intermediate (start) note.
Admin
Site Admin
Posts: 671
Joined: Tue Mar 17, 2015 9:22 am

Re: New test version

Post by Admin »

Forgot to mention that in "U" all threads are now always running with normal priority.
Elven Spellmaker
Posts: 37
Joined: Tue Mar 17, 2015 3:02 pm

Re: New test version

Post by Elven Spellmaker »

The new version plays those files now without splitting, which is great, except, it seems to randomly drop loads of notes, I'm not sure why (listen to the 'cityofdelusion.mid' without splitting and you'll hear dropped notes where notes are visible).

I'm not sure if these correspond with the notes Synthfont wanted to split or not, but I have a feeling it might be.

EDIT: It does seem to be those notes from quick analysis.
Also the pitch bend is completely wrong in this version, for those files at least!

I'm about to leave work now, but I'll try to get samples later. =)


EDIT: U seems to crash when I close it, but it closes before I can see any error, also, of note, it splits tracks differently to R. R seems to create a lot of empty tracks, whereas U only creates tracks which were 'playable' before.
ray890
Posts: 40
Joined: Tue Mar 17, 2015 4:27 pm
Contact:

Re: 2.0.1.2 "U"

Post by ray890 »

Here's a video demonstrating the three bugs you couldn't reproduce, along with one I forgot to re-cap in the last post: https://drive.google.com/open?id=0B2mBT ... TV3NnpGMlk

Also, I found four more bugs:
  • Issues with rapidly seeking large (million+) MIDI files during playback [Try rapidly ctrl+clicking 'forward to next bar'] (Since 2.0.1.1)
  • Voice limit setting changed in previous MIDI file does not carry over to playback of the next file (Since 2.0.1.2S)
  • Pressing the mini play button during "sorting events" causes hanging (Since 2.0.1.2S)
  • MIDI File specific errors: Both Bad apple and Anti-Chlorobenzene 1 million cannot be rendered/heard properly
    (For bad apple, try with and without splitting tracks, and you will get two different forms of rendering problems)
Edit: Oh and three more things,
- In the status bar message that comes at the end of audio conversions (mean cpu=, max voices.etc), I'd like to see a Render time count and the note/voice counts to be digit-grouped
- Multitasking stability is great now by you setting thread priorities to normal! But only after I set the Synthfont2012U.exe process priority to Normal too. I saw no real decrease render time by doing this.
- Just curious, but compared to 2.0.1.2P, does this version have dynamic range compression or something? I just re-did a MIDI render in this version and it seemed like the peaks were compressed a little by itself. If so, can this be an optional feature that can be checkbox-togglable, like over by the Normalize Max Peak checkbox? I prefer to do all the compression manually with my audio editor in post to get the best sounding results.
Last edited by ray890 on Sun May 24, 2015 4:42 am, edited 1 time in total.
ray890
Posts: 40
Joined: Tue Mar 17, 2015 4:27 pm
Contact:

Re: 2.0.1.2 "U"

Post by ray890 »

I've been using and testing 2.0.1.2U further today, and I've discovered 5 more bugs:
  • Percussion channels are treated as non-percussion when using a soundfont with no percussion presets (Since 2.0.1.1)
  • Editing (renaming, deleting.etc) MIDITracks larger than 10,000 notes triggers an error and causes instability (Since 2.0.1.2S)
  • Playing an empty MIDI file causes the program to crash (Since 2.0.1.2S)
  • This MIDI file causes hanging when you tell it to split tracks (Since 2.0.1.2U)
  • Scrolling in the MIDITrack list causes checkboxes to get out of alignment and other GUI issues (Since 2.0.1.2U)

Also, I just learned what the "Set Preset" window is about (when encountering a soundfont change without a MIDI program match).
- Can you modify what the dialog box shows a little so it makes more sense to the user?
- It'd also be a good idea to have it contain the MIDI Program # and name/instrument that the user needs to find a replacement preset for.
- There could maybe even be a None [mute] option in the box too (at least make that an option for sure when dealing with percussion tracks).
Post Reply