all
a
/
b
/
c
/
f
/
h
/
j
/
jp
/
l
/
o
/
q
/
s
/
sw
/
lounge
cgi
up
wiki
Heyuri!
Bulletin Boards
2D Cute
2D Ero
2D Lolikon
3D Girls
Anime/Manga
Flash
Girl Talk
日本語/Japan
Lounge
Oekaki
Off-Topic
Site Discussion
Strange World
Overboard
Heyuri★CGI
Heyuri★CGI
@PartyII
Battle Royale R
Chat
Chinsouki★
Dating
DevChat
Drama Club
Hakoniwa Islands PvE
Hakoniwa Islands PvP
Polls
Slime Breeder
Web Banana
Web Shiritori
Yumemiru Gambler
Kakiko Checker
Other
Anime Nominations
Banners
Cytube
Heyuri Calendar
Heyuri Wiki
MAL Club
Museum
Steam Group
Uploader
[
Settings
]
[
Home
] [
Contact
] [
Catalog
] [
Search
] [
Thread list
] [
Stats
] [
Reports
] [
Watcher
] [
PMs
] [
Banners
] [
Admin
]
Main
Up to Heyuri.net
Hide nav
Bulletin boards
2D Cute
2D Ero
2D Lolikon
3D Girls
Anime/Manga
Lounge
Flash
Girl Talk
日本語/Japan
Oekaki
Off-Topic
Site Discussion
Strange World
Overboard
Misc.
Anime Nominations
Banners
Heyuri★CGI
Museum
Uploader
Jukebox
External
Cytube
MAL Club
Steam Group
#heyuri@Rizon
Style:
Random
Sakomoto
Heyuri Classic
Futaba
Burichan
Fuuka
Gurochan
Photon
Tomorrow
Ayashii
Mercury
Import custom
Submit board banners here.
Off-Topic@Heyuri
it's the place to be!
[
Return
] [
Bottom
]
Posting mode: Reply
Name
E-mail
sage
noko
dump
Subject
Post
Comment
Tegaki
Emotes
Kaomoji
ヽ(´ー`)ノ
(;´Д`)
ヽ(´∇`)ノ
(´人`)
(^Д^)
(´ー`)
( ´,_ゝ`)
(´~`)
(;゚Д゚)
(;゚∀゚)
┐(゚~゚)┌
ヽ(`Д´)ノ
( ´ω`)
(゚ー`)
(・∀・)
(⌒∇⌒ゞ)
(゚血゚#)
(゚ー゚)
(´¬`)
(´π`)
ヽ(゚ρ゚)ノ
Σ(;゚Д゚)
Σ(゚д゚|||)
キタ━━━(・∀・)━━━!!
(*゚∀゚)
( ̄ー ̄)
\(^o^)/
(´・ω・`)
(σ・∀・)σ
(*^ー゚)b
(-_-)
(=゚ω゚)ノ
(・A・)
( ´∀`)つ
(@^▽^)/
Emoji
BBCode
B
I
U
S
Spoiler
Quote
Scroll
Code
C
o
l
o
r
Size
ASCII
File
Password
(for deletion)
Allowed file types are: gif, jpg, jpeg, png, bmp, webp, swf, webm, mp4
Maximum file size allowed is 50000 KB.
Images greater than 200 * 200 pixels will be thumbnailed.
53
unique users in the last 10 minutes (including lurkers)
Switch form position
|
BBCode reference
|
Banned?
|
Quick reply
|
Post API
Read the
rules
before you post.
Protect your username, use a
tripcode!
日本のへゆり
2026-09-23
-
*´Д`) < i'm gay, i admit it!)
2026-08-14
-
meow
2026-08-13
-
Kaotype, kaomoji at your fingertips
2026-08-10
-
Hot OL x Peanut Butter Cracker
[
Show all
]
We will have an Halloween Stream on this Saturday 19:00 UTC [
Info
] [
Countdown
]
Want your banner here? Click here to submit yours!
File:
IMG_6526.jpeg
(579 KB, 1861x1442)
[
ImgOps
]
ImgOps
Hide image
▶
QueueSevenM
◆Tnq5UWtkfs
[
PM
]
2026/10/28
(Wed)
04:10:45
No.
198092
[
Edit
]
[
Report
]
+
[OP tools off]
AS
[
Thread tools
]
[
Edit
] [
Report
]
▶
Hello,
As you may know, I am working on a project relating to voice signal processing. There several goals to this project. One is creating a general voice signal processing software library; another is creating a realistic singing voice synthesizer based on said library. However, a side project of this project has been recreating the VOCALOID2 synthesis engine.
Previously, I have discussed this, but I had yet to really attempt it specifically. Recently though, I made a breakthrough that has been an impetus towards actually doing it. This breakthrough was not a scientific breakthrough, but simply something I found about. Previously, I did not attempt this because I realized I'd actually need to obtain the VOCALOID2 software to have a good chance at doing this. Previously, I had hoped that I'd be able to find clean raw audio of VOCALOID2 output online and compare it to my results. However, I quickly realized this was not enough. First, I couldn't actually find that much. Although the little I did find was quite helpful (it was the basis of my last post on pitch and dynamics models), I quickly realized I'd need a lot more, and would need agency to test specific things. Furthermore, I'd need the specific database to test.
The VOCALOID2 software has not been available for sale for over a decade. One option would be to order a physical copy, but these are hard to come by. Besides, it requires internet activation to install, which cannot work now since the activation servers have been shut down. Although some voice libraries are still available, these require the software itself as a prerequisite.
However, I found out after some research that apparently demo versions of voice libraries actually come bundled with a limited version of the actual software. It seemed unlikely though that any of these would still be available. However, after a quick search I found one that was surprisingly still available. After signing up, I was able to download it.
Indeed, it did not require online activation. However, the installer would fail to start, without giving any error message. I tried just about every trick in the book, however none worked. I even tried
https://github.com/lifenjoiner/ISx
as an attempt to directly extract files to install manually, but that also wouldn't work. Finally, I moved the installer out of the directory it came in, which contained invalid characters. I thought I had already tried this, but it seems I hadn't, because it worked perfectly following this.
So recently, I have been working on the VOCALOID2 recreation. The basic idea was to implement it based on papers and patents, implementing several possible variations in cases of uncertainty. The VOCALOID2 software would be used as a reference to compare the outputs to, and also to decide the few things that weren't really mentioned in papers or patents. The latter was basically just the pitch and dynamics model, which is the single most transparent thing since it can be analyzed just by analyzing the resulting synthesis audio.
Already, a database parser has been implemented in C, that parses the VOCALOID2 database format. That format seems to be known as DaisyDB, according to figures in Bonada's PhD thesis, so I have named it accordingly. Although I expected the process to be a huge hassle, it actually turned out to be surprisingly easy. Basically, just by spending a couple days in a hex editor, and cross referencing it with papers and patents, I was able to decipher pretty much the entire format. The parser can already parse whole databases without issue, and there are only a handful of fields whose use is not yet known, many of which I expect will be resolved in due time.
Anyway, the main focus of this post is something I just realized something about the frequency-warping rendering variant of the Spectral Peak Processing algorithm (alternative strategy 4/e, p. 89 of "Voice Processing and Synthesis by Performance Sampling and Spectral Models,
https://www.tdx.cat/bitstream/handle/10803/7555/tjbs.pdf).
This is of significance because I suspect that variant may have been used in VOCALOID2. This is for several reasons. First, it is the only one of those alternative rendering strategies that was patented ("Pitch converter", Bonada et al, JP4840141B2; now-expired)*, and said patent was filed in 2004. The latter detail is important, because I have already deduced that the VOCALOID2 engine must have been completed from between late 2004 and early. This can be seen from two angles.
*A later patent ("Singing composition device and singing composition program"; Bonada, Loscos, and Kenmochi et al; JP4839891B2; now-expired) proposes another technique distinct from all those mentioned in thesis; however it was filed in 2006.
On one hand, as I discovered yesterday, VOCALOID2 actually uses the Maximally Flat Phase Alignment algorithm. This seen based on the fact that what I have deduced to be an MFPA harmonic envelope is contained within the SPP frame analysis data within the VOCALOID2 DaisyDB database format. Each SPP frame has chunk identifier "FRM2", presumably meaning "Frame version 2". In Bonada's 1997 Master's thesis ("Desenvolupament D’un Entorn Gràfic per a L’anàlisi, Transformació I Síntesi De Sons Mitjançant Models Espectrals"), a chunk-based hierarchical format is described. In that format, chunks were also assigned four-byte identifiers, and the identifier for the frame chunk was "FRM1". So the "FRM1" vs. "FRM2" distinction could refer to the iteration of the spectral processing technique; the distinction of SMSTools vs. SMSTools2, or perhaps just different iterations of the storage format.
I was able to determine that it was an MFPA envelope because it was exactly equiv to a linear phase shift applied to the harmonic phases, plus phase unwrapping. Furthermore, it could not have just been the method wherein the harmonic phases are shifted such that the fundamental phase is zero (such as in "Spectral Approach to the Modeling of the Singing Voice", 2001, Bonada et al.), because the fundamental phase was non-zero. The MFPA algorithm was first proposed in the paper "High Quality Voice Transformations Based on Modeling Radiated Voice Pulses in Frequency Domain" (alternatively titled "High Quality Voice Transformations Based on Modeling Radiated Voice Pulses in Spectral Domain"), published in October of 2004.
On the other hand, the patent for the first iteration of the Bonada 2005 expression system (JP2006330615A, now-expired) was filed on May 30, 2005. Since this was the main improvement for the third iteration of the VOCALOID, and, I discussed previously, VOCALOID2 did not use it; this means the VOCALOID2's engine must not have been finished any later than that date.
Another reason is that SPP alternative rendering strategy 4 is the only technique mentioned in other papers and patents, for example in "Improvements to a Sample-Concatenation Based Singing Voice Synthesizer". Finally, in Bonada's thesis he noted "Strategy 4 (E) sounds mostly good but smoothes the utterances a bit", which seems to be consistent with how people describe the specific VOCALOID2 resultant timbre quality. Furthermore, he goes on to say "Therefore, it seems that none of the different strategies proposed improve the overall quality of the basic technique. Only the second strategy (C) yields a comparable quality, being in some cases better, especially for breathy utterances.", which would seem to imply that either they either went back to just the basic SPP rendering strategy; or they switched to another one, perhaps alternative strategy 2 or the one described in JP4839891B2. This would also explain why they let the patent expire especially early.
Anyway, onto the main topic of this post, which is what I just noticed about the figure in Bonada's thesis (which was in turn copied from "Improvements to a Sample-Concatenation Based Singing Voice Synthesizer"), picrel. At the top, we see the original spectrum and its harmonic envelope. In the middle plot, we see an intermediate visualization of peaks after being moved, but before equalization. Notably, there now exists one discontinuity due to one peak being used twice. In the bottom plot, we see the rendered spectrum after equalization. Notably, there is still only one discontinuity in the spectrum. The proposed technique eliminates gaps in the spectrum, but not discontinuities, because the SPP algorithm, as described, regardless of the rendering variant, scales all the bins in each region, which would produce a discontinuity at the boundary between regions.
(continued in next post)
>>
1
QueueSevenM
◆Tnq5UWtkfs
[
PM
]
2026/10/28
(Wed)
04:11:07
No.
198093
[
Edit
]
[
Report
]
+
[
Edit
] [
Report
]
▶
Instead, in the bottom figure, the amount of scaling appears to vary non-linearly, such that it is continuous. This is especially apparent since the figure shows a dotted line representing the spectrum before equalization. You could say that this is just how the figure was drawn, however it is highly consistent across the whole figure; furthermore, it is consistent with other papers and the descriptions in some of the patents seem to suggest that the amplitude discontinuities may be solved. Based on this, I have a hypothesis on how the non-uniform amplitude scaling may have been implemented. The process would be to create a first envelope of the harmonic peaks before transformation; create a second envelope of the harmonic peaks after frequency shifting, but before equalization; and finally scale each bin based on the ration of the first envelope to the second envelope. Although I have not tested it, looking at the figure visually, the proposed procedure would seem to match very closely, assuming a smoothing interpolation. Furthermore, it may also explain why the intermediate stage that shows the spectrum after shifting, but before equalization, is explicitly shown. Such a thing is not actually created by the SPP algorithm as described, but it does make sense to show for the proposed non-uniform amplitude scaling. Finally, in theory, this procedure would not produce any additional amplitude discontinuities, further consistent with the figure.
I will implement this idea as a variant in my existing SPP algorithm, which has already been implemented such that multiple variants (and combinations thereof) can exist in the same procedure (using preprocessor flags). Furthermore, I will consider the possibility that the same procedure is also used for the unwrapped phase envelope.
Want your banner here? Click here to submit yours!
[
Top
]
Delete post: [
File only
]
Password:
First
[1]
Last
Style: