Previous Thread
Index
Next Thread
Print Thread
Go To
Page 1 of 2 1 2
Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
When BiaB generates a MusicXML file for Sinsy, it creates the note and rest durations the same as the BiaB playback. And by default, BiaB generates rests after every non-tied note.

After. Every. Single. Note.

This is wrong for singing synthesis for a number of reasons.

Consider the case of a hyphenated word, such as "HAP-PY". Instead of writing:

HAP- PY

BiaB instead writes:

HAP- [rest] PY

This is obviously wrong. But even putting a rest after each word is wrong:

THIS [rest] AND [rest] THAT

This is partly because there's a lot of co-articulation in singing. If there are rests after every word, it's not going to sound right.

But there's a more subtle problem here. A note doesn't indicate where the syllable starts, but where the vowel of that syllable starts. That means if you have something like this:

[rest] THIS AND THAT

The consonants actually fall on the prior note's timespan:

[rest]+TH IS AND+TH AT

This works great, even if the prior music event was a rest (like it is above). But in order to fit the consonants onto the prior note's timespan, the prior note (or rest) needs to be shortened. With consonants, this is done by shortening the duration of the vowel.

But what if the prior event was a very, very short rest? Whatever doesn't fit is going to be truncated:

[rest]+TH IS [rest] AND (truncated TH) AT

So for the purposes of generating Music XML for vocal synthesis programs to process, BiaB should export the notation as it appears, not as it is played.


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: May 2000
Posts: 38,502
M
Mac Offline
Veteran
Offline
Veteran
M
Joined: May 2000
Posts: 38,502
I would want to try sending a file created in a different program to Sinsy and see what returns.


--Mac

Band-in-a-Box for Windows
Joined: Dec 2013
Posts: 2,732
Veteran
Offline
Veteran
Joined: Dec 2013
Posts: 2,732
...or simply open the XML file in Notepad and manually edit it. This of course could be very tedious and time consuming.




Steve

BIAB/RB 2022, Pro Tools 2020, Korg N5, JBL LSR 4328 Powered Monitors, AKG/Shure Mics.
PC: Win11 PRO, 4 TB M2 SSD, 2 TB HD, 128 GB Memory
Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
I should have clarified that I'm not looking for a workaround for this. I probably should have submitted this as a bug report instead of posting it to the forum - sorry! blush

I could edit the MusicXML file by hand and remove the rests, manually adding the time to the preceding note. That would be an interesting experiment, to see if it helped Sinsy generate better output. I'll probably do that if I get some spare time.

But my current project is a home-brew voice synthesis program, and I figured it would be neat if it could read BiaB's Music XML files directly.

For that, I've come up with a workaround where a rest following a note is automatically assigned to the prior note's duration if the duration is below a certain threshold. It's not optimal, but it works.

I'm just noting that understanding Sinsy's output is already difficult, and the addition of rests isn't likely to make the behavior any better. Plus, fixing this would make my life a bit easier. wink


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: May 2000
Posts: 38,502
M
Mac Offline
Veteran
Offline
Veteran
M
Joined: May 2000
Posts: 38,502
Well, the reason for my question has to do with isolating where exactly these rests emanate from.

Years of exporting MIDI from BB and I've never encountered such rests, so I'm thinking that it might be something that Sinsy does.


--Mac

Band-in-a-Box for Windows
Joined: May 2000
Posts: 38,502
M
Mac Offline
Veteran
Offline
Veteran
M
Joined: May 2000
Posts: 38,502
Just though of something that may be important here.

Check to see if Sinsy is looking for Note Off data.

When the MIDI Standard was written, they included both Note On and Note Off as part of the data stream available.

But they also included Note Duration value.

The greater majority of programs today no longer even bother with the Note Off data, since it is redundant if the Note Duration is sent.

But that Note Off is still part of the MIDI Standard and a programmer who uses what the standard says at face value doesn't realize that, they could write something that is looking for a Note Off value after every Note On...

Perhaps not receiving the Note Off, its coded to use the Rest as a timeout alternative. eek.


HTH,


--Mac

Band-in-a-Box for Windows
Joined: Jul 2000
Posts: 26,991
Veteran
Offline
Veteran
Joined: Jul 2000
Posts: 26,991
David, first, thank you for your work and continuing interest in Music XML.

If I follow your first paragraph correctly, the Music XML is being produced accurately; it's the way BIAB handles this that is in need of examination. I'm just guessing, but what you describe sounds like a description of how mouse-based data entry works in BIAB, which many of us particularly love over how this is implemented in other software. Of course, we see threads periodically in which someone who doesn't understand asks how to do or not do a tie.

I hope PG Music continues to work on exporting Music XML not just for Sinsy. I only request that it not change the data entry method, assuming I am even correct it's related to what you describe.


BIAB 2025 Win Audiophile. Software: Studio One 7 Pro, Swam horns, Acoustica-7, Notion 6, Song Master Pro, Win 11 Home. Hardware: Intel i9, 32 Gb; Roland Integra-7, Presonus 192 & Faderport 8, Royer 121, Adam Sub8 & Neumann 120 monitors.
Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
I believe that BiaB has always automatically "humanized" the MIDI playback of notation, since the DOS version.

Most music notation programs automatically quantize this difference away for you. But go ahead and open a MIDI track generated by BiaB in RealBand, and you'll see the gaps between the notes. (There is obviously no MIDI instruction for "rest" wink ).

So it's not surprising that the MusicXML file that BiaB generates has the same behavior. You can open up the MusicXML file that BiaB generates yourself and have a look. It's at:

<path to BB>\Data\SRequest\Sound.XML

The <note> tag is used for both pitches and rests. A rest event is indicated by a <rest/> tag, embedded in the <note> hierarchy.

It would be nice if BiaB didn't do this in the first place, even with MIDI. If there's a way to turn this off, I'd appreciate knowing about it! smile


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
Hi, Matt.

Thanks, I think the addition of accurate MusicXML will be a great benefit for many BiaB users.

See my explanation above - the MIDI and MusicXML that BiaB generates from notation is not "accurate", in that what is generated does not reflect the notation.

On further thought, I suspect that it's a holdover back when to ensure that monophonic synths got the MIDI NoteOff instruction before sending the NoteOn.

In any event, while most software programs hide these details, it becomes problematic when working with other applications that expect the MusicXML to accurately reflect the original notation.


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: May 2000
Posts: 38,502
M
Mac Offline
Veteran
Offline
Veteran
M
Joined: May 2000
Posts: 38,502
Originally Posted By: dcuny
...the MIDI and MusicXML that BiaB generates from notation is not "accurate", in that what is generated does not reflect the notation.


Band in a Box does not generate any Music XML at this point in time.

To the best of my knowledge, Band in a Box does not create nor send Note Off data, either. Hence the commonly found stuck synth on strings and other pads when someone hits Stop before the Duration value has ended.

We send the file to the Sinsy site and that is where the Music XML generation actually comes from.

And I'm thinking that whoever coded the Sinsy site likely used the easily obtainable Standard MIDI File Reference, which still has that almost entirely unused Note Off designation listed from when it was first written.

I haven't seen a MIDI file with Note Off data in it that was written since sometime around the mid 80s...


--Mac

Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
Hi, Mac.

MusicXML allows for what's essentially two different streams of information: the notation of the music, and the playback. The second is essentially equivalent to embedding MIDI information.

BiaB only generates the first (which is good).


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: May 2000
Posts: 38,502
M
Mac Offline
Veteran
Offline
Veteran
M
Joined: May 2000
Posts: 38,502
And the MIDI that BiaB generates, at least all of it which I've ever examined, which is actually considerable over the years, contains no Note Offs in it.

Do you have an example of any MIDI exported from BB that does?


If so, I'd like to see a copy of that file.


--Mac

Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
Answering my own question here...

In the Notation view, there is an Opt. button. Pressing that brings up the Notation Window Options.

Pressing the More... button the Other Notation Options, which includes Inserted Note Defaults.

The default duration for notes is 80%.

Simple to fix, right? smile

Unfortunately, not entirely. frown

First of all, setting it to 100% only effects notes added after the change. So you can't fix prior notation by changing things.

That's not really a big deal.

However, BiaB still generates a generates rests (of duration 1, the smallest tick size).

So if I set this, I can filter the rests with much more confidence.

But... The behavior is still wrong, because the rests shouldn't be in the MusicXML at all. eek


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
Hi, Mac.

Originally Posted By: Mac
And the MIDI that BiaB generates, at least all of it which I've ever examined, which is actually considerable over the years, contains no Note Offs in it.


SynthFont reports that the MIDI file BiaB generated is filled with NoteOff events. I don't have a hex editor handy, so I can't verify that it's mis-reporting NoteOn events with a velocity of zero (which are functionally equivalent) as NoteOff events.

Am I missing something here?


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: Jul 2000
Posts: 26,991
Veteran
Offline
Veteran
Joined: Jul 2000
Posts: 26,991
Originally Posted By: Mac

Band in a Box does not generate any Music XML at this point in time.

...

We send the file to the Sinsy site and that is where the Music XML generation actually comes from.

--Mac

From my testing, I'm not sure that is correct. The very first thing that happens when you click on the Vocal Synth button in BIAB is that a file, Sound.XML is created in the folder /bb/Data/SRequest

This file appears immediately, well before the Sinsy site completes or maybe even begins its work. It seems to happen so fast that I doubt it is a file being returned by the Sinsy site, but I could be wrong.

Once Sinsy has finished, another file called sound.WAV will appear in that same folder. You can see the difference in the time stamps is a minute or two. There are two other files, SRequest Input and Output that show the same time stamp difference.

EDIT. To test this, I disconnected my Internet connection. BIAB gave me an error message that it could not process the SRequest, but it did create the Sound.XML file. Thus, BIAB is generating Music XML.

Last edited by Matt Finley; 02/17/14 02:26 PM.

BIAB 2025 Win Audiophile. Software: Studio One 7 Pro, Swam horns, Acoustica-7, Notion 6, Song Master Pro, Win 11 Home. Hardware: Intel i9, 32 Gb; Roland Integra-7, Presonus 192 & Faderport 8, Royer 121, Adam Sub8 & Neumann 120 monitors.
Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
Ah, I just downloaded MidiYodi, and (unlike SynthFont) it shows the events as NoteOn with velocity of zero.

So, you're correct - no NoteOff events. I shouldn't have assumed the SynthFont was reporting the right information, but done a hex dump myself and checked it out myself.

Foolish me. shocked

Mind you, NoteOff and NoteOn with a velocity of zero should be functionally equivalent, but whatever.

MIDI is a red herring here.

Last edited by dcuny; 02/17/14 02:17 PM.

-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: May 2000
Posts: 38,502
M
Mac Offline
Veteran
Offline
Veteran
M
Joined: May 2000
Posts: 38,502
Jes' tryin' ta hep...


grin

Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
Originally Posted By: Matt Finley
The very first thing that happens when you click on the Vocal Synth button in BIAB is that a file, Sound.XML is created in the folder /bb/Data/SRequest


That's correct. For my purposes, I'm working with the MusicXML file directly, and it's never being transmitted to Sinsy.

So here's my summary at this point:

  • The duration displayed in the Notation editor does not always match the playback duration.
  • Most users are unaware of this default duration.
  • This duration is used for creating MIDI and MusicXML output.
  • By default, in Notation mode BiaB creates notes with a playback duration of 80%.
  • This default duration can be changed to 100%.
  • Changing the default duration will not change notes already entered.
  • Even with the setting of duration to 100%, BiaB generates small rests in MusicXML output.
  • Even minute rests between notes in MusicXML can be problematic for vocal synthesis programs.


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Band-in-a-Box for Windows
Joined: Jul 2000
Posts: 26,991
Veteran
Offline
Veteran
Joined: Jul 2000
Posts: 26,991
David, your good work should be brought to the attention of Peter Gannon.


BIAB 2025 Win Audiophile. Software: Studio One 7 Pro, Swam horns, Acoustica-7, Notion 6, Song Master Pro, Win 11 Home. Hardware: Intel i9, 32 Gb; Roland Integra-7, Presonus 192 & Faderport 8, Royer 121, Adam Sub8 & Neumann 120 monitors.
Band-in-a-Box for Windows
Joined: Sep 2010
Posts: 7,538
dcuny Online Content OP
Veteran
OP Online Content
Veteran
Joined: Sep 2010
Posts: 7,538
Originally Posted By: Mac
Jes' tryin' ta hep...
grin

And the help is appreciated!

OK, back to coding...


-- David Cuny
My virtual singer development blog

Vocal control, you say. Never heard of it. Is that some kind of ProTools thing?
Previous Thread
Next Thread
Go To
Page 1 of 2 1 2

Link Copied to Clipboard
ChatPG

Ask sales and support questions about Band-in-a-Box using natural language.

ChatPG's knowledge base includes the full Band-in-a-Box User Manual and sales information from the website.

PG Music News
Video: Band-in-a-Box® 2025 for Mac®: VST3 Plugin Support

Band-in-a-Box® 2025 for Mac® now includes support for VST3 plugins, alongside VST and AU. Use them with MIDI or audio tracks for even more creative possibilities in your music production.

Band-in-a-Box® 2025 for Macs®: VST3 Plugin Support

Video: Band-in-a-Box® 2025 for Mac®: Using VST3 Plugins

Join the conversation on our forum.

Band-in-a-Box 2025 for Mac Videos

With the release of Band-in-a-Box® 2025 for Mac, we’re rolling out a collection of brand-new videos on our YouTube channel. We’ll also keep this forum post updated so you can easily find all the latest videos in one convenient spot.

From overviews of new features and walkthroughs of the 202 new RealTracks, to highlights of XPro Styles PAK 8, Xtra Styles PAKs 18, the 2025 49-PAK, and in-depth tutorials — you’ll find everything you need to explore what’s new in Band-in-a-Box® 2025.

Reference this forum post for One-Stop Shopping of our Band-in-a-Box® 2025 Mac Videos — we’ll be adding more videos as they’re released!

Band-in-a-Box 2025 for Mac is Here!

Band-in-a-Box® 2025 for Mac is here, packed with major new features and an incredible collection of available new content! This includes 202 RealTracks (in Sets 449-467), plus 20 bonus Unreleased RealTracks in the 2025 49-PAK. There are new RealStyles, MIDI SuperTracks, Instrumental Studies, “Songs with Vocals” Artist Performance Sets, Playable RealTracks Set 4, two new sets of “RealDrums Stems,” XPro Styles PAK 8, Xtra Styles PAK 19, and more!

Special Offers
Upgrade to Band-in-a-Box® 2025 for Mac with savings of up to 50% on most upgrade packages during our special—available until July 31, 2025! Visit our Band-in-a-Box® packages page for all the purchase options available.

2025 Free Bonus PAK & 49-PAK Add-ons
We've packed our Free Bonus PAK & 49-PAK with some incredible Add-ons! The Free Bonus PAK is automatically included with most Band-in-a-Box® for Mac 2025 packages, but for even more Add-ons (including 20 Unreleased RealTracks!) upgrade to the 2025 49-PAK for only $49. You can see the full lists of items in each package, and listen to demos here.

If you have any questions, feel free to connect with us directly—we’re here to help!

Band-in-a-Box 2025 Italian Version is Here!

Cari amici
È stata aggerate la versione in Italiano del programma più amato dagli appassionati di musica, il nostro Band-in-a-Box.
Questo è il link alla nuova versione 2025.

Di seguito i link per scaricare il pacchetti di lingua italiana aggiornati per Band-in-a-Box e RealBand, anche per chi avesse già comprato la nuova versione in inglese.

Band-in-a-Box 2025 - Italiano
RealBand 2025 - Italiano

Band-in-a-Box 2025 French Version is Here!

Bonjour à tous,

Band-in-a-Box® 2025 pour Windows est disponible en Français.
Le téléchargement se fait à partir du site PG Music

Pour ceux qui auraient déjà acheté la version 2025 de Band-in-a-Box (et qui donc ont une version anglaise), il est possible de "franciser" cette version avec les patchs suivants:

BIAB 2025 - francisation
RealBand 2025 - francisation

Voilà, enjoy!

Band-in-a-Box 2025 German Version is Here!

Band-in-a-Box 2025 für Windows Deutsch ist verfügbar!

Die deutsche Version Band-in-a-Box® 2025 für Windows ist ab sofort verfügbar!

Alle die bereits die englische Version von Band-in-a-Box und RealBand 2024 installiert haben, finden hier die Installationsdateien für das Sprachenupdate:

https://nn.pgmusic.com/pgfiles/languagesupport/deutsch2025.exe
https://nn.pgmusic.com/pgfiles/languagesupport/deutsch2025RB.exe

Update Your Band-in-a-Box® 2025 to Build 1128 for Windows Today!

Already using Band-in-a-Box 2025 for Windows®? Download Build 1128 now from our Support Page to enjoy the latest enhancements and improvements from our team.

Stay up to date—get the latest update now!

Forum Statistics
Forums58
Topics84,178
Posts776,094
Members39,591
Most Online25,754
Jan 24th, 2025
Newest Members
Siggi D, Logogogue, NGS, lduf, ghghtyy
39,590 Registered Users
Top Posters(30 Days)
MarioD 149
zedd 113
DC Ron 84
WaoBand 80
rsdean 78
nonchai 68
Today's Birthdays
Rusty Wilson
Powered by UBB.threads™ PHP Forum Software 7.7.5