Replies: 8 comments 11 replies
-
Thanks for bringing this idea back to life. In practice, nothing prevents vimix from playing audio : gstreamer pipelines are very capable of doing so. In effect however, the user needs once audio is supported in vimix would grow exponentially with the (normal) expectations when comparing with other software. So it is more a design choice. One thing I had in mind:
But opening this pandora box was a bit scary :) |
Beta Was this translation helpful? Give feedback.
-
Additional comment regarding metronome synchronization: Although the features are not yet fully empowered in vimix, there is in the background a connection to Ableton Link that allows a performed of video to synchronize with a performer of music when playing together (and connected to the same local network). E.g. a video can wait for the beat to loop, ensuring a tempo regular loop in sync with music. Now, playing an audio would naturally lead to the request : can the metronome adapt to the audio to set the tempo? |
Beta Was this translation helpful? Give feedback.
-
Here is my ugly workaround for this a shell script to be started once vimix session is loaded and ready to go. uses SOCKET=./mpv/socket
AUDIO_FILE="audio.mp3"
# reset
oscsend localhost 7000 '/vimix/batch#0/play' f 0.0
oscsend localhost 7000 '/vimix/batch#0/seek' f 0.0
killall -q mpv
sleep 0.5
rm -f $SOCKET
# if any arg is passed, then exit
if [ $# -gt 0 ]; then
exit
fi
# start audio paused in background
mpv --no-video --no-loop --pause --no-terminal --profile=low-latency --input-ipc-server="$SOCKET" "$AUDIO_FILE" > /dev/null 2>&1 &
# wait for audio to load
sleep 1
# start video in vimix using OSC
oscsend localhost 7000 '/vimix/batch#0/play' f 1.0
# start mpv playing through socket
echo cycle pause | socat - "$SOCKET" |
Beta Was this translation helpful? Give feedback.
-
Okay, so here we go ! I opened the Pandora box of audio support in vimix ! This can be disabled in the application settings. It is in Beta for now : thank you for testing this by compiling the Beta branch, e.g. by making a flatpak package following these instructions: |
Beta Was this translation helpful? Give feedback.
-
Hi ! Thanks for keeping motivated to use vimix! I think I have the answer to your problem : if you installed the flathub version, you have to authorize it to use audio;
Another way to do that easily is to install Flatseal and to enable the 'PuseAudio sound server' in the vimix app : Thanks for pointing this problem; For the next release this will be set by default. |
Beta Was this translation helpful? Give feedback.
-
Hi again,
It would be indeed very welcome if you wish to contribute to improving vimix audio. In the background, everything is handled by the gstreamer library: so in theory it is not difficult to do. What is important is the UX integration : I would like to avoid messing up with the logic of image processing in vimix and I do not want to add all the knobs and audio mixing buttons as done in other audio dedicated programs. I was however imagining that adding one global audio player (e.g. support for mp3) could make things easier to record a mix based on music. To be discussed |
Beta Was this translation helpful? Give feedback.
-
Hi Bruno,
I could make the audio work with the flatpak command.
Our shows are mainly Live-Music mixed with video, so sound is kind of
Important! What I am thinking about ist just a small Mixer with whom one
can control and manipulate the sound easily with a Midi Controller or
something similar. Send it to another application would be a solution
but there my probem ist synchronicity. The video must absolutely play
synchronous image and sound what means they have to be started and
played at the very same time.
How I mentioned, it´ s quite a long time that I learned C++ but I am in
the mood to refresh it. So if it´s ok. for you, I will read the code of
Vimix until I understand it, than I will think again how to solve maybe
the practcial demands :)
Anyway, thanks for writing the program, I like it!
Philipp
…---
Philipp Kuhn
Gailhöfe 6
88699 Frickingen-Altheim
Am 24.03.2024 21:53 schrieb BHBN:
Hi again,
> I did a bit of research and if possible I would really like to have
> some kind of audio support. It is longtime that I did programming
> but maybe I will try to add a small audio-mixer. It would be great
> to have it! What do you think? Or do you know any other
> possibilities how to achieve using audio with it?
It would be indeed very welcome if you wish to contribute to improving
vimix audio. In the background, everything is handled by the gstreamer
library: so in theory it is not difficult to do.
What is important is the UX integration : I would like to avoid
messing up with the logic of image processing in vimix and I do not
want to add all the knobs and audio mixing buttons as done in other
audio dedicated programs. I was however imagining that adding one
global audio player (e.g. support for mp3) could make things easier to
record a mix based on music. To be discussed
--
Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you commented.Message ID:
***@***.***>
Links:
------
[1]
#104 (comment)
[2]
https://github.com/notifications/unsubscribe-auth/APTXVV5HE6JBBFDZGRX5J4LYZ44N7AVCNFSM6AAAAAA6QFSHPGVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DQOJVGA4TK
|
Beta Was this translation helpful? Give feedback.
-
Great ! Thanks for your positive feedback! Feel free to explore the code and improve it! It is not so much documented but should have enough comments to say what code does what when its not self-explanatory. You can start with the MediaPlayer that controls the gstreamer playbin, and the MediaSource that encapsulates the MediaPlayer as a vimix source. In the ImGuiVisitor you will find the code to render with imgui the left panel options for MediaSource. |
Beta Was this translation helpful? Give feedback.
-
Ran into a use case where I want do actually want the audio from a single video to be played. What's a decent workaround?
Some sort of external player that can send the video to shmdata?
Perhaps the window grab input? (Currently not working for me but could be fixed).
Beta Was this translation helpful? Give feedback.
All reactions