Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 04-12-2022, 06:45 AM   #1
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default A Sound FX search and rename tool based on the Universal Category System (UCS)



UCS official website:
https://universalcategorysystem.com/

The Universal Category System (UCS) is a public domain initiative by Tim Nielsen, Justin Drury, Kai Paquin, among others, and supported by sound librarians, vendors, and users from around the globe.

Our aim is to provide and encourage the use of a set category list for the classification of sound effects. We hope that in doing so, we can offer a framework for consistent categorization of sound effects, offer uniformity in a filename structure, and ease the pain of maintaining a sound effects library.

We also hope to provide tools to make naming and categorizing sound effects easier for everyone who maintains their own personal or a professional library.



The script is an advanced searcher based on the UCS system that allows you to search for resources using a combination of Category[List 1: Categories], SubCategory[List 2: Subcategories] and Synonyms[List 3: Synonyms]. It also supports searching CatID, multi-language switching (English, Chinese have been added so far), conditional selection and user customisation.

Instructions for use:
Before using the script, you must first open: Media explorer: Show/hide media explorer

Data file description:
UCS_list.csv file: script preset categories (based on the latest UCS full translation v8.1, which will be updated from time to time)

UCS_list_custom.csv file: user-defined categories (can be opened and edited with text or Notepad++)

Remember to back up your custom list file as they will be overwritten by version updates

Run by:
zaibuyidao_USC Tags Search.lua or zaibuyidao_USC Tags Rename.lua is the entry file, just find the script in [Actions List] and run it

Shortcut Description:

Clicking on a list item: Refresh the secondary list, and if you click on a category item, refresh the synonyms for that category item

Left double click: adds the list item to the search box (CatID is added if CatID is active)

Shift+left click on the list bar: only English keywords will be added (in any language)

Alt+left click on the filter box or search box (or right double click): empty the content

Ctrl+double click on the search box or filter box: copy the search box and filter box words

Shift+left click on the search box: perform the search directly
Enter: [SEARCH] Search button

Ctrl+Enter : [Filter] Filter button
F5: [Reset all] Reset button

Download script:

Add My ReaPack Repo:
https://github.com/zaibuyidao/ReaScr...ster/index.xml

1. To install the GUI library, search in ReaPack for:
Get Lokasenna_GUI library

2. Install the UCS script, search in ReaPack for:
UCS Tag Search Rename

3. Find the [zaibuyidao_USC Tags Search] / [zaibuyidao_USC Tags Rename] script in the action list and Run

Known issues:
Inputting Chinese into the filter box or search box will be garbled

The script will be made available for free to anyone who needs it, and since Lokasenna no longer supports the GUI, I hope someone can fix the Chinese input problem. Many thanks!

Last edited by zaibuyidao; 04-18-2022 at 11:14 AM.
zaibuyidao is offline   Reply With Quote
Old 04-12-2022, 08:20 AM   #2
alexgameaudio
Human being with feelings
 
alexgameaudio's Avatar
 
Join Date: Jun 2020
Location: Los Angeles, CA
Posts: 93
Default

This is really awesome!!!

Maybe only 10% of my library uses UCS naming, but that is changing. It's really only though tools like this and community adoption that it'll continue to grow.
__________________
Sound Designer, Audio Lead at Heart Machine
alexgameaudio is offline   Reply With Quote
Old 04-12-2022, 09:42 AM   #3
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 430
Default

Interesting. How can we know if a certain sample library developer uses UCS?
reapero is offline   Reply With Quote
Old 04-12-2022, 05:01 PM   #4
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default

The tool uses keywords provided by UCS to search for resources as long as the sample library file name or metadata contains the keyword. Also, you can customize the keywords.
zaibuyidao is offline   Reply With Quote
Old 04-13-2022, 04:03 AM   #5
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,749
Default

This is interesting. Thanks!
IXix is offline   Reply With Quote
Old 04-13-2022, 04:45 AM   #6
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Very nice!!

Love the way you browse the categories.

May i make a wish for an expansion of this tool? Or maybe it should be a separate, because it's quite a request...

I would have love to have the ability to also make UCS name formatting to selected items/regions keeping the existing item or region name using wildcards , $items and $regions. Just so I could add UCS CAT ID, and creator ID.

So for example, selecting 5 items in the arrange, or regions in the region manager, then pick the UCS CAT ID that i want to give my selected items/regions, and then rename.

Today I use Ascendan_UCS Renaming tool, which works very good, but the settings and renaming takes place outside reaper, on an HTML page. It too much alt-tabbing and scrolling up and down to find the CATID. Would have been so great if I never had to leave Reaper.

Having the same functions from ascendans UCS renaming tool, but presented in a script that looks like your search tool, staying in reaper all the time, would have been amazing.
hans is offline   Reply With Quote
Old 04-13-2022, 06:01 AM   #7
Mordi
Human being with feelings
 
Mordi's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 935
Default

This is neat!

Quote:
Originally Posted by reapero View Post
Interesting. How can we know if a certain sample library developer uses UCS?
They’ll often have the UCS icon displayed on their store page. Otherwise, you can tell by how the filename is structured.
https://universalcategorysystem.com/
__________________
Mordi is offline   Reply With Quote
Old 04-13-2022, 08:40 AM   #8
acendan
Human being with feelings
 
acendan's Avatar
 
Join Date: Jun 2020
Location: Florida, US
Posts: 35
Default

Quote:
Originally Posted by hans View Post
...
Today I use Ascendan_UCS Renaming tool, which works very good, but the settings and renaming takes place outside reaper, on an HTML page. It too much alt-tabbing and scrolling up and down to find the CATID. Would have been so great if I never had to leave Reaper.

Having the same functions from ascendans UCS renaming tool, but presented in a script that looks like your search tool, staying in reaper all the time, would have been amazing.
Ah, sorry to hear about the frustrations with using a Web Interface! I've considered porting my UCS Tool to ReaScript using something like ReaImGui, but honestly, the UCS tool is just too dependent on Javascript at the moment. I might be able to make a "light" version of the tool that runs within Reaper, but it certainly will not have the same quality of life features like the presets system, extensive metadata support, or user settings import/export.

Also, as a developer, working with web development libraries is so much easier when it comes to building attractive user interfaces. But that's a bit subjective...
acendan is offline   Reply With Quote
Old 04-13-2022, 10:07 AM   #9
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Thanks Acendan for replying to my post! Thanks for the UCS Renaming Tool, it has been great use to me! Using other scripts of yours and I'm really thankful for them too

You see, I'm converting a lot of non-UCS files to UCS files daily, and the most important thing for me is finding the right CATID and write it to a sound effect quickly. I guess I'm a special case since I do this more than most people, hehe.

Most of the files I convert has very limited metadata information in the first place, so I would have been fine without a lot of extensive metadata functions in a script like this.

I'm right now switching between your UCS renaming Tool and TJF's UCS Search for CAT ID in my workflow. I find it sometimes be quicker to find the right CAT ID in TJFs UCS search, copy the CAT ID by only clicking on it and then paste it in the prefix of the selected items or region using another script.
But this is also a bit unsmooth.

What I like about the TJF's and zaibuyidao's script is the compact view over the categories and the quick way to find the right CATID.

Thanks for reading my posts, and maybe it could lead to something in the future!


Happy Easter!
hans is offline   Reply With Quote
Old 04-14-2022, 08:52 AM   #10
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default


I have a relatively simple solution or can do all the information in one input box, like this(Only attempted to do a test function)

CreatorID or SourceID can be pre-written in the UCS_custom file and can be added quickly.

Following the results of the above tests, it should be possible to implement a simple solution for UCS renaming.

Last edited by zaibuyidao; 04-18-2022 at 10:59 AM.
zaibuyidao is offline   Reply With Quote
Old 04-16-2022, 11:14 AM   #11
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default

ucs-tags-rename.gif
The UCS renaming script is finally complete. It extends the functionality of the UCS search script to support naming of Region&Marker Manager / Region&Marker Time Selection / Take / Track, most wildcards, sorting options for Take, and Separator selection. Other features are essentially the same as the UCS search script.

CreatorID or SourceID can be pre-written in the UCS_custom file for quick addition.

The script also integrates with my suite of scripts that have similar functionality to Wwise batch renaming, so it is much faster to develop. If further batch renaming is required at a later stage, using them will make you more efficient. Search on REAPACK: zaibuyidao batch rename

I'll integrate the code and submit a version later.

--

Since Lokasenna GUI supports Chinese display, I chose his GUI library (ReaImGui does not support Chinese). Unfortunately Lokasenna no longer provides support for the GUI and the inability to input Chinese is still a pain in the arse, I wonder if anyone can fix it?

Last edited by zaibuyidao; 04-18-2022 at 10:58 AM.
zaibuyidao is offline   Reply With Quote
Old 04-18-2022, 09:44 AM   #12
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default


Updated version to include CatShort, also, support for CatID / CatShort enabled or disabled display. Added shortcut keys to toggle different lists above a keyword.

Shortcut keys:
Ctrl + Double click: only keywords in the current language will be added.
Shift + Double click: only English keywords will be added in any language.
Alt + Double click: only CatID or CatShort will be added

F1: Toggle display of CatID
F2: Toggle display of CatShort
F3: Toggle display of UCS list
F4: Toggle display of the Custom list
zaibuyidao is offline   Reply With Quote
Old 04-19-2022, 04:44 AM   #13
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Wow, Nice! Thanks a lot for these updates!! I'll take this in use right away.


Trying to set CATID to items using $takename, but I don't get it to work properly.

An example:
I have selected three items named;
Hello
123
Goodbye

I have selected to process takes and I have written the following into the box:
AIRSuck_$takename

When I click rename my items gets these names:

AIRSuck_AIRSuck_AIRSuck_Hello
AIRSuck_AIRSuck_AIRSuck_123
AIRSuck_AIRSuck_AIRSuck_Goodbye


Am I doing something wrong? My purpose here is to preserve items names and only add CATID to the files.



Another thought:

Wouldn't it be great if you could only add one CATID to the typebox when double-clicking, and only to the start of the string (UCS rules anyway) ?. So every time you want to change the CATID you just double-click on it?

Does this make sense?
hans is offline   Reply With Quote
Old 04-20-2022, 09:14 AM   #14
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default

Quote:
Originally Posted by hans View Post
Am I doing something wrong? My purpose here is to preserve items names and only add CATID to the files.
Ah, thank you for spotting the problem, I will fix it as soon as possible.

Quote:
Originally Posted by hans View Post
Another thought:

Wouldn't it be great if you could only add one CATID to the typebox when double-clicking, and only to the start of the string (UCS rules anyway) ?. So every time you want to change the CATID you just double-click on it?

Does this make sense?
Yes, it was very useful. I will add this feature as soon as possible. Thank you.
zaibuyidao is offline   Reply With Quote
Old 04-20-2022, 02:34 PM   #15
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Thanks a lot!

I'm also taking the freedom to make some future requests.
Want to leave out the mouse-clicking as much as possible. Hope you find them interesting!

1. Typing in the search box will auto-search for results. Right now, after search, the keyboard input focus disappears from the box after search, and you have to manually click in the field to focus the box again.
2. arrows up/down/left/right for highlighting and browsing search results and move between UCS CAT and SUB CAT boxes.
3. Press Shift+Enter (or another shortcut) to add highlighted text to rename box.
4. ALT + Enter (or another shortcut) to process renaming.
5. Possibility to TAB (or another shortcut) between Search field box and Rename field box.




Thanks for consideration!
And sorry for the extensive wishlist. I couldn't resist.

Last edited by hans; 04-21-2022 at 04:39 AM.
hans is offline   Reply With Quote
Old 04-22-2022, 04:05 AM   #16
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default

Updated with a new version to support that the CatID added is always at the very beginning. Repeatedly add CatIDs, the new one will replace the old one.
Also, fixed the take renaming bug.

Added several new shortcuts:

TAB: Toggle filter text box and rename text box
Alt+Enter(or Enter): process renaming
Ctrl+Shift+Double-click Listbox: toggle the separators to '-'
Alt+Shift+Double-click Listbox: toggle the separators to 'none'
F6: Toggle separators to '_'
F7: Toggle separators to '-'
F8: Toggle separators to 'none'

Supports numeric sorting, e.g. v=001 --> BOATFish_Seiner_v=001_PSE_DET
Supports alphabetic sorting, e.g. a=b --> BOATFish_Seiner_a=b_PSE_DET
Supports random strings, e.g. r=5 --> BOATFish_Seiner_r=5_PSE_DET
Mix together to use --> BOATMisc_Battle_1=03_r=5_a=b_PSE_DET

A combination of shortcut keys + mouse clicks + user customisation enables the input of the complete file name field of the UCS as follows:
CatID(-UserCategory)_(VendorCategory-)FXName_CreatorID_SourceID (_UserData)

Quote:
Originally Posted by hans View Post
1. Typing in the search box will auto-search for results. Right now, after search, the keyboard input focus disappears from the box after search, and you have to manually click in the field to focus the box again.
2. arrows up/down/left/right for highlighting and browsing search results and move between UCS CAT and SUB CAT boxes.
3. Press Shift+Enter (or another shortcut) to add highlighted text to rename box.
4. ALT + Enter (or another shortcut) to process renaming.
5. Possibility to TAB (or another shortcut) between Search field box and Rename field box.
Unfortunately, due to the limited functionality of the GUI, 1, 2 and 3 will be difficult to implement. 4, 5 can be supported.

Last edited by zaibuyidao; 04-22-2022 at 10:32 AM.
zaibuyidao is offline   Reply With Quote
Old 04-23-2022, 01:29 AM   #17
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Brilliant! Thank you very much for the update! Very appreciated.
hans is offline   Reply With Quote
Old 07-22-2022, 07:12 AM   #18
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default UCS Suite adds Metadata rendering support.

For sample resources that match the UCS naming convention, use the UCS Metadata rendering script to quickly write metadata to the resources, supporting reading in REAPER Media Explorer as well as Soundminer.


Read metadata in REAPER ME


Read metadata in Soundminer

Working principle.

After selecting the region (item), the script will get the UCS information in the region (item), automatically disassemble the UCS information into the input box, and a bunch of associated tokens will be created after the user determines that these token information is the metadata to be written to the resource. When rendering, check Metadata and metadata will be written to the resources.



Metadata Scripts include:
zaibuyidao_UCS Metadata Item-Region.lua
zaibuyidao_UCS Metadata Item-Take.lua
zaibuyidao_UCS Metadata Region Manager.lua
zaibuyidao_UCS Metadata Region Within Time Selection.lua

Metadata rendering operation steps.

1. Naming (support for regions, Items).
First make the resource name conform to the UCS category system, using the renaming script in the UCS suite - zaibuyidao_UCS Tag Rename.lua to quickly name the resource (or customize it if you do not want to use the UCS category system).


2. Using the metadata rendering script in the UCS suite.

2-1 For reigon naming.

zaibuyidao_UCS Metadata Item-Region.lua -- check the item under the region that will select the region.


UCS Metadata Item-Region Select the item under the selected region, i.e. the selected region. Write metadata (marker) to the selected region


zaibuyidao_UCS Metadata Region Manager.lua -- In the region manager, select the region to run the script.


UCS Metadata Region Manager In the Region Manager, write metadata (marker) to the selected region

zaibuyidao_UCS Metadata Region Within Time Selection.lua -- Running the script in the time selection containing the region.



2-2 Naming for Item

zaibuyidao_UCS Metadata Item-Take.lua -- The selected Item, running the script.



UCS Metadata Item-Take Write metadata (marker) for the selected item object

Choose to use the above 4 scripts according to your actual needs.

3. Rendering.

When rendering, check Metadata and the metadata will be written to the output resource.

The metadata script supports user customization, so you can open the script and change some of the operations yourself to match your specific needs.



Please see the bottom of the first post for UCS Suite script installation.
__________________
Zaibuyidao Github | ReaPack

Last edited by zaibuyidao; 08-03-2022 at 11:26 PM.
zaibuyidao is offline   Reply With Quote
Old 07-22-2022, 10:29 AM   #19
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Thanks zaibuyidao! I like this.
Looking forward to try it out!
hans is offline   Reply With Quote
Old 08-02-2022, 05:14 AM   #20
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Is it possible to add a UCS name removal/edit feature to this UCS package?

For Example:
There are plenty of situations where the CatID of the file(s) is wrong.

I would like to be able to select multiple items or regions and give them all the same and new CatID.
hans is offline   Reply With Quote
Old 08-03-2022, 09:47 PM   #21
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default

Quote:
Originally Posted by hans View Post
For Example:
There are plenty of situations where the CatID of the file(s) is wrong.

I would like to be able to select multiple items or regions and give them all the same and new CatID.
OK, added the Edit CatID script:
zaibuyidao_UCS Edit CatID.lua

Function Description:
Renames the CatID for regions/takes(items) name that matches the UCS naming convention

It has 4 modes:

1. r-sel
Selected take-items means selected regions, will rename the selected region name CatID

2. r-mgr
Opens the Region/Marker Manager page and renames the selected region CatID

3. r-ts
Rename the CatID for the region within the time selection

4. take
Rename the CatID for the selected take-item



Please update the UCS package to get the script.

--

If you need a more complex renaming scheme, try a rename script with a [Wwise - Rename] style.

ReaPack Filter: zaibuyidao batch rename
__________________
Zaibuyidao Github | ReaPack

Last edited by zaibuyidao; 08-05-2022 at 07:42 PM.
zaibuyidao is offline   Reply With Quote
Old 08-05-2022, 02:48 AM   #22
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Oh nice! Thank you very much!

A little "bug" in the "UCS-metadata-item-take etc;
The UCS metadata project marker =Show sneaks in at the beginning of the rendered items, if you choose to include markers in the output section.
hans is offline   Reply With Quote
Old 08-05-2022, 07:22 PM   #23
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default

Quote:
Originally Posted by hans View Post
A little "bug" in the "UCS-metadata-item-take etc;
The UCS metadata project marker =Show sneaks in at the beginning of the rendered items, if you choose to include markers in the output section.
When rendering, please ensure that:
1. Tick the metadata;
2. Do not include markers or regions. (The markers is used as metadata, not as a marker)

__________________
Zaibuyidao Github | ReaPack
zaibuyidao is offline   Reply With Quote
Old 08-07-2022, 04:42 AM   #24
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

I often insert markers on sound effects where specific things happen in the recording. Like a big door opening in an AMB track for example. I usually use project markers to mark events, and therefor I want to export including markers. I could have used take markers, but I like managing and editing markers from the region/marker window.


As it's only the =show marker that is printed to the file, I thought maybe it had to do with the placement of that marker.

If all project markers that your UCS scripts add after user input were instead added slightly after each item / region, wouldn't that be better?

Last edited by hans; 08-07-2022 at 04:47 AM.
hans is offline   Reply With Quote
Old 08-07-2022, 05:02 AM   #25
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

I experience sometimes that the data i put in this box goes to wrong fields.



I guess this is because I'm typing some characters like "," and more in the input boxes that isn't supported. Can i read more about this somewhere?
hans is offline   Reply With Quote
Old 08-07-2022, 06:06 AM   #26
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default

Quote:
Originally Posted by hans View Post
I experience sometimes that the data i put in this box goes to wrong fields.



I guess this is because I'm typing some characters like "," and more in the input boxes that isn't supported. Can i read more about this somewhere?
When using the script for the first time, there will be a description page for the wildcard character. Where "$;" is used instead of "," because the input box does not support entering commas.

To make it easier to understand, I have used the "$;" example in the template and a direct test use will see "$;" being converted to ",".

__________________
Zaibuyidao Github | ReaPack
zaibuyidao is offline   Reply With Quote
Old 08-09-2022, 06:09 AM   #27
zaibuyidao
Human being with feelings
 
Join Date: Jan 2020
Location: Amoy
Posts: 125
Default

Quote:
Originally Posted by hans View Post
As it's only the =show marker that is printed to the file, I thought maybe it had to do with the placement of that marker.

If all project markers that your UCS scripts add after user input were instead added slightly after each item / region, wouldn't that be better?
Maybe you can select "Markers starting with # only" and add "#" in front of the desired marker, only the markers with "#" will be printed. This will not conflict with Metadata's markers.

Since UCS scripts use markers to write Metadata, it is also easier to identify in the Region/Marker window when you need to manage and edit non-Metadata("Markers starting with # only") markers.

--

Well, it seems feasible to put the Metadata markers after the region. I think an option could be provided to let the user decide whether the Metadata markers should be written before or after.

--

OK, the script has been updated. You just need to set, INSERT_MARKERS_AT_END_OF_ITEM = true.
__________________
Zaibuyidao Github | ReaPack

Last edited by zaibuyidao; 08-09-2022 at 08:34 PM.
zaibuyidao is offline   Reply With Quote
Old 08-09-2022, 11:22 PM   #28
hans
Human being with feelings
 
Join Date: Aug 2020
Posts: 141
Default

Wow! Thanks so much! I'll try it out asap!
hans is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:27 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.