В визуальных новеллах музыка играет ключевую роль. Она является основным инструментом для создания и поддержания неповторимой атмосферы. В 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
MP3 OGG WAV
Эффект нарастания/убывания
Если вам необходимо начать воспроизведение музыки/звука более плавно, для этого есть такой эффект:
Код
play music "sound/music.mp3" fadein(5.0)
Громкость музыки будет нарастать плавно, в течении 5 секунд.
Для плавного убывания звука/музыки:
Код
stop music fadeout 2 #....плавный спад музыки, в течении 2 секунд. stop sound fadeout 4 #....плавный спад звука, в течении 4 секунд.
Громкость
Можно устанавливать громкость для уже проигрывающей музыке или звуков.
Код
$ renpy.sound.set_volume(0.5) #....установить громкость звука на 50% $ renpy.music.set_volume(0.5) #.....установить громкость музыки на 50%
К примеру, в нужный момент убавить громкость музыки до 30%:
Код
laber start: play music "sound/music.mp3" "Ваш код" $ renpy.music.set_volume(0.3) 'Нужный момент'
Аудио-канал
Также, можно управлять левым и правым аудио-каналом.
Код
$ renpy.music.set_pan(-1, 1) #....проигрывание музыки только с левой стороны, будь то колонка или наушник. $ renpy.music.set_pan(1, 2) #....проигрывание музыки только с правой стороны, будь то колонка или наушник. $ renpy.music.set_pan(0, 1) #....проигрывание музыки стандартно, с обеих сторон.
P.S.S. Для звуков можно проделывать то же самое, только заменив music, на sound.
Код
$ renpy.sound.set_pan(1, 2) #...звук лишь в правом канале.
Это может придать дополнительный эффект погружения.
К примеру, нам нужно воспроизвести звук закрывающейся двери лишь в левом аудио-канале, дабы создать эффект того, что дверь закрылась слева от нас.
Код
label start: play sound "door.wav" $ renpy.sound.set_pan(-1, 1)
Альбом Можно создать "альбом", указав файлы, которые будут проигрываться.
Код
queue music ["sound/music1.mp3", "sound/music2.mp3", "sound/music3.mp3", "sound/music4.mp3", "sound/music5.mp3"]
Воспроизводит все указанные файлы, в порядке очереди. После проигрывания последнего, альбом повторяется. Если необходимо лишь разовое воспроизведение, можно использовать:
P.S.S.S. Если во время первой реплики вывести вторую, то воспроизведение "fr1.ogg" прервётся, и начнётся воспроизведение "fr2.ogg". Но если после реплики будет стоять строка voice sustain, то озвучивание будет продолжать проигрываться.
Используя вышеперечисленное, можно создать неповторимую атмосферу в вашей визуальной новелле.
init: # регистрируем новый канал для фоновых шумов на локациях: $ renpy.music.register_channel("bgs", "sfx", loop=True)
label start: # запускаем одновременно музыку, зацикленный фоновый шум и какой-нибудь звук: play music "music1.ogg" play bgs "street_noise.ogg" play sound "bus.ogg"
годные статьи. я кое-каких вещей не знал. теперь буду пользоваться.
но лучше не заниматься ерундой, а воспользоваться способом, который я описал в первом комментарии - добавить канал для зацикленных звуков, а звуковой канал оставить для одиночных. тогда будет 3 канала, которые могут работать одновременно:
1) music - зацикленная музыка 2) bgs - зацикленные фоновые эффекты 3) sound - незацикленный звук
там не понятно как это регистрировать и т.д., где оно вообще должно быть и как чётко прописано безо всяких ... и решёток, чётко что именно писать (сколько вешать в граммах...)
там всё понятно написано. даже мозг включать не надо, тупо копируй код и запускай. можешь комментарии читать после решеток, можешь не читать. если это непонятно, то советую бросить программирование. явно не твоё.
У меня уже 3 акта (из 4х) в новеллке закончены) Всё там моё) Вопрос был, как звук дождя зациклить в конкретной сцене, а не снискать тонны оскорблений от "мега-профов" которые music от sound не отличают =.=
В первом коменте вообще не понятно ГДЕ и В КАКОЙ ВКЛАДКЕ это делается и как это написать без грёбанных решёточек.
ага-ага, тот кто говорит "не твоё" сразу всегда показывает своё низкое интеллектуальное развитие. У меня всё путём и игра прекрасно кодится, просто возник вопрос с циклическим шумом, сразу горе-профессионалы притопали, как и ожидалось) Ну-ну.
sound у них == music loop можно прописать с loop true ну-ну) ага-ага) запускайте XD
как оказалось, от НАСТОЯЩИХ профессионалов своего дела, нужно просто прописать слово "loop" после звука и он сам собой зациклится. Никаких true, никакой возни с каналами.
Это что! Как добавить концовку к незаконченной новелле - это вопрос! То есть нужно, что бы после последней сцены, запускалась концовка, то есть эндинг, причём переход с последней сцены на на концовку. Плавно. И чтобы ещё титры были. Файл, если такой создать в Adobe Flash, будет распознаваться новеллой? То есть воспроизводиться будет И какой должен быть формат? swf? И что нужно приписать, чтобы прикрутить его к новелле? И в какой именно папке подобные файлы обычно размещаются? Жду ответа.
Можешь прямо game кидать, или отдельную папку создать. Главное чтобы она была в game. Если музыка в отдельной папке, то нужно писать так: "название папки/music.mp3" А если она в game: "music.mp3"
Друзья! Спасибо, barsunduk , зарегистрировал дополнительный канал "$ renpy.music.register_channel("bgs", "sfx", loop=True)". А теперь вопрос, можно ли установить для этого канала уровень громкости по умолчанию. Перепробовал множество команд из свободного доступа, они вроде как работают (движок ошибку не показывает), но уровень громкости остаётся прежним.
А есть команда которая задаст изменение скорости воспроизведения аудио? К примеру, хочу, чтобы играла со скоростью 85% от той, в какой аудиозапись присутствует в оригинале. Хочу отметить, что вместе с темпом было бы неплохо и изменение тональности, это чтобы не было "артефактов" в воспроизведении. Возможно такая команда есть, которая изменяет скорость (вкупе темп и тон сразу), возможно есть команды, которые меняют темп и тон отдельно. Но хочется узнать о правдопободности факта существования таковых.
Комментарии к записи: 35
# регистрируем новый канал для фоновых шумов на локациях:
$ renpy.music.register_channel("bgs", "sfx", loop=True)
label start:
# запускаем одновременно музыку, зацикленный фоновый шум и какой-нибудь звук:
play music "music1.ogg"
play bgs "street_noise.ogg"
play sound "bus.ogg"
годные статьи. я кое-каких вещей не знал. теперь буду пользоваться.
А можно звук как-нибудь зациклировать? Например, шум дождя, чтобы проигрывался подряд до stop sound всю нужную сцену?
loop True
это и есть включение повторения
play sound "Sound/rain.mp3" loop true
так?
пишет что-то на забугорных йазыках:
could not parse statement:
play sound "Sound/rain.mp3" loop -> true
music - играет отдельно, фоновая музыка
Задача - ЗВУК(!) шум дождя наложить циклически поверх уже играющей фоновой музыки...
1) music - зацикленная музыка
2) bgs - зацикленные фоновые эффекты
3) sound - незацикленный звук
В первом коменте вообще не понятно ГДЕ и В КАКОЙ ВКЛАДКЕ это делается и как это написать без грёбанных решёточек.
У меня всё путём и игра прекрасно кодится, просто возник вопрос с циклическим шумом, сразу горе-профессионалы притопали, как и ожидалось) Ну-ну.
sound у них == music
loop можно прописать с loop true
ну-ну) ага-ага) запускайте XD
зациклить с помощью команды play music.
Пример:
play music "sound.wav"
...
То есть нужно, что бы после последней сцены, запускалась концовка, то есть эндинг, причём переход с последней сцены на на концовку. Плавно. И чтобы ещё титры были. Файл, если такой создать в Adobe Flash, будет распознаваться новеллой? То есть воспроизводиться будет И какой должен быть формат? swf? И что нужно приписать, чтобы прикрутить его к новелле? И в какой именно папке подобные файлы обычно размещаются? Жду ответа.
Если музыка в отдельной папке, то нужно писать так:
"название папки/music.mp3"
А если она в game:
"music.mp3"
label start:
stop music