Praat: удалить точки основного тона и опубликовать ресинтез, используя скрипт - PullRequest
0 голосов
/ 02 января 2019

Я сгенерировал чистый звук (440 Гц) с Praat и попытался изменить его высоту до 277.1826309768721 Гц (Средняя C), а затем до 220 Гц, используя скрипт.Тем не менее сценарий дает сбой либо в «Удалить точку (ы) основного тона» (говорит Command "Remove point(s)" not available for current selection), либо в «Опубликовать повторный синтез» (Command "Publish resynthesis" not available for current selection), в зависимости от того, что произойдет первым в сценарии.

Вот две версиисценария, который пытается опубликовать повторный синтез:

Create Sound as pure tone: "tone", 1, 0, 0.4, 44100, 440, 0.2, 0.01, 0.01
To Manipulation: 0.01, 75, 600
Create PitchTier: "empty", 0, 1
View & Edit
Add point... 0 277.1826309768721
selectObject: "Manipulation tone"
plusObject: "PitchTier empty"
Replace pitch tier
selectObject: "Manipulation tone"
View & Edit
Publish resynthesis

, а другой не пытается опубликовать повторный синтез (так как он не работает), но вместо этого пытается изменить местоположение точки основного тонаи терпит неудачу при этом:

Create Sound as pure tone: "tone", 1, 0, 0.4, 44100, 440, 0.2, 0.01, 0.01
To Manipulation: 0.01, 75, 600
Create PitchTier: "empty", 0, 1
View & Edit
Add point... 0 277.1826309768721
selectObject: "Manipulation tone"
plusObject: "PitchTier empty"
Replace pitch tier
selectObject: "Manipulation tone"
View & Edit
Remove point(s)
Add point at: 0, 220
selectObject: "PitchTier empty"
selectObject: "Manipulation tone"
plusObject: "PitchTier empty"
Replace pitch tier
selectObject: "Manipulation tone"
View & Edit

Моя конечная цель - написать сценарий, который принимает объект манипуляции, генерирует монотонизированные версии звука со всеми клавишными частотами фортепиано от малого C (130,8127826502993 Гц) доB5 (987.7666025122483 Гц) и сохраняет их в папку.Это невозможно сделать, если удаление точек основного тона или публикация повторных синтезов не разрешены в сценариях.

И да, я попытался сделать это, отредактировав сам объект манипуляции, но, поскольку он не работал, я переключился на подходсоздания уровня Pitch.

Кстати, я также пробовал что-то вроде этого:

s$ = selected$("Sound")
m$ = selected$("Manipulation")
selectObject: s$
endtime = Get end time
selectObjcet: m$
Remove points between... 0 endtime

, чтобы начать, но это привело к ошибке No object named "tone", хотя явыбрал звук и манипуляцию с именем tone.

1 Ответ

0 голосов
/ 03 января 2019

ОК, немного потрудившись, мне удалось создать очень уродливый обходной путь.Следующий скрипт выполняет то, что я хотел, но он также переименовывает исходный объект манипуляции в «тон», чтобы иметь возможность ссылаться на него в будущем.Я не уверен, что произойдет, если у вас уже открыты объекты с именем «тона» ... будьте осторожны.

Все частоты жестко запрограммированы.Таким образом, это означает, что объект манипуляции переименовывает его в «тон», перемещает свою высоту тона в C3, сохраняет ресинтез как c3.wav, перемещает тональность в C # 3, сохраняет ресинтез как c-sharp3.wav, перемещает шаг в D3, сохраняет его в d3.wav ... вплоть до B5.<folder_path> необходимо заменить на нужную папку назначения.

s$ = selected$("Manipulation")
Rename: "tone"
selectObject: "Manipulation tone"
Extract original sound
endtime = Get end time
Remove
selectObject: "Manipulation tone"
Extract pitch tier
View & Edit
Remove points between: 0, endtime
View & Edit
Add point: 0, 130.8127826502993
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\c3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 138.59131548843604
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\c-sharp3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 146.8323839587038
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\d3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 155.56349186104046
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\d-sharp3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 164.81377845643496
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\e3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 174.61411571650194
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\f3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 184.9972113558172
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\f-sharp3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 195.99771799087463
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\g3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 207.65234878997256
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\g-sharp3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 220.0
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\a3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 233.08188075904496
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\a-sharp3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 246.94165062806206
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\b3.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 261.6255653005986
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\c4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 277.1826309768721
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\c-sharp4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 293.6647679174076
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\d4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 311.1269837220809
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\d-sharp4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 329.6275569128699
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\e4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 349.2282314330039
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\f4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 369.9944227116344
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\f-sharp4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 391.99543598174927
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\g4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 415.3046975799451
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\g-sharp4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 440.0
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\a4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 466.1637615180899
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\a-sharp4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 493.8833012561241
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\b4.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 523.2511306011972
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\c5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 554.3652619537442
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\c-sharp5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 587.3295358348151
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\d5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 622.2539674441618
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\d-sharp5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 659.2551138257398
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\e5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 698.4564628660078
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\f5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 739.9888454232688
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\f-sharp5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 783.9908719634985
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\g5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 830.6093951598903
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\g-sharp5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 880.0
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\a5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 932.3275230361799
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\a-sharp5.wav"
Remove
selectObject: "PitchTier tone"
Remove point: 1
Add point: 0, 987.7666025122483
selectObject: "Manipulation tone"
plusObject: "PitchTier tone"
Replace pitch tier
selectObject: "Manipulation tone"
Get resynthesis (overlap-add)
Save as WAV file: "<folder_path>\b5.wav"
Remove
...