Re: [RDD] rdimport - Suggested ingestion parameters?
On Nov 19, 2018, at 23:17, ija...@jamcorbroadcast.com wrote: > Would this also work for voice tracker. If you mean the ‘Import’ button on Voice Tracker dialog in rdlogedit(1), then I’m afraid not. That feature does not use rdimport(1) (and hence, nor the nested_import script). Cheers! |--| | Frederick F. Gleason, Jr. | Chief Developer | | | Paravel Systems | |--| | A room without books is like a body without a soul. | | -- Cicero| |--|___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
Fred Would this also work for voice tracker. We find ourselves importing files manually. I know want to speed up the process. Can you give an example of how to start import the files. Thanks On 2018-11-16 14:48, Fred Gleason wrote: On Nov 16, 2018, at 12:50, Richard Elen wrote: As I am a novice here, I would be most grateful if you could do me the favour of providing an example usage of nested-import.pl, just so that I get it right first time. The command-line invocation I am using currently would be: rdimport --verbose --segue-level=-10 --autotrim-level=-30 --normalization-level=-10 MUSIC * How would I call the Perl script with these parameters? The usage is very similar to that of rdimport(1) — in fact, it takes all of the same options. The difference is that the now refers to *directories*, rather than files! So, say you had a directory full of MP3s in a directory called ‘/home/rd/MyMusic’. You could import the whole batch into a group called ‘MUSIC’ by doing: nested-import.pl MUSIC /home/rd/MyMusic If ‘/home/rd/MyMusic’ contained subdirectories, it would recurse down into those as well. And so on. However, a lot of the real power lies in the fact that all of the usual rdimport(1) commands can still be given and will work as expected. Thus, you could do: nested-import.pl --segue-level=-10 --autotrim-level=-30 --normalization-level=-10 MUSIC /home/rd/MyMusic and all of those level parameters would be applied to each import, just as if you’d done each one individually with rdimport(1). It works with scheduler codes too. Say Drew has sent you a USB drive full of Bahamian music, which you’ve mounted at ‘/media/usb_key’. You could create a scheduler code (in rdadmin(1)) called ‘BHMA’, then import the music by doing: nested-import.pl --add-scheduler-code=BHMA MUSIC /media/usb_key and then every file imported would be tagged with code ‘BHMA’ so you could program the music scheduler to call for one wherever you wanted to add a little Caribbean flavor to your music mix. (Of course, you can also add your standard level parameters to that invocation so the levels and markers come in just right as well). Lots of possibilities here. The easiest way to get started is the experiment with a few files and see what effect turning the various knobs produce. I wouldn’t try a batch of 5000 files until you have a good sense of what to expect. Cheers! |--| | Frederick F. Gleason, Jr. | Chief Developer | | | Paravel Systems | |--| | A room without books is like a body without a soul. | | -- Cicero | |--| ___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev ___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
Excellent! Thanks very much for the detailed response, a great help! -R On 16-Nov-18 19:48, Fred Gleason wrote: The usage is very similar to that of rdimport(1)... ___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
On Nov 16, 2018, at 12:50, Richard Elen wrote: > As I am a novice here, I would be most grateful if you could do me the favour > of providing an example usage of nested-import.pl, just so that I get it > right first time. > > The command-line invocation I am using currently would be: > > rdimport --verbose --segue-level=-10 --autotrim-level=-30 > --normalization-level=-10 MUSIC * > > How would I call the Perl script with these parameters? > The usage is very similar to that of rdimport(1) — in fact, it takes all of the same options. The difference is that the now refers to *directories*, rather than files! So, say you had a directory full of MP3s in a directory called ‘/home/rd/MyMusic’. You could import the whole batch into a group called ‘MUSIC’ by doing: nested-import.pl MUSIC /home/rd/MyMusic If ‘/home/rd/MyMusic’ contained subdirectories, it would recurse down into those as well. And so on. However, a lot of the real power lies in the fact that all of the usual rdimport(1) commands can still be given and will work as expected. Thus, you could do: nested-import.pl --segue-level=-10 --autotrim-level=-30 --normalization-level=-10 MUSIC /home/rd/MyMusic and all of those level parameters would be applied to each import, just as if you’d done each one individually with rdimport(1). It works with scheduler codes too. Say Drew has sent you a USB drive full of Bahamian music, which you’ve mounted at ‘/media/usb_key’. You could create a scheduler code (in rdadmin(1)) called ‘BHMA’, then import the music by doing: nested-import.pl --add-scheduler-code=BHMA MUSIC /media/usb_key and then every file imported would be tagged with code ‘BHMA’ so you could program the music scheduler to call for one wherever you wanted to add a little Caribbean flavor to your music mix. (Of course, you can also add your standard level parameters to that invocation so the levels and markers come in just right as well). Lots of possibilities here. The easiest way to get started is the experiment with a few files and see what effect turning the various knobs produce. I wouldn’t try a batch of 5000 files until you have a good sense of what to expect. Cheers! |--| | Frederick F. Gleason, Jr. | Chief Developer | | | Paravel Systems | |--| | A room without books is like a body without a soul. | | -- Cicero| |--|___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
Fred, As I am a novice here, I would be most grateful if you could do me the favour of providing an example usage of nested-import.pl, just so that I get it right first time. The command-line invocation I am using currently would be: rdimport --verbose --segue-level=-10 --autotrim-level=-30 --normalization-level=-10 MUSIC * How would I call the Perl script with these parameters? Many thanks --Richard E On 16-Nov-18 17:17, Fred Gleason wrote: * How do I make it recurse so it crawls the source library and grabs the content of all my album folders and sub-folders? Only a few files are in the root: most are in album folders and sometimes deeper. rdimport(1) doesn’t do recursion by itself, but can be made to do so with a little scripting. See: https://github.com/ElvishArtisan/rivendell-importers and take a look at the ‘nested-import.pl’ script. ___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
On Nov 16, 2018, at 12:37, Richard Elen wrote: > Thanks for this! Is there a solution to my other query? Just use a of ‘*’. Cheers! |--| | Frederick F. Gleason, Jr. | Chief Developer | | | Paravel Systems | |--| | A room without books is like a body without a soul. | | -- Cicero| |--|___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
Thanks for this! Is there a solution to my other query? --Richard E * How do I import all audio file types in one go, or at least *.mp3 and *.flac for starters?; * How do I make it recurse so it crawls the source library and grabs the content of all my album folders and sub-folders? Only a few files are in the root: most are in album folders and sometimes deeper. rdimport(1) doesn’t do recursion by itself, but can be made to do so with a little scripting. See: https://github.com/ElvishArtisan/rivendell-importers and take a look at the ‘nested-import.pl’ script. ___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
On Nov 16, 2018, at 11:43, Richard Elen wrote: > The first thing I see is the message: > "Session management: None of the authentication protocols specified are > supported". > What is this telling me? Useless cruft from your desktop manager. You can safely ignore it. > Meanwhile, the files appear successfully ingested from the root of the source > library. However: > How do I import all audio file types in one go, or at least *.mp3 and *.flac > for starters?; > How do I make it recurse so it crawls the source library and grabs the > content of all my album folders and sub-folders? Only a few files are in the > root: most are in album folders and sometimes deeper. rdimport(1) doesn’t do recursion by itself, but can be made to do so with a little scripting. See: https://github.com/ElvishArtisan/rivendell-importers and take a look at the ‘nested-import.pl’ script. Cheers! |--| | Frederick F. Gleason, Jr. | Chief Developer | | | Paravel Systems | |--| | A room without books is like a body without a soul. | | -- Cicero| |--|___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
Hi... I now have a 2TB drive mounted at /var that can hopefully contain the RD music library in WAV format and I'm beginning to import files. As a result I have a couple of queries. I am navigating to the source music library root directory, which is a read-only-mounted NTFS partition, and issuing the command: rdimport --verbose --segue-level=-10 --autotrim-level=-30 --normalization-level=-10 MUSIC *.mp3 The first thing I see is the message: "Session management: None of the authentication protocols specified are supported". What is this telling me? Meanwhile, the files appear successfully ingested from the root of the source library. However: * How do I import all audio file types in one go, or at least *.mp3 and *.flac for starters?; * How do I make it recurse so it crawls the source library and grabs the content of all my album folders and sub-folders? Only a few files are in the root: most are in album folders and sometimes deeper. MTIA for any observations. Best, --Richard E ___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
On Nov 6, 2018, at 12:15, David Klann wrote: > My experience has been that rdimport ignores _all_ of the > metadata if it finds problems with _any_ of the metadata it (someone > please correct me if I misunderestimate that). Can you gives us a specific example of where this occurs? Cheers! |--| | Frederick F. Gleason, Jr. | Chief Developer | | | Paravel Systems | |--| | A room without books is like a body without a soul. | | -- Cicero| |--|___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
Re: [RDD] rdimport - Suggested ingestion parameters?
Hi Richard, On 11/5/18 5:29 PM, Richard G Elen wrote: > Hi... > > I am soon to ingest our music library using rdimport. > > The source library structure is basically > ~/Artistname/Albumname/trackfiles and they may be multiple album > subfolders in the Artistname folder. > > We've spent quite a lot of time and effort getting our metadata in good > order so hopefully all will go well. > > looking at the man pages, rdimport has a great number of options, but, > being new to this, I wonder if anyone can suggest what is a good > general-purpose set of configuration options that will be most likely to > give the best results. Fortunately or unfortunately we have an extremely > eclectic library ranging from mediaeval to rock, so I am expecting to > have to do some fine tuning. > > But some basic suggestions would be gratefully received, and thanks in > advance. I have written a ZSH script to wrap rdimport. Mostly the script is irrelevant to your question, but you can see how I invoke it at the bottom of the attached file (in the series of lines starting with "${DEBUG} ${RDIMPORT}"). The file is also available on GitHub at https://github.com/opensourceradio/ram/blob/master/usr/local/bin/import-rd Given the recent discussion on the list regarding normalization level, I recommend setting (and will change) the default normalization in the script from -4 dBFS to -12 dBFS. While rdimport(1) is pretty good at extracting metadata from audio files, I like to do so manually, and then set the the database fields to predictable values on the command line rather than simply leaving them blank. My experience has been that rdimport ignores _all_ of the metadata if it finds problems with _any_ of the metadata it (someone please correct me if I misunderestimate that). Feel free to ask questions! ~David Klann #!/bin/zsh setopt NO_CASE_MATCH zmodload zsh/regex zmodload zsh/terminfo autoload colors colors # This script complies with Semantic Versioning: http://semver.org/ vMajor=0 vMinor=1 vPatch=4 vHash='$Hash: 917b77e$' # Tell them how to use this command. usage() { myName=${1} ${CAT} << EOF ${myName}: import digital audio tracks into the Rivendell Library using rdimport(1). Summary: ${myName##*/} [ --code (-c) { or 'list' } ] [ --label (-l) ] [ --normalization ] --group (-g) { or 'list' } audio-file ... You may use the word "list" for the --code (-c) and --group (-g) options. This will cause ${myName##*/} to list the available codes or groups and prompt for which one(s) to use. You may specify multiple Scheduler Codes with the "-c" (aka "--code") option; do this by specifying the codes separated by commas (you must quote the list of Scheduler Codes if you include spaces between the codes). This script will set Scheduler Code to the "genre" meta tag if the "genre" matches a valid Rivendell Scheduler code. Otherwise the "genre" meta tag will be ignored. The script will attempt to extract the label name from the meta tags. You can explicitely set this with the --label option. Normalization level defaults to -4 dBFS. EOF } # Check to be sure it is a valid Scheduler Code. Returns true or false # based on the regex match test. validSchedCode() { local definedCodes=${1} ; shift local requestedCode=${1} ; shift for schedCode in $(echo ${definedCodes}) ; do [[ "${requestedCode}" = ${schedCode} ]] && return 0 done return 1 } # Check to be sure it is a valid GROUP. Returns true or false based on # the regex match test validGroup() { local definedGroups=${1} ; shift local requestedGroup=${1} ; shift [[ "${definedGroups}" =~ ".*${requestedGroup}.*" ]] } # Figure out the file type and extract the meta tags from it. tags() { local track="${1}" # NB: these string match tests are performed case INsensitively # (see setopt, above). if [[ "${track##*.}" = 'flac' ]] ; then flacTags "${track}" elif [[ "${track##*.}" = 'ogg' ]] ; then vorbisTags "${track}" elif [[ "${track##*.}" = 'mp3' ]] ; then id3Tags "${track}" else echo "${BOLD}Cannot figure out what kind of file this is. I give up!${NORM}" >&2 exit fi } # We prefer the style of metaflac(1), so leave these alone. flacTags() { local track="${1}" ${METAFLAC} --list --block-type=VORBIS_COMMENT "${track}" | ${FGREP} ' comment[' } # We prefer the style of metaflac(1), so do only minimal processing. # Output from vorbiscomment(1) is expected to be simply "key=value" format. vorbisTags() { local track="${1}" local index=1 ${VORBISCOMMENT} --list "${track}" | while read line ; do echo "comment[$((index++))]: ${line}" done } # We prefer the style of metaflac(1), so convert the ID3 tags to # metaflac style. id3Tags() { local track=${1} ${ID3INFO} "${track}" | while read line ; do case "${line#=== }" in TT2*|TIT2*) echo "comment[1]: title=${line#*: }" ;; # (Title/songname/content
[RDD] rdimport - Suggested ingestion parameters?
Hi... I am soon to ingest our music library using rdimport. The source library structure is basically ~/Artistname/Albumname/trackfiles and they may be multiple album subfolders in the Artistname folder. We've spent quite a lot of time and effort getting our metadata in good order so hopefully all will go well. looking at the man pages, rdimport has a great number of options, but, being new to this, I wonder if anyone can suggest what is a good general-purpose set of configuration options that will be most likely to give the best results. Fortunately or unfortunately we have an extremely eclectic library ranging from mediaeval to rock, so I am expecting to have to do some fine tuning. But some basic suggestions would be gratefully received, and thanks in advance. --Richard E ___ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev