Renoid

Renoid blew my mind… but now a french renoid as well :w00t: :w00t: :w00t: that is amazing! well done to both of you, this really is so useful and fun

Wooow! unbelievable. 254 samples!? :blink:/>
I was very tired even 71 samples when I made japanese voice files. I admire your effort really. :yeah:/>

I think it will be better, if the number of samples can be optimized to a slight degree or if there is more better input method for words.

Anyway, it’s a great first step.
C’est merveilleux.

私はあなたの応答によって光栄に思います。

Like in the english spoken language, french spoken language is built on rich combinations of “vowels” (母音。) that are sounds strictly produced by open mouth shape, and “consonants” (子音), that are sounds produced with closed mouth or the action of tongue with teeths or tongue with the oral cavity.

The french sample matrix uses :

  • vowels for the x axis : (a - e - i - o - u - an - eu - in - on - ou - oi - é - è) : note that I willfully removed the “ô” sound (mouth opened in oval shape) that is slightly different from the “o” sound (mouth opened with circular shape). I also removed the “ê” because it’s nearly the same thing as “è” - consonants for the y axis : (b - d - f - g - ch - j - k - l - m - n - p - r - s - t - v - w - x - y - z) : note we can consider that “be”, “de”, “fe”, “ge”… can do the job for mid-level articulations, for example, the word “merveilleux”, can be seen like “mè”-“re”-“vè”-“yeu”.
    I also removed some sounds like “seu” because very similar to “se” and KeroVee won’t make the difference in the end. If I keep all the subtle phonetic possibilities in my sample bank, the number of samples is higher than 280 (so it is not possible to put all of them into a unique .xrni file anymore, since .xrni file format is limited to 256 samples).

But you’re 100% right, recording the 254 samples in one pass take 5 minutes, but the crazy work is to

  • slice them with the slicer tool and then convert them to editable samples then crop/trim them - find the right way to loop them all with the sample editor tools, then - (fine)tune them all to 440Hz, and in the end, - place them properly on the sample keyzone tab.

That’s a full 24 hours job.

After that, your code in LUA language is soooo cristal clear that it took me just one hour to get the way to adapt it to the french matrix.

But when I use the Frogoïd/WordPad, it’s true that it requires a large screen and that the number of articulated phonemes is so high, that you have to “search” in it more. The only way to make the input method simpler would imply to code something additionnal, containing a “text” input string label. This input string contains french words written by the user. Then Wordpads for Frogoïd would have to perform a batch string comparison, and highlight (or change the color of) buttons that could be used, so that you don’t have to search them for a long time. This color of buttons help would reduce the time you use to select the right phonemes.

Example, the word : “Babel”. (ref : the mythological tower of Babel). An analyzer would highlight the color of “ba”, “be”, and “le”. But the probleme is that you say “ba-bè-le” and not “ba-be-le”… So in the end, the analyser would have to suggest all the possibilities, like “ba”,be",“bé”,bè",“le”. It would be very “experimental”, because french language is full of exceptions.

I’d also add something about “hearing” the effect of buttons. I mean that when a button is hit, the Wordspad should perform something like “up”, and the… “enter” key, so that what you hear is what you hit in the wordpad, you see ?

Ah, it’s not my code (I don’t have lua skill at all ;) ). All Renoid tools are made by another japanese user, uprime22. Thankfully, he often helps me.

Interesting. Although I do not know whether this idea is realizable, it is great if possible.

If this is realizable, I want to borrow your code for japanese words pad too. B)

Thank you, Kurtz, I think you have explained why western language banks I’ve tried on UTAU always seem incomplete in some way.

It will require indeed some work.

I’m really a newbie with LUA, I did nothin but “hello worlds” with it for now, maybe a visual helper could behave like that :

vb:textfield.text   

could be added in the viewbuilder,

then when a new text string is entered it starts a loop

the loop searches substrings in the text string previously entered

each items of the matrix, is analysed with a function like

string.match()   

that returns nil if nothing is found, could easily help to detect if a button has to be highlighted - or not.

each time a substring 100% matches, if the result <> nil then the

button.color   

is for example “green” otherwise the button color is “white”

after that, some extension “rules” could be precised here,

for example,

when you highlight “e” or whatever with a “e” inside, you highlight “é”, “è” and “eu”.

the loop is performed until the end of the table.

concerning the emulation of the “Enter” key maybe could it be done with

renoise.song().transport:start_at(l) where l = renoise.song().selected_line  

well I’m going to check if my ideas work (probably not as is, would require lots of precisions), eventually ask a few questions in the renoise scripting forums, and I’ll be back, see ya !

Just to say that both of your work is impressive, grats !
(Could also complete my vocaloids ^^ )

Salut alexou J’étais certain que tu remarquerais Frogoïd, essaie-le et dis mois ce que je peux faire pour l’améliorer.


Sorry, concerning the emulation of the Enter key, I think I talked too fast it seems that - for now, the Renoise.Song.API.lua doesn’t have a function like that - I didn’t find anything that could look like :

renoise.song().transport:play_line(line)  
  

When I stop the pattern playback, it also stop every sound, and when I try to stop the pattern scrolling, it stops the playback of the instrument too… I’m probably too new to renoise scripting language, I don’t find the trick or the way to emulate this simple behaviour… I’ll try to get more infor about it in the dedicated forum.

Hi KURTZ, :)

Now the japanese kindly user uprime22 makes a nice tool again!!

http://reg.s63.xrea.com/BBS/viewtopic.php?f=9&t=542
(download from the first post of this link)

This “Txt2Notes” works like this;

  • first, you should select a Renoid (Frogoid) instrument at the Instr-Selector, then start Txt2Notes.

  • turn Renoise’s edit mode ON.

  • transcribe the pronunciation of a word in phonetic symbols (i.e. sample names in this case) to the right area.

  • hit “escape” to change to the Record-notes mode.

  • hit “Ctrl + Enter”. If you hit once, 1 note will be inputted onto the Pattern Editor.

  • hit “Shift+Ctrl+Enter” for searching next note and replacing it. For example, input notes on the Pattern Editor by using only C-4 beforehand, then use “Shift + Ctrl + Enter”. Proper note for each word will be inputted (replaced) one after another.

Some shortcuts:
Esc ,Ctrl+E: Record notes mode ,Edit words mode
Ctrl+Enter: Get a word and record it
Shift+Ctrl+Enter: Search next note and replace it (refering to wrapped_pattern_edit option)
Ctrl+Right ,Ctrl+Left: Transpose words without recording
Ctrl+Up ,Ctrl+Down: Up and down the editing line
Shift+Ctrl+Up,Shift+Ctrl+Down: Search a previous/next note (refering to wrapped_pattern_edit option)
Ctrl+1~9 ,Ctrl+Shift+1~9: Up and down the editing line with steps
Ctrl+Space ,Ctrl+Shift+Space: Toggle start/stop at line 1 or current line

:excl:/>/>/>/> Txt2Notes searchs each sample name of the Renoid instrument and make the word list internally.
So we should name each sample carefully. Txt2Notes recognizes a sample name from the top until just before space.
So for example, simple “ba” is OK, also “ba xxxxx” is OK too. But “xxxx ba” will be wrong.

Hope my explanation is understandable and try it anyway. Txt2Notes works well in japanese already, and it should work in french or other languages too (probably). Though we don’t know whether it’s easy enough to input french language by pronunciation.

And also, I’ve tried to make an another Frogoid xrni, by converting “morphemes”. But it was a bit difficult and I think myself it’s not enough since I cannot hear and recognize french almost. Anyway, it’s just a something extra. :badteeth:
http://reg.s63.xrea.com/Renoid/test/French-XXX.xrni

This is my first post and I had to put it here. I’ve finished an English version of Renoid, thank you for sharing Satobox. I’ve only used just over 40 samples by using phonetics. It works quite well but I still have some work to do before I’m satisfied with it. I’m finding that I have to up the lines per beat to between 8 and 16 depending upon the BPM, in order to join the samples into coherent words.
I found the programming fairly easy (but you don’t have to change much to add your own samples fortunately!). I have a question though: I’ve added titles above each sample section, “vowels” etc. is there a simple way to add these titles as text, rather than them being contained within boxes? I know there’s a print command but it can’t be used within the table. Also is it possible to change the colour of text? It’s not important, I’m just curious.
Finally: Instead of VSTs I’ve tried using the U sample command to pitch the samples. The only limitations I’ve found with this is that you can only get just over an octave, plus the words become cartoonish as the samples are compressed. Kerovee seems to be the best option with Talkbox as my second choice.
Text to notes looks interesting. I’ll just have to work out how to label the samples!

Ohh, nice to hear this. I thought that the person like you who make English version will appear sometime, though I was surprised at the KURTZ’s French version :)/>/>/> .
I understand about using 8 or more LPB. Usually I also use 8 at least. Also, it may be helpful to use Renoise’s Compressor to control each sample’s volume uniformly, in order to join the samples nicely.

Hmm sorry, I don’t understand what you mean (what you want to do exactly).
What are the “boxes” and “table” which you mean?

Though you can change Renoise’s font color at Preferences panel…
If you mean that you want to change font color for each partial word, I think it’s impossible probably (at least I don’t know how to).
Well, related to a font, uprime22 said that he want to use more big font for his tool. It seems impossible too though.

Hey SatoBox !

Yessssss !

Big thanx to you and uprime22, I’m going to check it right now and see if a “french” text2notes + your updated XRNI works !

See you soon !

Edited :
okay the name2note_velo_idx procedure in the code, seems to successfully do the job !
I’ll need to test it extensively but it seems that I won’t have to change anything.
Maybe I could think about a “fusion” between the wordspad interface & the text2note interface, so that you can “fix” with a button logic things that are not “properly” done with the text analyser when it happens (it would be a kind of “advanced edit mode”, you see)…

Thank you for your reply Satobox.
Here is a link/ a picture of my Renoid version. I’m not sure which, this is first attempt at posting a pic!

I should have been clearer sorry. When I said boxes I meant the buttons. And when mentioning the table I referred to the _table command in the code. You’ll see the titles: “Vowels” etc. are contained within buttons. It was this I was wondering if I could change so that they are just text and not buttons. Like I said, it’s not important I’m just curious about the limits of LUA.
Also you’ll see in the top right hand corner a box with CONSONANTS written in it…I’m not sure where this has come from, I’ll have to try and find where it’s happening in the code…curious!
Using the compressor is a great idea, I hadn’t thought of that. I have found that using the vibrato (V) pattern effect command can add more realism to long vowel sounds, breaking up the looping tone. I’ve also been doing tests using much longer vowel samples making loops of at least half a second, which (when the loop markers are in the right place) makes much more realistic vocals.
Thanks again.

Ah I see, they ware lua related questions. Personally I don’t have enough skill which can reply to such questions. Maybe uprime22 knows how-to, but he may be shy to post english forum. I think you had better post them to the Lua beginners forum, or refer to the source code of other tools (for example Scale Finder). I’m totally noob about lua anyway. :wacko:/>

About vibrate command, if you use the pitch corrector vst like Kerovee, you need attention a bit. Because the fluctuation of a pitch will be corrected by Kerovee in the end. So I usually use chunter’s LFO trick (post #13 in this thread). Of course, if you use Pitch Slide command instead of Kerovee, no problem though.

And yes, there will be a lot of secret techniques for Renoid that we do not know yet. Therefore, this is interesting. ;)/>

Just a note for the Text2notes v0.14 update (by uprime22, of course :) )

http://reg.s63.xrea.com/BBS/viewtopic.php?f=9&t=542
(download from the first post of this link)

Added some useful shortcuts;

  • Shift+Ctrl+Enter: Search next note and replace it
  • Shift+Ctrl+Up,Shift+Ctrl+Down: Search a previous/next note
    (refering to wrapped_pattern_edit option)

This means, for example,

  • input texts into Txt2notes
  • temporary input notes onto the words-track by using “C-4” only beforehand,
  • return cursor to the first place
  • hit “Ctrl + Enter” for the first word only
  • hit or hold “Shift + Ctrl + Enter” for later words

then temporary "C-4"s will be replaced to proper notes semi-automatically. B)/> B)/>

holy shit it’s even better !

Let me begin by thanking you for working on this; I appreciate what you are attempting very much.

There is a consonant-vowel dichotomy in Japanese-speaking voice synths, done because it is a fundamental part of the language, but this dichotomy allows the synthesizer to create the relationships between the consonants and vowels in a somewhat automatic fashion.

It is possible to create a speech synthsizer that keeps the consonants and vowels separate, and if you are already getting a good result you can carry on with what you have, but if you take this approach, I have a suggestion beyond organizing the consonants and vowels, and I hope this forum is adequate to express this:

Instead of cluttering your UI with demonstrations of all the consonant and vowel sounds, such as ee in beer, please consider a standard phonetic alphabet, and include a readme (probably PDF) that explains that alphabet, so the button instead says ē, and the readme sheet demonstrates ē like ee in beer. I would love a speech synth set that can implement the entire International Phonetic Alphabet in this fashion, because although it is difficult for people who are not linguistics students/specialists, it would make it possible to synthesize almost any language with your sound set.

I recognize that it will give the tool a bigger barrier to entry, so in the long run, it’s up to you.

I thought about using phonetic symbols but what I want is an easily understood interface. Using reference words is just the easiest way to do this.
The International Phonetic Alphabet is a great idea, but it isn’t something I would attempt. There are at least 150 sounds and expecting people to understand what a fricative pharyngeal sound is and recognize it’s symbol wouldn’t be practical for a simple audio interface!

Satobox: Just to let you know I’ve solved some of my problems and have managed to use bitmaps for the buttons as you can see here:

This way I’ve been able to use a larger font and highlight it as I wanted. I think (I hope!)it’s a clearer more usable interface than it was before. I’ve still not been able to work out why the box is appearing in the top right hand corner, but hopefully I’ll solve the problem eventually.
I’ve started working on some female vocal samples (I have kind and patient friends who are letting me sample them!). I hope to post an English version of Renoid eventually!
Thanks for the brilliant work.

Oh, strangely now your posted images are blocked probably because of the misjudgment of my anti-virus software though, I can understand what you mean almost. Glad to hear that you’ve solved the problem.

It’s nice too. The voices that I’ve made myself by using MorphVOX (the Voice-Changeing software) were not superior to a simple voice of a natural woman after all. ;)
I’m looking forward to its completion. :D