Renderizador de dialogos .fountain a audio y video
Project description
Cassette.
Utilidad para pasar guiones escritos en Fountain a audio.
Ejemplos de uso:
- Cargamos un fichero de guión en formato Fountain
cst="corto"
fountain="corto.fountain"
salida="$(pwd)/corto"
cassette run -j load -p "pname=$cst" -p "fountain=$fountain"
- Describimos el guión:
cassette run -j describe -p "pname=$cst"
- Obtenemos el timeline y lo completamos que las pistas que enlazan escenas
cassette run -j gettimeline -p "pname=$cst.cst"
Se puede pasar una plantilla jinja2 para que se genere el timeline. Por ejemplo una como la siguiente:
cassette run -j gettimeline -p "pname=$cst.cst" -p "useDefault=path/to/jinjatemplate.yaml"
tags:
intro: /Dropbox/draft/Gymnopedie.wav
background: /Dropbox/draft/Gymnopedie.wav
end: /Dropbox/draft/Gymnopedie.wav
transition: /Dropbox/draft/Gymnopedie.wav
characters:
- id: 1
voice:
tts:
voiceid: 14
filter:
- delay:
delay_seconds: 0.1
- reverb:
room_size: 0.5
- id: 2
voice:
tts:
voiceid: 14
filter:
- reverb:
room_size: 0.1
- id: 3
voice:
tts:
voiceid: 29
filter:
- reverb:
room_size: 0.1
timeline:
- type: sound
track: intro
duration: 8
volume: inout
{%- for scene in scenes %}
# {{ scene.location }}
- type: scene
scene_id: {{ scene.scene_id }}
background: background
{%- if not loop.last %}
# ...
- type: sound
track: transition
duration: 8
volume: inout
{%- endif %}
{% endfor %}
- type: sound
track: end
duration: 8
volume: inout
video:
{%- for dialogue in dialogues %}
# {{ dialogue.SceneID }} {{ dialogue.CharacterName }}:
# {{ dialogue.FirstWords }} ...
- id: {{ dialogue.DialogueID }}
type: image
imagePath: /Users/alvaroperis/Dropbox/draft/f9/y1.jpeg
{% endfor %}
- Cargamos el timeline al proyecto
cassette run -j loadtimeline -p "pname=$cst" -p "timeline=$cst.cst.yaml"
- Renderizamos los dialogos
cassette run -j renderaudio -p "pname=$cst" -p "storepath=$salida"
- Renderizamos las escenas
cassette run -j renderscene -p "pname=$cst" -p "storepath=$salida"
- Renderizamos el guión completo.
cassette run -j renderrecord -p "pname=$cst" -p "storepath=$salida"
- Renderizado de video
cassette run -j rendervideo -p "pname=$cst" -p "storepath=$salida" -p "audiopath=$salida/film/$cst.mp3"
Configuración del timeline.
Voces
A cada caracter identificado por un id se le puede configurar una voz en voice.tts.voiceid
. Adicionalmete a esta voz se le pueden añadir efectos de audio en la sección filter
.
Estos efectos de audio son algunos de los que ofrece la libreria Spotify Pedalboard.
Se tienen disponibles los siguientes:
Reverb
filter:
...
- reverb:
room_size: 0.5
damping: 0.5
wet_level: 0.33
dry_level: 0.4
width: 1.0
freeze_mode: 0.0
Distorsion
filter:
...
- distortion:
drive_db: 25
Delay
filter:
...
- delay:
delay_seconds: 0.5
feedback: 0.0
mix: 0.5
Gain
filter:
...
- gain:
gain_db: 1.0
EJEMPLO:
characters:
# PEDRO
- id: 1
voice:
tts:
voiceid: 14
filter:
- delay:
delay_seconds: 0.5
- distortion:
drive_db: 25
- reverb:
room_size: 0.1
# MARIA
- id: 2
voice:
tts:
voiceid: 29
filter:
- reverb:
room_size: 0.1
Voces
La voz se ha de setear con el id. El id puede variar según sistema operativo. Para MACOS es el > siguiente:
Genero | ID | Nombre | Lengua |
---|---|---|---|
VoiceGenderFemale | 29 | Monica | ['es_ES'] |
VoiceGenderFemale | 31 | Paulina | ['es_MX'] |
VoiceGenderFemale | 37 | Tessa | ['en_ZA'] |
VoiceGenderMale | 14 | Jorge | ['es_ES'] |
VoiceGenderMale | 15 | Juan | ['es_MX'] |
VoiceGenderMale | 8 | Diego | ['es_AR'] |
Timeline
Escena
- type: scene
scene_id: 1
background: bg
Transición
- type: sound
track: sound1
duration: 8
volume: inout
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file alpezacassette-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: alpezacassette-0.5.0-py3-none-any.whl
- Upload date:
- Size: 40.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.7.0 requests/2.28.2 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0370a9e401d72fa50135059e3b8618f8202b219c47e3db183f63b0e7e61ba3e6 |
|
MD5 | 6701cdc33ec667a4f8a1a95e7309d751 |
|
BLAKE2b-256 | ccc408f086890226c818d0dbbbfc63424af61ef4f4ccab6002a072b946d435e4 |