< Back to IRCAM Forum

Can't send command to kernel

Hi,
I’m trying to run the psola_synthesis engine with the last version of Diphone (4.2) and I get this error:

Diphone(1) psola_synthesis --in-float="$USERHOME/ImpExport/Sound/Sequence 2.sig.floatSnd" --in-f0="$USERHOME/ImpExport/Fundamental/Sequence 2.f0.sdif" --in-1pso="$USERHOME/ImpExport/Psola/Sequence 2.1pso.sdif" --in-1dip="$USERHOME/ImpExport/Psola/Sequence 2.1dip.sdif" --out-float="$USERHOME/ImpExport/Sound/Sequence 2.floatSnd" --interpolation=time
snd -v -aNormalize -i"$USERHOME/ImpExport/Sound/Sequence 2.floatSnd" -o"$USERHOME/ImpExport/Sound/Sequence 2.aiff" -fAiff -s44100.0 -d16
remove “$USERHOME/ImpExport/Sound/Sequence 2.sig.floatSnd”
remove “$USERHOME/ImpExport/Fundamental/Sequence 2.f0.sdif”
remove “$USERHOME/ImpExport/Psola/Sequence 2.1pso.sdif”
remove “$USERHOME/ImpExport/Psola/Sequence 2.1dip.sdif”

Can’t send command to kernel <psola_synthesis>

I’ve encountered this error both on OS 10.4.11 and on 10.6.8: how can I fix this issue?
Best,
Francesco Vitale

Hi Francesco,

Is this problem concerns only psola_synthesis or it is the case for all kernels ?

Also psola_synthesis is currently working ONLY on PowerPC machines.
Additionally you may also need to use the install name tool command on psola_synthesis to make it work as explained here:
http://forumnet.ircam.fr/user-groups/audiosculpt/forum/topic/sdif-3-10-1-library/#post-10858

Also for system versions prior to 10.8, you may try to download the oldest version of Diphone : 4.2F from the Archives of the Diphone download section.

HTH
Charles

Dear Charles,
actually I think that the Diphone version that I used is the 4.2F.
Moreover, since you asked about the other kernels I see that (maybe for different reasons) I cannot perform a simple additive or chant synthesis from a default untitled segment:

Diphone(1) pm2 -v -Asyn -a0.01 -r0.01 -R44100.0 -S"$USERHOME/ImpExport/Partial/Sequence 1.add.sdif" “$USERHOME/ImpExport/Sound/Sequence 1.floatSnd”
snd -v -aNormalize -i"$USERHOME/ImpExport/Sound/Sequence 1.floatSnd" -o"$USERHOME/ImpExport/Sound/Sequence 1.aiff" -fAiff -s44100.0 -d16
remove “$USERHOME/ImpExport/Fundamental/Sequence 1.f0.sdif”
remove “$USERHOME/ImpExport/Partial/Sequence 1.add.sdif”
remove “$USERHOME/ImpExport/Sound/Sequence 1.floatSnd”

PM2 Synthesis

In Partial File /Applications/Diphone Studio 4.2/ImpExport/Partial/Sequence 1.add.sdif
Out Sound File /Applications/Diphone Studio 4.2/ImpExport/Sound/Sequence 1.floatSnd
Number of partials all
Channel 1
Sampling Rate 44100.000
Smoothing attack time 0.01 sec
Smoothing release time 0.01 sec
respect phase off
write commandline yes

Pm2 - warning: overflow detected in output signal,
you better scale your output signal using the flag --mixfac with value smaller than 0.181463
total time = 0.02 seconds
Snd error: Can’t write file “/Applications/Diphone Studio 4.2/ImpExport/Sound/Sequence 1.aiff”
Kernel return error -1

Diphone(2) chant -v -i"$USERHOME/ImpExport/Chant/Sequence 2.sdif" -o"$USERHOME/ImpExport/Sound/Sequence 2.floatSnd"
snd -v -aNormalize -i"$USERHOME/ImpExport/Sound/Sequence 2.floatSnd" -o"$USERHOME/ImpExport/Sound/Sequence 2.aiff" -fAiff -s44100.0 -d16
remove “$USERHOME/ImpExport/Chant/Sequence 2.sdif”
remove “$USERHOME/ImpExport/Sound/Sequence 2.floatSnd”

Chant Synthesis begin.
Chant Synthesis end.
Snd error: Can’t write file “/Applications/Diphone Studio 4.2/ImpExport/Sound/Sequence 2.aiff”
Kernel return error -1

Has it something to do with the psola_synthesis problem?
Best,
Francesco

Hi Francesco,

It seems like Pm2 and Chant works but that you have a problem with the snd kernel.

as stated in this topic it may be a permission problem :
http://forumnet.ircam.fr/user-groups/diphone-studio/forum/topic/diphone-studio/?lang=en

OK that could be a write access problem. Could you go to Applications/Diphone Studio 4.2/ Select the ImpExport folder press Command-I to get the information look in the ‘permissions panel’ unlock the permissions (click on the lock and give your name/pass) change all the permissions to “Read & write” IMPORTANT: apply all those permissions to the included elements (for that click on the little pref icon below close to the ‘+’ and ‘-’ icons.

then launch Resan and try again to do the analysis

HTH
Charles

Ok Charles,
I set all the permissions in the right way, so now PM2 and Chant can work without problems. But the “Can’t send command to kernel psola_synthesis” still persists! Can I try something else to see if this bug can be fixed?
Best,
Francesco

Dear Charles,
the Diphone version that I have installed is the 4.2E (not the 4.2F). Maybe I should downgrade it further to the earlier versions of 4.2, but I don’t have none of them. So, if it can be a solution for the “Can’t send command" problem, in the archive you should make them available: that would be very kind of you!
Best,
Francesco

Hi Francesco,

You can try to download and test the 4.2F which is the oldest package available in the ForumNet here :
http://forumnet.ircam.fr/shop/en/archived.php?id_product=46&archived=1

But it seems like this is an old issue, as the kernel has not been updated for Intel computers (remains only executable from a PowerPC processor), and also is not properly configured to work as a standalone since it links with a quite old version of SDIF, not compatible with the current Diphone Frameworks configuration.

Now we can solve the SDIF problem.

So i’ll try to look at this communication problem from Diphone.

Until then, may be what you can try is to grab the command lines printed from the Diphone Console and manage to execute them manually to run the psola_analysis kernel…

Tell me anyway your results with the 4.2F

Sorry for this inconvenience,

Best,
Charles

Dear Charles,
here’s what I get with Diphone 4.2F, copying the commands obtained with the console of the aforementioned version of the program to the psola_synthesis kernel:

Last login: Tue Oct 14 10:19:51 on ttys001
host413:~ fravtl$ /Applications/Diphone\ Studio\ 4.2/Kernels/psola_synthesis -h
psola synthesis 1.0

Purpose:
This program does a psola synthesis

Usage: psola synthesis [OPTIONS]…

-h, --help Print help and exit
-V, --version Print version and exit
–in-dir= Input directory (default=.') --radical= Input file radical --in-1pso=file.1pso.sdif Input 1PSO file --in-1dip=file.1dip.sdif Input 1DIP file --in-float=file.sig.floatSnd Input sound-float file --in-f0=file.f0.sdif Input sdif file --out-dir= Output directory (default=.’)
-o, --out-float=file.floatSnd Output sound-float file (default=
input-file-name-[TF]DIPSOLA.floatSnd') -m, --interpolation=[none|time|frequency] Interpolation method (default=time’)
–verbose Verbose (default=off)
host413:~ fravtl$ /Applications/Diphone\ Studio\ 4.2/Kernels/psola_synthesis

host413:~ fravtl$ /Applications/Diphone\ Studio\ 4.2/Kernels/psola_synthesis --in-float="$USERHOME/ImpExport/Sound/Sequence 1.sig.floatSnd" --in-f0="$USERHOME/ImpExport/Fundamental/Sequence 1.f0.sdif" --in-1pso="$USERHOME/ImpExport/Psola/Sequence 1.1pso.sdif" --in-1dip="$USERHOME/ImpExport/Psola/Sequence 1.1dip.sdif" --out-float="$USERHOME/ImpExport/Sound/Sequence 1.floatSnd" --interpolation=time invalid or non-existant float_sound_in_file_name “/ImpExport/Sound/Sequence 1.sig.floatSnd”

As far as I can see, the .floatSnd file is there, but maybe Diphone does not format it in the right way for psola_synthesis…

Dear Charles,
after some trials, I can see that there are basically two problems which prevent a correct communication between Diphone and the psola_synthesis kernel:

  1. the “invalid or non-existant float_sound_in_file_name” issue
  2. the “snd: command not found” issue.
    You can check both of them in the command line here pasted:

Last login: Wed Oct 15 10:26:32 on console
host413:~ fravtl$ /Applications/Diphone\ Studio\ 4.2/Kernels/psola_synthesis --in-float="$USERHOME/ImpExport/Sound/Sequence 1.sig.floatSnd" --in-f0="$USERHOME/ImpExport/Fundamental/Sequence 1.f0.sdif" --in-1pso="$USERHOME/ImpExport/Psola/Sequence 1.1pso.sdif" --in-1dip="$USERHOME/ImpExport/Psola/Sequence 1.1dip.sdif" --out-float="$USERHOME/ImpExport/Sound/Sequence 1.floatSnd" --interpolation=timeinvalid or non-existant float_sound_in_file_name “/ImpExport/Sound/Sequence 1.sig.floatSnd”
host413:~ fravtl$ snd -v -aNormalize -i"$USERHOME/ImpExport/Sound/Sequence 1.floatSnd" -o"$USERHOME/ImpExport/Sound/Sequence 1.aiff" -fAiff -s44100.0 -d16
-bash: snd: command not found

I’m looking forward to have some news from you about these issues, hoping that they can be finally fixed. Thanks for you patience.
Best,
Francesco

Dear Charles,
did you manage to take a look at this infamous communication problem from Diphone? I really hope that this annoying issue will be finally fixed in the near future!
Best,
Francesco

Hi Francesco,

Your last errors has nothing to do with a possible communication problem between Diphone and its kernels as you directly try to use the kernels using a console.

last login: Wed Oct 15 10:26:32 on console host413:~ fravtl$ /Applications/Diphone\ Studio\ 4.2/Kernels/psola_synthesis –in-float=”$USERHOME/ImpExport/Sound/Sequence 1.sig.floatSnd” –in-f0=”$USERHOME/ImpExport/Fundamental/Sequence 1.f0.sdif” –in-1pso=”$USERHOME/ImpExport/Psola/Sequence 1.1pso.sdif” –in-1dip=”$USERHOME/ImpExport/Psola/Sequence 1.1dip.sdif” –out-float=”$USERHOME/ImpExport/Sound/Sequence 1.floatSnd” –interpolation=time

Your first command cannot work properly as the $USERHOME variable is probably not exported. You should consider to use absolute paths. That’s why you get a non-existant float_sound_in_file_name “/ImpExport/Sound/Sequence 1.sig.floatSnd” error.

Then,

host413:~ fravtl$ snd -v -aNormalize -i”$USERHOME/ImpExport/Sound/Sequence 1.floatSnd” -o”$USERHOME/ImpExport/Sound/Sequence 1.aiff” -fAiff -s44100.0 -d16 -bash: snd: command not found

snd is a kernel of Diphone, so the system cannot find it as a global utility or binary available. That’s why you get a snd: command not found.
snd is available here : <Diphone_distribution>/Kernels/snd.
Also here, you will have to properly set the path to your sounds as $USERHOME may not be also defined. You may use absolute path in order to make it work first.

Best,
Charles