Музыка и звуки (Audio)
Музыка

В визуальных новеллах музыка играет ключевую роль. Она является основным инструментом для создания и поддержания неповторимой атмосферы. В Ren'Py с ней работать предельно просто.

Для проигрывания музыкального сопровождения, необходимо написать следующее:
Код
play music "sound/music.mp3"

"sound/music.mp3" - путь расположения файла.
Воспроизведение будет бесконечно повторяться. Дабы его остановить, используйте:
Код
stop music


Звук
Помимо музыки, немаловажным являются и звуки.

В Ren'Py разница между музыкой и звуком, в том, что музыка бесконечно повторяется, а звук проигрывается лишь раз.
Звук можно воспроизводить поверх музыки.
К примеру:
Код
label start:
    play music "sound/music.mp3"
    "Ваш код"
    play sound "sound/door.wav"
    stop music





Альбом
Можно создать "альбом", указав файлы, которые будут проигрываться.
Код
    queue music ["sound/music1.mp3", "sound/music2.mp3", "sound/music3.mp3", "sound/music4.mp3", "sound/music5.mp3"]

Воспроизводит все указанные файлы, в порядке очереди. После проигрывания последнего, альбом повторяется.
Если необходимо лишь разовое воспроизведение, можно использовать:
Код
    queue sound ["sound/music1.mp3", "sound/music2.mp3", "sound/music3.mp3", "sound/music4.mp3", "sound/music5.mp3"]


Голоса

В Ren'Py можно воспроизводить и озвучивание персонажей.
Код
label start:
    voice "fr1.ogg" #....воспроизведение записанной озвучки.
    "Первая реплика."
    voice "fr2.ogg" #....воспроизведение записанной озвучки.
    "Вторая реплика."
    voice sustain #....продолжить воспроизведение предыдущей озвучки.
    "Третья реплика"

P.S.S.S. Если во время первой реплики вывести вторую, то воспроизведение "fr1.ogg" прервётся, и начнётся воспроизведение "fr2.ogg". Но если после реплики будет стоять строка voice sustain, то озвучивание будет продолжать проигрываться.

Используя вышеперечисленное, можно создать неповторимую атмосферу в вашей визуальной новелле.

©Программист Celestial Novels


Автор материала: Sota
Материал от пользователя сайта.



Ren'Py 26 Сентября 2014 16445 Sota sound, Озвучка, регулировка громкости, Music, голоса, озвучки, Voice, музыка, управление каналами, звуки 5.0/7

Комментарии (28):
3
1 barsunduk   (26 Сентября 2014 21:02)
860
ещё может не хватить звуковых каналов.
Код
init:
# регистрируем новый канал для фоновых шумов на локациях:
   $ renpy.music.register_channel("bgs", "sfx", loop=True)

label start:
# запускаем одновременно музыку, зацикленный фоновый шум и какой-нибудь звук:
   play music "music1.ogg"
   play bgs "street_noise.ogg"
   play sound "bus.ogg"

годные статьи. я кое-каких вещей не знал. теперь буду пользоваться.

0
2 Sota   (26 Сентября 2014 21:11)
132
спасибо ^^ а на счёт каналов, я ими не пользовался, вот и забыл их упомянуть, спасибо, что напомнили :3

0
3 Leshiy133   (15 Сентября 2015 23:03)
8334
"музыка бесконечно повторяется, а звук проигрывается лишь раз."

А можно звук как-нибудь зациклировать? Например, шум дождя, чтобы проигрывался подряд до stop sound всю нужную сцену?

0
4 barsunduk   (16 Сентября 2015 14:35)
860
добавить:
loop True
это и есть включение повторения

0
5 Leshiy133   (16 Сентября 2015 14:46)
8334
т.е. написать:
play sound "Sound/rain.mp3" loop true
так?

0
6 barsunduk   (16 Сентября 2015 15:33)
860
проще было попробовать, чем спрашивать)

0
7 Leshiy133   (16 Сентября 2015 17:54)
8334
не работает, игра не запускается вообще
angry

пишет что-то на забугорных йазыках:
could not parse statement:
play sound "Sound/rain.mp3" loop -> true

0
8 barsunduk   (16 Сентября 2015 18:16)
860
$ renpy.music.play("Sound/rain.mp3", "sound", loop=True)

0
10 Leshiy133   (16 Сентября 2015 18:20)
8334
не может быть music.play
music - играет отдельно, фоновая музыка

Задача - ЗВУК(!) шум дождя наложить циклически поверх уже играющей фоновой музыки...

0
9 barsunduk   (16 Сентября 2015 18:19)
860
но лучше не заниматься ерундой, а воспользоваться способом, который я описал в первом комментарии - добавить канал для зацикленных звуков, а звуковой канал оставить для одиночных. тогда будет 3 канала, которые могут работать одновременно:

1) music - зацикленная музыка
2) bgs - зацикленные фоновые эффекты
3) sound - незацикленный звук

0
11 Leshiy133   (16 Сентября 2015 18:21)
8334
там не понятно как это регистрировать и т.д., где оно вообще должно быть и как чётко прописано безо всяких ... и решёток, чётко что именно писать (сколько вешать в граммах...)

0
12 barsunduk   (16 Сентября 2015 18:30)
860
там всё понятно написано. даже мозг включать не надо, тупо копируй код и запускай. можешь комментарии читать после решеток, можешь не читать. если это непонятно, то советую бросить программирование. явно не твоё.

0
13 Leshiy133   (16 Сентября 2015 18:35)
8334
У меня уже 3 акта (из 4х) в новеллке закончены) Всё там моё) Вопрос был, как звук дождя зациклить в конкретной сцене, а не снискать тонны оскорблений от "мега-профов" которые music от sound не отличают =.=

В первом коменте вообще не понятно ГДЕ и В КАКОЙ ВКЛАДКЕ это делается и как это написать без грёбанных решёточек.

0
14 barsunduk   (16 Сентября 2015 20:07)
860
где оскорбления? это так, наблюдения и выводы))

0
15 Leshiy133   (16 Сентября 2015 20:09)
8334
ага-ага, тот кто говорит "не твоё" сразу всегда показывает своё низкое интеллектуальное развитие.
У меня всё путём и игра прекрасно кодится, просто возник вопрос с циклическим шумом, сразу горе-профессионалы притопали, как и ожидалось) Ну-ну.
bad

sound у них == music
loop можно прописать с loop true
ну-ну) ага-ага) запускайте XD

0
25 Craft_Scripts_Game   (17 Декабря 2016 12:04)
48583
Звук тоже является музыкой поэтому его можно
зациклить с помощью команды play music.
Пример:
play music "sound.wav"
...

0
16 Alex_Apple   (16 Сентября 2015 20:10)
12449
Где хочешь там и пишешь. Всё что в init прочитываеться в первую очередь, так что пиши где тебе удобно.

0
17 Leshiy133   (16 Сентября 2015 20:13)
8334
как оказалось, от НАСТОЯЩИХ профессионалов своего дела, нужно просто прописать слово "loop" после звука и он сам собой зациклится. Никаких true, никакой возни с каналами.

0
24 Nicolas_Soro   (17 Декабря 2016 03:32)
48577
Это что! Как добавить концовку к незаконченной новелле - это вопрос!
То есть нужно, что бы после последней сцены, запускалась концовка, то есть эндинг, причём переход с последней сцены на на концовку. Плавно. И чтобы ещё титры были. Файл, если такой создать в Adobe Flash, будет распознаваться новеллой? То есть воспроизводиться будет И какой должен быть формат? swf? И что нужно приписать, чтобы прикрутить его к новелле? И в какой именно папке подобные файлы обычно размещаются? Жду ответа.

0
18 RedCupcake   (16 Января 2016 12:24)
17525
Куда музыку кидать?

0
19 Alex_Apple   (08 Февраля 2016 07:29)
12449
Можешь прямо game кидать, или отдельную папку создать. Главное чтобы она была в game.
Если музыка в отдельной папке, то нужно писать так:
"название папки/music.mp3"
А если она в game:
"music.mp3"

0
20 AdelaideCoypel   (08 Мая 2016 23:53)
31238
В итоге все равно непонятно, как сделать так, чтобы музыка в главном меню заканчивалась, когда начинается игра.

0
23 nastia_manko   (12 Июля 2016 19:54)
12294
пфф...просто:
label start:
stop music
bad

0
21 TakoyamaSeory   (06 Июня 2016 21:00)
22105
Как сделать так что бы в главном меню игралась одна музыка, а в самой игре уже играла другая

0
22 levvsev   (08 Июня 2016 12:37)
32779
Можно поподробнее про queue? Его надо писать вместо play music или как переменную?

0
26 Dolphin13   (10 Декабря 2017 14:35)
68751
Я не могу понять,как поставить музыку на главное меню?

1
27 Kko   (15 Декабря 2017 11:49)
70015
Это вам в options.rpy установить значения для define config.main_menu_music.

0
28 Alvsvartr   (11 Января 2018 11:50)
64649
Друзья! Спасибо, barsunduk , зарегистрировал дополнительный канал "$ renpy.music.register_channel("bgs", "sfx", loop=True)". А теперь вопрос, можно ли установить для этого канала уровень громкости по умолчанию. Перепробовал множество команд из свободного доступа, они вроде как работают (движок ошибку не показывает), но уровень громкости остаётся прежним.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]