hidat / audio_pipeline Goto Github PK
View Code? Open in Web Editor NEWAudio Processing Pipeline Tools
License: MIT License
Audio Processing Pipeline Tools
License: MIT License
When the user sets the File Under tag, automatically capitalize the data they enter.
If there are too many tracks on a disc (such as 30+) to fit in a screen, you just can't see them all. Figure out a way to view the hidden tracks (such as a scrollbar).
Add 'Green Dot' as an option for Obscenity Rating, for those stations that want to be able to specifically track content that is known to have been 'reviewed'.
For instance, trying to update metadata on Lost Souls by Doves:
https://musicbrainz.org/release/81776221-c3ae-4662-8f2f-7a239cbb24af
input>>81776221-c3ae-4662-8f2f-7a239cbb24af
will result in a "track number invalid" message, because there's no track 81776221
happens consistently when first set of characters (before first dash) is all numeric and contains no alpha
I ripped a CD without any metadata, so I used TB to enter the metadata. After entering the metadata and hitting save on the edit window, the main TB screen only displayed the information for the first track. Hitting Next, and then Previous cleared up the problem, so the metadata was indeed properly saved, just not displayed correctly on the refresh.
Right now, TB blows up if you try to pull MBID metadata but the metadata is missing track or disc numbers.
Making it actually work is probably a bit much (TB depends on those track/disc numbers to know what's going on!) but it should at least fail more gracefully - i.e. display an error message, display a helpful error message with recommendations, or at least something.
I think that that is more explanatory...
Allow the user to set a default for a custom tag in the configuration file, and the first time a track or release is viewed, set the tag(s) to these defaults IF they are currently empty.
Change the wording for 'red dot' to 'Red Dot' to be consistent with 'Yellow Dot'
Make the File Walker restartable by hashing the contents of each of the files and checking if a file with that hash already exists before processing the file. Do this by:
Instead of writing out the list of unique artists to a CSV file, lets go ahead and pull the full artist information from MusicBrainz and write it out to XML files in the artist_meta_dir. Still keep track of the unique artists that you have seen, and only write the file if the artist is new.
Group
<?xml version="1.0" encoding="utf-8"?>
<Titles>
<GlossaryValue>
<!-- Begin of Mandatory fields -->
<Key1>5b11f4ce-a62d-471e-81fc-a69a8278c7da</Key1>
<ItemCode>5b11f4ce-a62d-471e-81fc-a69a8278c7da</ItemCode>
<title>Nirvana (90s US grunge band)</title>
<GlossaryType>Artist</GlossaryType>
<KEXPName>Nirvana</KEXPName>
<KEXPSortName>Nirvana</KEXPSortName>
<KEXPMBID>5b11f4ce-a62d-471e-81fc-a69a8278c7da</KEXPMBID>
<!-- End Mandatory fields -->
<!-- Begin of optional fields -->
<KEXPAlias>Nirvana US</KEXPAlias> <!-- multiple cardinality -->
<KEXPAlias>Alias 2</KEXPAlias>
<KEXPAnnotation>Nirvana is a band whose shows and session recordings have been widely bootlegged as unofficial videos, CDs and raw WAV/FLAC files and mp3s. Details of these releases have been added to Musicbrainz where the sources have been confirmed.</KEXPAnnotation>
<KEXPArtistType>Group</KEXPArtistType>
<KEXPBeginArea>Aberdeen</KEXPBeginArea>
<KEXPBeginAreaMBID>a640b45c-c173-49b1-8030-973603e895b5</KEXPBeginAreaMBID>
<KEXPBeginDate>1988-01</KEXPBeginDate>
<KEXPCountry>United States</KEXPCountry>
<KEXPCountryMBID>489ce91b-6658-3307-9877-795b68554c98</KEXPCountryMBID>
<KEXPDisambiguation>90s US grunge band</KEXPDisambiguation>
<KEXPEndArea></KEXPEndArea>
<KEXPEndAreaMBID></KEXPEndAreaMBID>
<KEXPEndDate>1994-04-05</KEXPEndDate>
<KEXPEnded>1</KEXPEnded>
<KEXPIPICode>IPI Code 1</KEXPIPICode> <!-- multiple cardinality -->
<KEXPIPICode>IPI Code 2</KEXPIPICode>
<KEXPIPICode>etc..</KEXPIPICode>
<KEXPISNICode>0000000123486830</KEXPISNICode> <!-- multiple cardinality -->
<KEXPISNICode>ISNI Code 2</KEXPISNICode>
<KEXPLink>http://www.allmusic.com/artist/mn0000357406</KEXPLink> <!-- multiple cardinality -->
<KEXPLink>http://www.bbc.co.uk/music/artists/5b11f4ce-a62d-471e-81fc-a69a8278c7da</KEXPLink>
<KEXPLink>http://www.nirvanaarchive.com/</KEXPLink>
<KEXPMember>ac05e29f-0561-4445-bb26-5562d2389531</KEXPMember> <!-- refers to an artist MBID: must be equal to the associated glossary s itemcode -->
<KEXPMember>3c9b356d-d1db-4f4e-a7a3-2d00c1d70255</KEXPMember> <!-- multiple cardinality -->
<!-- End of optional fields -->
</GlossaryValue>
<!-- to create multiple glossary values in the same file: just add a new tag <GlossaryValue> prerequired fields, etc..</GlossaryValue> -->
</Titles>
Individual
<?xml version="1.0" encoding="UTF-8"?>
<Titles>
<GlossaryValue>
<!-- Begin of Mandatory fields -->
<Key1>3c9b356d-d1db-4f4e-a7a3-2d00c1d70255</Key1>
<ItemCode>3c9b356d-d1db-4f4e-a7a3-2d00c1d70255</ItemCode>
<title>Kurt Cobain</title>
<GlossaryType>Artist</GlossaryType>
<KEXPMBID>3c9b356d-d1db-4f4e-a7a3-2d00c1d70255</KEXPMBID>
<KEXPName>Kurt Cobain</KEXPName>
<KEXPSortName>Cobain, Kurt</KEXPSortName>
<!-- End Mandatory fields -->
<!-- Begin of optional fields -->
<KEXPAlias>Kurt D Cobain</KEXPAlias> <!-- multiple cardinality -->
<KEXPAlias>Kurdt Cobain</KEXPAlias>
<KEXPAlias>Kurdt Kobain</KEXPAlias>
<KEXPAnnotation>Kurt's death certificate: http://www.anomalies-unlimited.com/Death/KurtCert.html</KEXPAnnotation>
<KEXPArtistType>Person</KEXPArtistType>
<KEXPBeginArea>Aberdeen</KEXPBeginArea>
<KEXPBeginAreaMBID>a640b45c-c173-49b1-8030-973603e895b5</KEXPBeginAreaMBID>
<KEXPBeginDate>1967-02-20</KEXPBeginDate>
<KEXPCountry>United States</KEXPCountry>
<KEXPCountryMBID>489ce91b-6658-3307-9877-795b68554c98</KEXPCountryMBID>
<KEXPDisambiguation></KEXPDisambiguation>
<KEXPEndArea>Seattle</KEXPEndArea>
<KEXPEndAreaMBID>10adc6b5-63bf-4b4e-993e-ed83b05c22fc</KEXPEndAreaMBID>
<KEXPEndDate>1994-04-05</KEXPEndDate>
<KEXPEnded>1</KEXPEnded>
<KEXPGender>Male</KEXPGender>
<KEXPIPICode>00227073975</KEXPIPICode> <!-- multiple cardinality -->
<KEXPIPICode>IPI Code 2</KEXPIPICode>
<KEXPIPICode>etc..</KEXPIPICode>
<KEXPISNICode>0000000110685005</KEXPISNICode> <!-- multiple cardinality -->
<KEXPISNICode>ISNI Code 2</KEXPISNICode>
<KEXPLink>http://www.allmusic.com/artist/mn0000095243</KEXPLink> <!-- multiple cardinality -->
<KEXPLink>http://www.discogs.com/artist/275118</KEXPLink>
<KEXPLink>http://www.imdb.com/name/nm0001052//</KEXPLink>
<!-- End of optional fields -->
</GlossaryValue>
<!-- to create multiple glossary values in the same file: just add a new tag <GlossaryValue> prerequired fields, etc..</GlossaryValue> -->
</Titles>
Custom tag entries (obscenity rating & radio edit) don't show up in TomatoBanana when the application is (re)opened.
Sometimes there will be a MusicBrainz non-CD release that has all the information we need for the CD. Provide a way to pull this info, but do not populate the MB Release ID.
For track tags that are true false, make them toggle when given the command - i.e., 1 e would turn on 'Send to Enco' for track one, and then 1 e again would turn off 'Send to Enco' for track 1. If a range of tracks is given, toggle each track.
Currently multiple commands can have the same alias, making the actual command that is executed unclear (ex: KBCS style tag with [s] alias is executed rather than search which also has [s] alias).
TB should probably yell at you if multiple commands have the same alias, or at least have a clearly defined command-alias hierarchy.
Allow a user defined tag to have an optional 'display name' that is used in the UI instead of the tag name. This way we can have 'generic' tags, but the displayed name can be more descriptive and/or specific to a customer.
Tags that are used only internally (chiefly post-process tags such as File Under) should not be defined in a user config file, though specifying aliases etc. should still be possible by the user.
At a track level, lets create metadata information files with the following information pulled from MusicBrainz
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.