Solfege: is it possible?

feature-request

#1

is it possible to assign by default a different sound (the note name) to each pitch without editing it by hand?
I’d like to use synthesizer V to study solfege, but loading a midi score and editing each single note with their name spelling is too cumbersome…


#2

do you mean for example, every C note has the lyric ‘do’ and so on for other notes? If so, this isn’t a feature but the quickest way to do it I’d say is to zoom right out (horizontally) and highlight all the C notes for example by dragging a horizonal line across the note, pressing crtl+L, ctrl+A to highlight all text (windows shortcuts), typing ‘do’, then ticking the pattern fill box then every C note will be ‘do’. Hope that helps in some way :smile:

Edit: another feature request instead of making another thread for it would be to allow you to ctrl+drag select notes to select multiple groups as you can ctrl select individual notes at the moment but not multiple groups.


#3

exactly.
I’m using a sampler now, but a synth generator would have a more omogeneous output on all the ranges…
Editing by hand is doable, but time consuming for large scores. And you cannot assaing a single phomeme to all the notes played. you have to count exactly how many "la la la la …"you are going to substitute.
Ok, I tried… :slight_smile:


#4

Another way is to open the song files (*.s5p) in a text editor like NotedPad++; use the replacing tool to change the lyrics for each pitch.

In case of C4 (pitch 60), look for the string containing the lyrics and the associatted pitch.
“la”, “comment”: “”, “pitch”: 60}
and replace the string with:
“do”, “comment”: “”, “pitch”: 60}

Also, you can replace in all archives of a given directory at the same time.

You can go one pitch by one or, in case of Notedpad++, to code a plugin to do the job in a click, just ask in the communitty forum.


#5

thank you!
I didn’t know the files were editable…
Maybe a smart search/replace script can do the work!

another problem is the ‘R’ pronounciation… it sounds too similar to a ‘L’ …
all the rest is good enough, I think


#6

In Notepad++ you can record a macro with all the steps too.

For rolling R try to replace the phoneme /r/ with /dx r/

the replacing string would be:

“lyric”: “.dx r eh”, “comment”: “re”, “pitch”: 62


#7

thank you, I’ll try that ASAP


#8

Here i have written a python script which can help you do the job. Check it out on my repo: https://github.com/schef/synthv_solfege
If you have any suggestion, request or a bug please feel free to change it or ask for help.


#9

thank you schef!

One think than now comes in mind is the enharmonics problem.
With midi and the sampler I’m using at the moment I’m usind the velocity data to distinguish between e.g. D# (velocity = 99) and Eb (Velocity = 101) in the midifile.
Can SynthesizerV do the same? I summese not… it’s not a multisampler… right?


#10

As i can see these are the properties of a note object:
"onset": 529200000,
"duration": 88200000,
"lyric": "la",
"comment": "",
"pitch": 48,
"tF0Offset": 0.2,
"tF0Left": 0.3,
"tF0Right": 0.3,
"dF0Left": 1.0,
"dF0Right": 1.0,
"tF0VbrStart": 1.0,
"tF0VbrLeft": 0.5,
"tF0VbrRight": 0.5,
"dF0Vbr": 0.1,
"pF0Vbr": 1.0,
"fF0Vbr": 8.0,
"dF0Jitter": 2.0,
"tNoteOffset": 0.1,
"tSylOnset": 1.5,
"tSylCoda": 1.5,
"wSylNucleus": 1.0

Are you working in some other software, edit the velocity there and then generate the audio in synthv or are you working in synthv?

One solution would be to write a script which would convert midi to .s5p project with velocity in the comment and than use the existing synthv_solfege script to change the lyrics.

After that it is also possible to merge the script together.
Do you have example of that midi file?


#11

At the moment I usa a *.sf2 soundfont that manages different sound samples for different velocity thresholds.
I use it with musescore, that I use also to normalize.
All the sharps get a velocity of 99, al the rest go to 101
Enharmonics have this double sample feature, natural notes don’t.
It works pretty well, because it’s for solfege purpose, non to have the perfect singing performance.
problem is tha sung notes come from actual singers, that sometimes have not the range required by the score.
So I was looking for a way to let some artificial voice spell the note names…

In the parameter you list, that look like the ones you can modify directly in SynthesizerV, I don’t see any Velocity-like one… so I think that the note choice for e.g. 49 (A# or Bb ?) has to be managed by the preprocessing script.


#12

Maybe direct conversion from musescore to synthv would be best. I have to see how complicated is the musescore project file. Do you have an example for that?


#13

You can export to MIDI then import that to SynthV, though that won’t preserve the lyrics.

@khuasw Can we get MusicXML import by any chance?


#14

Musescore exports in MusicXML, would help?


#15

Hi guys i have managed to write a MuseScore to SynthV project file converter. Checkout https://github.com/schef/musescore_to_synthv


#16

That’s awesome!


#17

Schef, how do I get this to work? I have MuseScore and would love to be able to convert my scores to Synth V’s file format. That would save me lots of time entering lyrics after I import the midi file from MuseScore.


#18

Hi,
try this out https://github.com/schef/musescore_to_synthv/releases/tag/v0.1.0
If you have any questions ill’ be glad to help.


#19

Thanks! That’s very kind of you. I’ll try it today. Also, I didn’t think to mention that I’m using MuseScore 2.1 and don’t intend to upgrade to v. 3 because of how much they changed the new version. Version 2.1 is more than adequate for my needs.

I do have a question for you, though. Is your conversion tool able to handle repeats? Most of my songs have more than one verse, so I usually try to used the repeat function in order to minimize how many pages my scores will have when I export them to PDF.


#20

Schef, I tried to use your Python script to convert one of my MuseScore files to Synth V’s format but have run into some problems. After installing the Windows version (I have Win10 64-bit) of Python 3.8 and extracting your Zip file, I copied one of my MuseScore files into that same folder where your Zip file was extracted to. I also copied it into the examples folder and renamed it in both locations by adding the underscore to replace all the spaces between words. Then, with that folder location as the top window, I executed Python from the Start menu. Once the command line window appeared, I typed in “converter_example.py” followed by my source MuseScore file name and the destination Synthesizer V file name, but Python returned an “invalid syntax” error. Then I tried the same thing but entered “python3” first but still got the same error. I can’t figure out what I’m doing wrong. Any suggestions?

It’s been 30 years since I’ve done any programming, and I’ve never used Python before, so I’m thinking I’m not using the right procedure. Do I have to set up the current folder as a path for Python to look for my file or does it do that automatically when I have that folder window active? I guess I could try the same process but specify the complete path in the command line. Perhaps I’ll try that next.