
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (75)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
Sur d’autres sites (5807)
-
FFmpeg Change audio filter parameters during runtime
31 janvier 2021, par cs guyI am making a music app where the user can add FX to playing music through a pad. I am using FFmpeg in C++ to dsp. In FFmpeg you can create an audio filter and set it parameters just like the following :


beat_fx = avfilter_get_by_name("aecho");
 beat_fx_ctx = avfilter_graph_alloc_filter(filterGraph, beat_fx, "echo");
 av_opt_set(beat_fx_ctx, "decays", std::to_string(std::max(0.00001, (beatFX.xSoundPerc + 1) / (double)2)).c_str(), AV_OPT_SEARCH_CHILDREN);
 av_opt_set(beat_fx_ctx, "delays", std::to_string(beatFX.ms).c_str(), AV_OPT_SEARCH_CHILDREN);
 av_opt_set_double(beat_fx_ctx, "in_gain", 1.0, AV_OPT_SEARCH_CHILDREN);
 av_opt_set_double(beat_fx_ctx, "out_gain", 1.0, AV_OPT_SEARCH_CHILDREN);

 if (avfilter_init_str(beat_fx_ctx, nullptr) < 0) {
 LOGE("FXProcessor::FXProcessor Could not initialize the beat_fx_ctx filter!");
 isOff = true;
 return;
 }



My problem is since the user will use a FX pad to change these parameters I need to be able to modify these parameters during runtime.


Looking at ffmpeg filter documentation :




Some options can be changed during the operation of the filter using a
command. These options are marked ’T’ on the output of ffmpeg -h
filter=. The name of the command is the name of the
option and the argument is the new value.




I looked at
aecho, agate, acrusher
and more but nearly all the effects I want have 0 modifiable option which makes my FX pad nonadjustable. I am not using command line to process my effects, so maybe the link above is irrelevant.

Is there a way to make ffmpeg audio filters change their parameters during runtime ?


-
ffmpeg/sox audio processing : Merging files with envelope changes
2 octobre 2020, par March HareSo I have two audio files. One is a music bed with an intro that segues into a looping music clip (let's call this *1). The second is the voice over audio track (referenced as *2, length n).


Audio *1 is fixed, while the voice over (*2) is downloaded about 3 times a day, and can vary in length. *1 is longer than we ever expect *2 to be.


What I need to do is


- 

- Alter the overall gain of *1 to -7.5 dB
- Begin merging VO *2 at time m, while reducing the volume envelope of *1 by -11 dB. This is fixed based on the length of the intro.
- Fade everything out to -∞ dB around the end of *2
- Trim off the silence at the end.
For reference, the total length of the final track should be m+n.










Unfortunately, I'm not versed enough with ffmpeg or sox to know exactly what I'm after here, and a lot of the examples tend to do one thing or another and aren't always clear when combining happens. I didn't get a lot of prior notice about this coming down the pipeline, so I'd like to get something relatively quick. We're able to do all of this stuff nicely in Adobe Audition (and I can do something similar in Audacity), but the idea is to automate it. For our envelope adjustments, we were just using linear ramps rather than smoothsteps, and that sounded fine.


The TLDR : The VO track *2 governs how long the file winds up being, while audio bed *1 needs to be ducked when *2 begins, and the whole thing faded out right when *2 ends.


We also have an automation system (radio station automation, specialized for something different than I need), so in a pinch if we have to just cut off the audio at the end of *2, we can get the fadeout from the radio automation system.


I've been using the information at this link to some effect (specifically the bit about ffmpeg volumes), but it still isn't dynamic enough for the situation.
Envelope pattern in SoX (Sound eXchange) or ffmpeg


Anyone have any advice on this one ? I've got Sox and ffmpeg available, and if need be I can probably install other tools as well.


-
I have a problem with my custom discord bot
23 avril 2021, par madfrejenSo, im making a discord bot for me and my friends in visual studio code, and recently i tried to make a music function where if i do the command .play it would join the channel i was in and play musik. I used ytdl-core and yt-search to play the music, but i got an error message :


client.commands.get('play').execute(message, args);
 ^

TypeError: Cannot read property 'execute' of undefined



This is the code where the error seems to occur :


else if(command == 'play'){
 client.commands.get('play').execute(message, args);



and this is the command code


module.exports = {
name: 'clear',
description: "Clears x amount of messages!",
async execute(message, args) {


 if(!args[0]) return message.reply("Skriv venligst hvor mange beskeder jeg skal slette :)");
 if(isNaN(args[0])) return message.reply("Skriv venligst et rigtigt tal!");

 if(args[0] > 100) return message.reply("Du kan ikke slette mere end 100 beskeder!");
 if(args[0] < 1) return message.reply("Du skal slette mindst 1 besked!");

 let role = message.member.roles.cache.some(r => r.name === "Admin");
 if(message.member.roles.cache.some(r => r.name === "Admin")){

 await message.channel.messages.fetch({limits: args[0]}).then(messages =>{
 message.channel.bulkDelete(messages);
 })
 
 }
}



}




if you need any more code or information please text me, im new to coding :)