Make Visual Novels! Smart Barks for RenPy!
A downloadable asset pack
Make Visual Novels! Smart Voice Barks for Ren'Py!
So you've been hearing about how all of the best visual novels have great voice acting, but you're not quite ready to do full voice acting and make use of Ren'Py's auto voicing features. If you're planning on adding partial voice acting to your visual novel, the Make Visual Novels! Smart Voice Barks for Ren'Py is for you!
Sorry, I need a second, my dogs are barking!
The Make Visual Novels! Smart Voice Barks for Ren'Py greatly simplifies adding partial voice acting to your visual novel. Adding partial voice acting without it would require you to add lots of voice commands to your scripts, hack apart the existing auto voicing, or implement your own system to handle the load. But the Make Visual Novels! Smart Voice Barks system allows you to map your characters and their key words and phrases to voice files
Instructions
Download the RPY files from here and drop them in your visual novel's main folder next to your other scripts. Then, open MVNSmartBarks.RPY and follow the instructions inside to set up your own characters and voice lines!
- Go find your options.rpy and make sure you have config.has_voice set to true. By default it's set to False. Without it, voice won't work period!
- Next, all your characters need to be defined as characters with voice tags. These are tools that'll help us later!
- Populate the included tables with your character names. (Your character keys!)
- Assign keywords you want to trigger certain voice files below for each Character Key. (Your phrase keys!)
- Assign any number of voice files to each Phrase Key, inside of [], each seperated by a comma and surrounded by quotes. (Your Voice Values!)
- Refer to the instructions inside of MVNSmartBarks.RPY for more information!
For the accompanying voice pack:
Download the .OGG voice files, if you'd like to use the 3 included sets of partial voice acting, and place them in the voice directory under your visual novel's main folder!
What's in it?
- MVNSmartBarks.RPY: Where the magic happens! Here you assign your characters their special keywords and phrases and match them to the voice files you want to play.
- MVNSB.RPY: Where the magic actually happens-- We just told you that the magic happens in the last one so you wouldn't go in here and accidentally change something that breaks everything.
- MVN Barks.zip: A total of 30 pre-made bark lines from 3 of our voice actors that you're welcome to use in your visual novel projects.
- I might have left some of my hopes and dreams in there. Let me know if you find them, okay? I need those back.
What makes it awesome?
- You can pet the dog. (But you'll have to make him, implement him, and then make a petting minigame. We can't do everything for you!)
- You never have to add a voice command to your Ren'Py scripts again! Though you still can if you need to.
- You can use it for more than just voice lines! A clever visual novelist could use it to cue sound effects to a given keywords, like 'Intruder Alert' triggering an alarm sound effect.
- If you assign multiple voice lines to keywords or phrases, it will randomly play one of them when called upon. This gives your players a more dynamic experience!
- You add as many phrases, voice files, or characters to the bark map as you have! The system is efficient, fast, and light weight!-- At least we hope it is. We never heard back from the play tester.
- The last one was a joke. We did test it! (Though if you hear from our play tester please let us know, their family is very worried.)
We're holding this asset pack ransom. That's right, we have your dog. You thought we were going to ask you to donate? Not this time.
When the Make Visual Novels! Smart Voice Barks for Ren'Py receives $200 in purchases, it'll be made free for everyone. Our community believes in paying people for their work and contributions. This pack was paid for by the DevTalk community, including paying the voice actors for their recordings and time.
By paying for this pack, you're giving back to the DevTalk community and helping it build bigger, better, and way crazier stuff. You like crazy stuff, don't you?
Update:
We hit our first goal of $200, meaning it is now free for everyone, forever! Until our fund-raising effort is over, you can grab your free copy of the entire pack from the downloadable titled "All of the above, but for free!" Once our fund raising ends, the individual downloads will be free as well. Everything within the "All of the above, but for free!" package is actually everything! For real!
Update:
We hit all goals! The dog is free! Look forward to a speaker event Summer 2025, with the new audio tools and menus to be announced soon!
Updated | 11 days ago |
Status | Released |
Category | Assets |
Rating | Rated 5.0 out of 5 stars (2 total ratings) |
Author | Stella @ MakeVisualNovels |
Download
Click download now to get access to the following files:
Comments
Log in with itch.io to leave a comment.
Hi, it says the pack should be free, but it doesn't actually give me an option to download? Is this correct?
Hey there! Until the fund raising is over on the 30th, you can grab it for free via the demo download attached to it. A bit of quirkiness with Itch. The "demo" download isn't actually a demo, it's the full thing. It will have a more normal way of getting it once it's over.
Can I get them to work even when the game is played in different language?
Unfortunately, barks are not being played when trying to play in other languages. For example, the default 'None' language is set to English, but when I try playing the game in Portuguese, barks are not called due to the 'what' value not being in 'None' English. Can it be done so that the ones used for English can be played no matter which translation is used so I don't need to create a different one for each language?
My project is quite big, and I would like to avoid defining all Phrase Keys for every Character in every language.
Hey there! At present, if what is being sent to the text box isn't defined in the dictionary, then it won't play a voice file. The language setting isn't factored in at all, only what is being sent to display. In your case, it's a bit of a double edged sword, as you could use that to implement dubbed lines if you also had different voice actors for different languages, but as you correctly guessed, you would need to define keys for each language.
That said, it's a feature I could add to the list once the next goal is hit.
This looks neat!
There seems to be some issues with the code. It conflicts with the Extend command and Side-Images for some reason.
I'm sorry, but an uncaught exception occurred. While running game code: File "game/story/st_00_prologue.rpy", line 29, in script extend "?{w=1.5}" File "game/screens/MVNSB.rpy", line 18, in SB_say if who.name in character_voice_lines: AttributeError: '_Extend' object has no attribute 'name' -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/story/st_00_prologue.rpy", line 29, in script extend "?{w=1.5}" File "F:\renpy-8.3.0-sdkarm\renpy\ast.py", line 2572, in execute Say.execute(self) File "F:\renpy-8.3.0-sdkarm\renpy\ast.py", line 615, in execute renpy.exports.say(who, what, *args, **kwargs) File "game/screens/MVNSB.rpy", line 18, in SB_say if who.name in character_voice_lines: AttributeError: '_Extend' object has no attribute 'name' Windows-10-10.0.19045 AMD64 Ren'Py 8.3.0.24082114 JPDE1 - REFRAIN DEMO_A 1.0 Wed Oct 23 22:17:17 2024
I'm sorry, but an uncaught exception occurred. While running game code: File "game/story/st_00_prologue.rpy", line 70, in script pi_x shock "(So...{w=0.5} So many people...{w=0.5} My stars and garters, I didn't think so many people could be in the same place all at once!)" File "game/screens/MVNSB.rpy", line 35, in SB_say return renpy.store.say(who, what, *args, **kwargs) File "renpy/common/00library.rpy", line 321, in say who(what, interact=interact, *args, **kwargs) Exception: Say has image attributes ('shock',), but there's no image tag associated with the speaking character. -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/story/st_00_prologue.rpy", line 70, in script pi_x shock "(So...{w=0.5} So many people...{w=0.5} My stars and garters, I didn't think so many people could be in the same place all at once!)" File "F:\renpy-8.3.0-sdkarm\renpy\ast.py", line 2572, in execute Say.execute(self) File "F:\renpy-8.3.0-sdkarm\renpy\ast.py", line 615, in execute renpy.exports.say(who, what, *args, **kwargs) File "game/screens/MVNSB.rpy", line 35, in SB_say return renpy.store.say(who, what, *args, **kwargs) File "renpy/common/00library.rpy", line 321, in say who(what, interact=interact, *args, **kwargs) File "F:\renpy-8.3.0-sdkarm\renpy\character.py", line 1389, in __call__ old_attr_state = self.handle_say_attributes(False, interact) File "F:\renpy-8.3.0-sdkarm\renpy\character.py", line 1208, in handle_say_attributes if self.resolve_say_attributes(predicting, attrs): File "F:\renpy-8.3.0-sdkarm\renpy\character.py", line 1134, in resolve_say_attributes raise Exception("Say has image attributes %r, but there's no image tag associated with the speaking character." % (attrs,)) Exception: Say has image attributes ('shock',), but there's no image tag associated with the speaking character. Windows-10-10.0.19045 AMD64 Ren'Py 8.3.0.24082114 JPDE1 - REFRAIN DEMO_A 1.0 Wed Oct 23 22:17:56 202410/26/24 Edit: This is fixed!
- Extends should now be (properly) supported
- Extend statements will be evaluated for their new content, allowing you to trigger different barks off of subsequent extends.
I'll take a peek at it and see if I can reproduce it. Is it only with extends and side images together?
So far yes. I had another team member help test it and with simple dialogue statements, it's all good, works as intended.
I'm pretty sure I found the issue. If I'm right, I'll get an update out ideally sometime this weekend. Sorry about that, and thanks for filling me in!
Glad to hear it! Happy to have helped.
Should be all fixed up now. The new version is up as of right now. You only need to update your MVNSB.rpy file.
Thank you so much! Can't wait to put it to good use ^^
This is so cool, what the heck? Congrats for releasing the pack!
*barks through keywords* ...oh this is *good*.