I found out the format of samples in VOCALOID 2, 3 and 4 voicebanks. Now what?

  • Thread starter Deleted User
  • Start date
  • Views 17,455
  • Replies 22
  • Likes 3
D

Deleted User

Guest
OP
I was screwing around with some .DDB files from multiple VOCALOID voicebanks in Audacity, and in doing this I discovered the encoding and sample rate of the samples inside of the .DDB files. They all use 32 bit PCM encoding, have one channel, and have a sampling rate of 22050 Hz.
Before the samples, there's some chunk of data, I don't know what it is, but I'm guessing it's maybe a sample identifier of some sort, or something like that?
I don't really know what I should do now.
 
D

Deleted User

Guest
OP
Go past the chunk, dump everything in a new .wav file, and then have fun by separing samples one by one? :P
That's what I've been doing, but it'd be nice to be able to do more with the samples and stuff, like maybe replacing samples, but I don't think I'll be able to make a semi-functional voicebank edit just by doing that, in fact, the voicebank may not be functional at all.
 
  • Like
Reactions: Lycan911

myrsky

New Member
Newbie
Joined
Jan 16, 2020
Messages
4
Trophies
0
XP
53
Country
United States
I've been messing around with this lately in Audacity and a hex editor trying to figure out more about the .ddb. No guarantees any of this applies to anything but V3, as that's all I currently have access to. Here's what I've found:
The actual samples begin with SND (53 4E 44) and end with FRM2h, (46 52 4D 32 68 2C). If you take the stuff between those and put it in a new file, it will be just the samples.

I've also encountered FRM2 followed by other symbols, which seems to be related to something else, as they don't mark the end of samples, but I'm not yet sure what.

Edit: It might be a bit less straightforward than that, as I've been writing a program to extract samples from the .ddb and encountered some odd stuff. I have managed to use it to successfully extract a sample, but the program still needs a bit more work, and it might be a bit since I'm pretty new to coding.

Edit: Okay, disregard most of that stuff up there. It's only partially correct. Seems samples can end with FRM2-whatever, not just FRM2h,. Also, SND has to be at the beginning of the file for Audacity to read it properly as raw data, otherwise it's just static. Which doesn't make a lot of sense to me, but admittedly I have very little experience with this sound stuff.

Also, I can confirm that this applies to V2, V3, and V4 files. It works with V5 too, but the .ddb files are too big for my program to handle, and while I'm sure there's a way around that, I'm not good enough at this whole programming thing yet to know what it is.
Did anyone actually get this working? I'm having trouble with audacity importing it incorrectly.

The import settings should look like this:
audacity import.png

Edit: Depending on what version of Vocaloid you're working with, you might want to make sure you have the right .ddb, as some have other .ddb files. The one you want should be (vocaloid name).ddb.
 
Last edited by myrsky,
  • Like
Reactions: CV01

CV01

New Member
Newbie
Joined
Jan 29, 2020
Messages
2
Trophies
0
XP
33
Country
Japan
Edit: Ignore what I said below. Turns out I did import correctly and that static I was hearing was the chunk of data before the sample that OP was talking about. I'll mess around with the .ddb in a hex editor and if I can manage to separate the samples. If anyone know a more efficient way to do this, please let me know.

Sorry, I'm a little confused on what I'm supposed to do with the .ddb in the hex editor to get things imported into audacity correctly. I've been lurking around quite some time now and made an account just to ask since I'm attempting doing this. So far, all I've managed to do is import the .ddb with the above settings and get static, haha. I know I'm using the right .ddb since it says (vocaloid's name).ddb.

I'm sorry if I sound like a total noob.
 
Last edited by CV01,

myrsky

New Member
Newbie
Joined
Jan 16, 2020
Messages
4
Trophies
0
XP
53
Country
United States
If anyone know a more efficient way to do this, please let me know.
I finished writing that program. This should extract most, if not all (if it misses one, it'll probably be at the end) of the samples in a .ddb file, though you'll still have to import them as raw data in Audacity. I can't publish it and upload that since it's too big, so I'll just post the source.
Also, fair warning, this will fill whatever folder you run it in with a bunch of files. I was kind of surprised just how many there were, actually.

Edit: I might rewrite this in Python since that would probably be more convenient for people. Either way, I'm going to work on saving the samples as .wav.
 

Attachments

  • ddbextractor.7z
    1.3 KB · Views: 693
Last edited by myrsky,

CV01

New Member
Newbie
Joined
Jan 29, 2020
Messages
2
Trophies
0
XP
33
Country
Japan
I have an idea! Lets open a github for vocaloid sample manipulation! It'd be really cool what we might be able to do with the samples. I've been really interested in making a TTS Miku program or better yet, A Miku Voice Assistant though I have no idea how this would work.
I think that's a lovely idea! :D Just as long as we're not distributing the samples, that should be okay legally! I've seen nothing against that in the ToU, iirc. ^u^
Because my account is new just copy and paste that. They don't let me post links. :(
discord.gg/FzB49rq
That's also a really great idea! ^u^ I may consider joining, but I don't know the first thing about coding. ^^"
 

X3113

New Member
Newbie
Joined
Dec 20, 2020
Messages
1
Trophies
0
Age
25
XP
46
Country
United States
can someone help me how to use this program to convert them? I really don't know what to do ><

--------------------- MERGED ---------------------------

I finished writing that program. This should extract most, if not all (if it misses one, it'll probably be at the end) of the samples in a .ddb file, though you'll still have to import them as raw data in Audacity. I can't publish it and upload that since it's too big, so I'll just post the source.
Also, fair warning, this will fill whatever folder you run it in with a bunch of files. I was kind of surprised just how many there were, actually.

Edit: I might rewrite this in Python since that would probably be more convenient for people. Either way, I'm going to work on saving the samples as .wav.

how can I use this?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: good night