Recherche avancée

Médias (91)

Autres articles (100)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

Sur d’autres sites (9447)

  • Is it possible to stretch or shrink a video to a set length using ffmeg ?

    14 février 2024, par Steve Hiner

    My daughter got married and we set up two iPhones, one on either side of the platform, to be able to catch the facial expressions of both of them. I had the foresight to have someone clap in view of both cameras before and after the ceremony so I've been able to clip the videos to the same point in time at a frame accurate level.

    


    Then I used ffmpeg to merge the two vertical videos into a nearly square video with this :
ffmpeg -i leftside.mov -i rightside.mov -filter_complex "hstack,format=yuv420p" -c:v libx264 -crf 18 combined.mp4

    


    What I found is that by the end of the 22ish minutes, they are off by about 2 seconds.

    


    I'd like to be able to essentially drop frames in the longer version to make it 2ish seconds shorter by the end. I'm sure I can figure out the right frame count and the exact amount to shorten it if needed. It would be nice if there was a way, during the merge, to shorten one to the length of the other one. I don't want to change the framerate since I'm merging them into one video, unless that's the best way to do it.

    


    Side note, any idea why they would be different lengths to begin with ? Different generations of iPhones, I believe, but it's interesting that they were that far off in the video timing.

    


  • Sequencing MIDI From A Chiptune

    28 avril 2013, par Multimedia Mike — Outlandish Brainstorms

    The feature requests for my game music appreciation website project continue to pour in. Many of them take the form of “please add player support for system XYZ and the chiptune library to go with it.” Most of these requests are A) plausible, and B) in process. I have also received recommendations for UI improvements which I take under consideration. Then there are the numerous requests to port everything from Native Client to JavaScript so that it will work everywhere, even on mobile, a notion which might take a separate post to debunk entirely.

    But here’s an interesting request about which I would like to speculate : Automatically convert a chiptune into a MIDI file. I immediately wanted to dismiss it as impossible or highly implausible. But, as is my habit, I started pondering the concept a little more carefully and decided that there’s an outside chance of getting some part of the idea to work.

    Intro to MIDI
    MIDI stands for Musical Instrument Digital Interface. It’s a standard musical interchange format and allows music instruments and computers to exchange musical information. The file interchange format bears the extension .mid and contains a sequence of numbers that translate into commands separated by time deltas. E.g. : turn key on (this note, this velocity) ; wait x ticks ; turn key off ; wait y ticks ; etc. I’m vastly oversimplifying, as usual.

    MIDI fascinated me back in the days of dialup internet and discrete sound cards (see also my write-up on the Gravis Ultrasound). Typical song-length MIDI files often ranged from a few kilobytes to a few 10s of kilobytes. They were significantly smaller than the MOD et al. family of tracker music formats mostly by virtue of the fact that MIDI files aren’t burdened by transporting digital audio samples.

    I know I’m missing a lot of details. I haven’t dealt much with MIDI in the past… 15 years or so (ever since computer audio became a blur of MP3 and AAC audio). But I’m led to believe it’s still relevant. The individual who requested this feature expressed an interest in being able to import the sequenced data into any of the many music programs that can interpret .mid files.

    The Pitch
    To limit the scope, let’s focus on music that comes from the 8-bit Nintendo Entertainment System or the original Game Boy. The former features 2 square wave channels, a triangle wave, a noise channel, and a limited digital channel. The latter creates music via 2 square waves, a wave channel, and a noise channel. The roles that these various channels usually play typically break down as : square waves represent the primary melody, triangle wave is used to simulate a bass line, noise channel approximates a variety of percussive sounds, and the DPCM/wave channels are fairly free-form. They can have random game sound effects or, if they are to assist in the music, are often used for more authentic percussive sounds.

    The various channels are controlled via an assortment of memory-mapped hardware registers. These registers are fed values such as frequency, volume, and duty cycle. My idea is to modify the music playback engine to track when various events occur. Whenever a channel is turned on or off, that corresponds to a MIDI key on or off event. If a channel is already playing but a new frequency is written, that would likely count as a note change, so log a key off event followed by a new key on event.

    There is the major obstacle of what specific note is represented by a channel in a particular state. The MIDI standard defines 128 different notes spanning 11 octaves. Empirically, I wonder if I could create a table which maps the assorted frequencies to different MIDI notes ?

    I think this strategy would only work with the square and triangle waves. Noise and digital channels ? I’m not prepared to tackle that challenge.

    Prior Work ?
    I have to wonder if there is any existing work in this area. I’m certain that people have wanted to do this before ; I wonder if anyone has succeeded ?

    Just like reverse engineering a binary program entails trying to obtain a higher level abstraction of a program from a very low level representation, this challenge feels like reverse engineering a piece of music as it is being performed and automatically expressing it in a higher level form.

  • Evolution #3603 : Ergonomie des onglets de sélection des plugins

    20 avril 2020, par RastaPopoulos ♥

    Et bieeeen, je ne suis toujours pas convaincu, alors argumentons :)

    - Comme je le disais, les mises à jour sont des plugins actifs, c’est pas une autre liste différente, alors que là les simplifications proposées depuis l’ouverture du ticket servent justement à réduire le nombre d’onglets en ne proposant plus que des choses qui ne se recoupent pas.
    - Or les plugins actifs, sont justement le premier onglet sur lequel on tombe par défaut dans l’admin des plugins, et comme ils contiennent les mises à jour, on a déjà le nez dessus en arrivant
    - Il suffit donc juste d’une simple case permettant de masquer en un coup instantané tout ce qui n’a pas de mise à jour, et ne laisser que ce qui en a
    - Avec un onglet à part, ça ferait des éléments qui se retrouvent en doublon dans deux onglets, et ça ferait recharger une page entière différente, alors que dès qu’on arrive, on a déjà généré/chargé les blocs de ceux qui ont des mises à jour dans cette première page

    Pour Dépôts pourquoi pas, mais ça a quand même rapport avec les plugins (et que avec ça), du coup si c’est pas dans "Gestion des plugins" qu’on le trouve…

    J’ajoute une maquette de ce que ça donne, en ayant ajouté le moyen de voir tout de suite les mises à jour.