Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide à la réalisation d'un script

auto tag MP3

    23 novembre 2015 à 20:32:44

    Bonjour,

    tout d'abord, je ne sais pas si le forum approporié est Mac ou Linux, car, je souhaite réaliser un script pour Mac (qui est un dérivé de BSD...)

    Donc, merci à un Admin du forum de déplacer le sujet dans la bonne secion si besoin ( je ne veux pas polluer le forum avec des sujets en doublons)

    Pour expliquer le script:

    J'ai acheté un logiciel (Audio Hijack v3.2.1)

    Je souhaite "auto tagger" les fichiers audios crées qui sont enregistrés.

    Pour cela je souhaite que le script récupére de la page d'où l'audio est joué 2 informations:

    le contenu de la balise

    <title></title>
    

    et une copie de l'image dont le code source de la page web est  toujours:

    src=

    puis, je souhaite qu'une fois le fichier audio généré par le logiciel "Audio Hijack", les informations récupé préalblement

    <title></title>
    src


    soit injecté dans le fichier audio crée en tant que metadata, et pour

    <title></title>

    soit aussi le nom du fichier avant l'extension .mp3

    puis, une fois que le son est entièrement joué, et que la pge web se recharge, je souhaite que le script recommence le même process.

    Pourriez-vous me donner quelques piste afin que j'apprenne à le faire par moi-même, et aussi, je partagerai le script avec la communauté, une fois celui-ci terminé et fonctionnel.

    Williams



    • Partager sur Facebook
    • Partager sur Twitter
      23 novembre 2015 à 21:35:30

      J'ai trouvé ce script sur github, mais il fonctionne pour Spotify, et, non pour un navigateur comme chrome

      (* Script to record and tag spotify tracks, by Lloyd Moore *)
      (* Modified by Tiffany G. Wilson to resolve audio splitting issues, automate starting/stopping, and add recording customization *)
      (* Snippets for controlling Spotify are from Johnny B on tumblr (http://johnnyb.tumblr.com/post/25716608379/spotify-offline-playlist) *)
      (* The idea of using delayed tagging/filename updating is from a guest user on pastebin (http://pastebin.com/rHqY0qg9) *)
      (* The only thing to change in the script is the output format; you must change the file extension and the recording format to match *)
      (* Run this script once a song you want to record is queued (stopped at beginning) or playing *)
      (* Running the script will initiate hijacking, recording and audio playback *)
      (* To stop script, pause Spotify or wait for album/playlist to end*)
      (* To set id3 tags, use application Kid3 (http://sourceforge.net/projects/kid3/) and copy '%{artist} - %{album} - %{track} - %{title}' from file name to Tag 2 *)
      
      set output_folder to (choose folder with prompt "Please choose an output directory")
      set folder_path to POSIX path of output_folder
      
      property file_extension : ".mp3"
      -- property file_extension : ".m4a" (* If format is changed to AAC *)
      
      property check_delay : 0.1 (* How often to check for a new track *)
      property write_delay : 2 (* How long to wait before updating file name *)
      property stop_delay : 1 (* How long to wait before updating final file after playback stops *)
      
      set track_counter to 1
      
      tell application "Spotify"
      	if player state is playing then pause
      end tell
      
      tell application "Audio Hijack Pro"
      	activate
      	set theSession to my getSession()
      	tell theSession
      		-- Recording file settings
      		set output folder to output_folder
      		set output name format to "%tag_title"
      		set title tag to track_counter
      		
      		-- Audio format settings
      		set recording format to {encoding:MP3, bit rate:256, channels:Stereo, style:VBR}
      		--set recording format to {encoding:AAC, bit rate:256, channels:Stereo}
      	end tell
      	
      	if hijacked of theSession is false then start hijacking theSession
      	start recording theSession
      end tell
      
      set track_counter to (track_counter + 1)
      
      tell application "Spotify"
      	-- Start playing Spotify from beginning of current track 
      	set player position to 0
      	play
      	
      	set track_name to (name of current track)
      	set track_artist to (artist of current track)
      	set track_album to (album of current track)
      	set track_number to (track number of current track)
      	
      	repeat until player state is not playing
      		-- On change of track
      		if track_name is not equal to (name of current track) then
      			tell application "Audio Hijack Pro"
      				tell theSession
      					set title tag to track_counter
      					split recording
      				end tell
      			end tell
      			
      			delay write_delay
      			
      			-- Update the file name from track_counter.mp3 to artist - ... - track.mp3
      			my update_filename(track_counter - 1, track_artist, track_name, track_album, track_number, folder_path)
      			set track_counter to (track_counter + 1)
      			
      			-- Get new track data
      			set track_name to name of current track
      			set track_artist to artist of current track
      			set track_album to album of current track
      			set track_number to track number of current track
      		end if
      		delay check_delay
      	end repeat
      	
      	-- Stop recording and edit final file name once playback has stopped
      	delay stop_delay
      	tell application "Audio Hijack Pro"
      		stop recording theSession
      		stop hijacking theSession
      	end tell
      	my update_filename(track_counter - 1, track_artist, track_name, track_album, track_number, folder_path)
      end tell
      
      
      -- Update file name so it can be tagged using Kid3
      on update_filename(track_counter, track_artist, track_name, track_album, track_number, folder_path)
      	set old_file to ("\"" & folder_path & track_counter & file_extension & "\"")
      	set new_file to ("\"" & folder_path & track_artist & " - " & track_album & " - " & track_number & " - " & track_name & file_extension & "\"")
      	do shell script ("mv " & old_file & " " & new_file)
      end update_filename
      
      -- Set Spotify session in Audio Hijack Pro
      on getSession()
      	tell application "Audio Hijack Pro"
      		set sessionName to "Spotify"
      		try
      			set theSession to (first item of (every session whose name is sessionName))
      			theSession is not null
      		on error
      			set theSession to (make new application session at end of sessions)
      			set name of theSession to sessionName
      		end try
      	end tell
      	return theSession
      end getSession
      
      

      Si qqun à une idée pour aider à le modifier et le rendre compatible avec Chrome

      • Partager sur Facebook
      • Partager sur Twitter

      Aide à la réalisation d'un script

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown