ellypony

joined 2 years ago
[–] ellypony@lemmy.world 7 points 10 hours ago

yes. and hurry up with it too

[–] ellypony@lemmy.world 6 points 3 days ago

“i’m warning you” “oh, you really done it now” 😡💢 “i’m being SERIOUS this time” “why I oughtta” type interaction.

6
submitted 6 days ago* (last edited 6 days ago) by ellypony@lemmy.world to c/ffmpeg@lemmy.world
 

Hello everyone! It's been a minute, and this place is still quite empty. So I just wanted to share some of my experiments here! (The exact filter and command for you to copy and paste are at the bottom of this post.)

The goal of this particular project, was to create a "robotic" overlay for organic speech by stretching the number of actual audio samples over a much larger area of time. But it works on any and all audio.

Demonstration

Using this video

Let's apply a complex filter: ffmpeg -i coughing_baby_meme.mp4 -af afftfilt=real='hypot(re,im)*sin(0)':imag='hypot(re,im)*cos(0)':win_size=512:overlap=0.75

Here's what we end up with: https://cdn.imgchest.com/files/4z9cvjvov37.mp4

How does it work?

What we're doing here is calculating the real and imaginary portions of the frequency domain signal. You can mix and match different values if you like, to achieve different effects. The most important part of this filter for our purposes however, is the win_size=512 portion. Normally, your audio's samples will be stretched out across the timeline as efficiently as possible. With the physcoacoustic effect in mind, audio samples are placed at regular intervals with a set size. Now, what does changing the window_size do anyway?.

In short, it allows you to sacrifice timeline density for sample resolution. Or vice versa.

Think of it as spreading salt on your driveway in the winter. Normally, you'd sprinkle a fair amount of salt across the pavement. You might sprinkle a little bit more in the spots where ice is particularly thick, or a little bit less where it's thinner until all of the salt is gone and your driveway covered unilaterally. Your neighbor on the other hand, dumps huge piles of salt on only a few portions running the length of the driveway. When you walk across your driveway, you don't notice anything odd because the salt has melted the ice uniformly. If you were to walk across your neighbor's driveway you might feel your feet slipping in some places, and be anchored far too firmly to the ground in others.

And this is (kind of) what creates those eerily, canned and synthetic sounding vocals.

Try It Yourself!

  • make sure to encase the portions after -af between double quotation marks " "! I chose not to do this here, because it messes with the syntax highlighting on lemmy.

ffmpeg -i your_media.* -af afftfilt=real='hypot(re,im)*sin(0)':imag='hypot(re,im)*cos(0)':win_size=512:overlap=0.75 your_output_media.*

[–] ellypony@lemmy.world 2 points 2 weeks ago

this is so cheesy and geeky, it’s one of the first times scrolling through voyager has made me organically giggle.

[–] ellypony@lemmy.world 15 points 3 weeks ago (1 children)
[–] ellypony@lemmy.world 2 points 1 month ago

don’t you dare lump me into this tragedy.

Thank merciful goodness the public education system I was put through in my time actually offered me at least shreds of crucial resources, and encouraged my literacy. My parents read to me every night, and transported me into the shoes of other people with different issues. I learned to see what the world was like for people who look and speak differently than me on my own.

dear god help us all if that, at the bare minimum, isn’t normal anymore.

[–] ellypony@lemmy.world 73 points 3 months ago (5 children)

what kind of cartoon world are we living in that i’m actually on the side of a corporation for once

[–] ellypony@lemmy.world 5 points 3 months ago

This might not be exactly what you're looking for, but there is a self-hostable image booru available on the flatpak repository called Hydrus. It’s essentially just a front end for a database you can run locally on your computer and organize images/videos by category. Add tags etc.

[–] ellypony@lemmy.world 330 points 3 months ago (13 children)
[–] ellypony@lemmy.world 2 points 3 months ago

sometimes I wish there was a way to give awards to comments.

[–] ellypony@lemmy.world 21 points 3 months ago (6 children)

it’s getting really difficult to not find him attractive

 

A few months ago, I took an interest in unconventional methods to manipulate and create visual artwork. I wanted to share some of thoughts. As well as the tools and examples that helped me develop skills.

If you really want an exceptional understanding of FFmpeg -- and just how magic it is -- you need to destroy media. Yes. Counterintuitively, destroying things with FFmpeg is the best way to illustrate how much power it has compared to anything else out there. Sure, you can add quick easy transitions and choose from a curated list of aspect ratios with most GUI video editing software. But that's BORING. Because they always work right the first time!There is little room for human conversation, little room to make mistakes. The software -- and by extension, it's creators -- decide for you what they believe is visually appealing. And because of that, there is almost no room for uniqueness. And it's my sincere belief that raw audio-visual data is a neglected medium that could flourish if not for a serious lack of interest, and free tools for experimentation.

You can create cursed and hilarious glitch art, convert ANY file into raw video/audio data, or just mess around with bitrates until your media looks and sounds like it was recorded in 1970.

Something important to remember is that FFmpeg can't be gleamed from ChatGPT. Or by copy-pasting random commands you find on the internet. If you do use ChatGPT to get something done quick, that's fine. But read the documentation! whenever you run into something unfamiliar. That's the only way you'll be able to add that filter/codec/muxer/argument to your mental toolbox.

For anyone who is interested, there's a neat little webpage which has a plethora of bash scripts, commands, walkthroughs and examples on this github page. There are activities and exercises, animated pictures, examples, and tutorials.

For anyone with a slightly more advanced understanding of FFmpeg's filter pipeline who would like a virtual playground to tinker around with, you can use this FFmpeg explorer. It's an easier to use visual analog that allows you to drag and drop filters and modifiers into a pipeline. There's even a little preview and demo video that updates in real-time as you make changes!

 
 
 
 

I should preface this by stating I am a novice in general when it comes to the linux world.

I'm trying to write a bash script that will run on an ordinary basis as a cron job. It's simple enough it just runs apt update -y apt upgrade -y apt autoclean every 24 hours. The issue is that I also would like to be able to schedule a restart automatically if a restart would be frugal. I don't really want to just rely on checking for /var/run/reboot-required, and the output from debian-goodies checkrestart seems to be pretty dated and incompatible with scripts in general. Would it be better to run systemctl status and check for degradation, and then schedule a restart based on that? Does anyone far smarter than me have a solution?

 
 
view more: next ›