SlideShare a Scribd company logo
1 of 61
Download to read offline
Become a rockstar using FOSS!
(Or at least use FOSS to write and share music for fun!)
Lorenzo Miniero
@lminiero@fosstodon.org
FOSDEM 2023, Open Media devroom
4th February 2023, Brussels
Clickbait title alert: not a rockstar!
But that doesn’t mean you can just have fun
A few words about me
Lorenzo Miniero
• WebRTC developer (Janus)
• Hobbyist musician
• Love metal & orchestral!
Let’s keep in touch!
• lminiero@gmail.com
• https://fosstodon.org/@lminiero
• https://lminiero.bandcamp.com
• https://soundcloud.com/lminiero
A barebones TOC
• We’ll talk about (not necessarily in this order...)
• The FOSS music ecosystem
• How you can write some music (composition and orchestration)
• Different ways of rendering virtual instruments
• Recording and/or processing real instruments
• Putting it all together in a DAW (mixing and mastering)
• How you can distribute the result (on demand vs. live)
• Please notice we will only scratch the surface, though
• There’s so much to talk about and so little time!
• Besides, I’m no expert: there’s good chances I’ll say something wrong...
A barebones TOC
• We’ll talk about (not necessarily in this order...)
• The FOSS music ecosystem
• How you can write some music (composition and orchestration)
• Different ways of rendering virtual instruments
• Recording and/or processing real instruments
• Putting it all together in a DAW (mixing and mastering)
• How you can distribute the result (on demand vs. live)
• Please notice we will only scratch the surface, though
• There’s so much to talk about and so little time!
• Besides, I’m no expert: there’s good chances I’ll say something wrong...
FOSS music ecosystem is amazing!
• Audio backends getting easier to use at low latencies
• e.g., ALSA, JACK, Pipewire, etc.
• Port-based approach helps avoiding monolithic applications
• Different applications to deal with different requirements
• They can then all connect to each other
• Many existing alternatives for different requirements
• Easy to find what works best for your needs
• Different genres may require a different approach
FOSS music ecosystem is amazing!
• Audio backends getting easier to use at low latencies
• e.g., ALSA, JACK, Pipewire, etc.
• Port-based approach helps avoiding monolithic applications
• Different applications to deal with different requirements
• They can then all connect to each other
• Many existing alternatives for different requirements
• Easy to find what works best for your needs
• Different genres may require a different approach
FOSS music ecosystem is amazing!
• Audio backends getting easier to use at low latencies
• e.g., ALSA, JACK, Pipewire, etc.
• Port-based approach helps avoiding monolithic applications
• Different applications to deal with different requirements
• They can then all connect to each other
• Many existing alternatives for different requirements
• Easy to find what works best for your needs
• Different genres may require a different approach
An important distinction before we start
• Applications will work with audio and/or MIDI signals
• Results may be similar, but they’re not the same “thing”!
• Audio signals
• Basically a waveform, an actual sound being captured/reproduced
• What may come from a microphone, or what’s sent to your speakers
• MIDI signals
• Information about specific notes being played (e.g., on a keyboard)
• Will often be translated to an audio signal itself (e.g., with virtual instruments)
• Some applications will only work with one, others with both
An important distinction before we start
• Applications will work with audio and/or MIDI signals
• Results may be similar, but they’re not the same “thing”!
• Audio signals
• Basically a waveform, an actual sound being captured/reproduced
• What may come from a microphone, or what’s sent to your speakers
• MIDI signals
• Information about specific notes being played (e.g., on a keyboard)
• Will often be translated to an audio signal itself (e.g., with virtual instruments)
• Some applications will only work with one, others with both
An important distinction before we start
• Applications will work with audio and/or MIDI signals
• Results may be similar, but they’re not the same “thing”!
• Audio signals
• Basically a waveform, an actual sound being captured/reproduced
• What may come from a microphone, or what’s sent to your speakers
• MIDI signals
• Information about specific notes being played (e.g., on a keyboard)
• Will often be translated to an audio signal itself (e.g., with virtual instruments)
• Some applications will only work with one, others with both
An important distinction before we start
• Applications will work with audio and/or MIDI signals
• Results may be similar, but they’re not the same “thing”!
• Audio signals
• Basically a waveform, an actual sound being captured/reproduced
• What may come from a microphone, or what’s sent to your speakers
• MIDI signals
• Information about specific notes being played (e.g., on a keyboard)
• Will often be translated to an audio signal itself (e.g., with virtual instruments)
• Some applications will only work with one, others with both
JACK Audio Connection Kit (JACK)
https://jackaudio.org/
One Pipewire to rule them all!
https://pipewire.org/
Capturing an instrument to make some noise
• You have your guitar/bass and your laptop, what do you do now?
• You can’t just plug the jack in the mic slot!
• You’ll need an audio interface of some sort
• e.g., USB audio interface with XLR/3.5mm inputs
• Interface ports then available as a system “capture”
• What to capture depends on what you need
• e.g., straight from the cable vs. already processed for electric guitar
• Acoustic guitars sometimes recorded from multiple sources at the same time
Capturing an instrument to make some noise
• You have your guitar/bass and your laptop, what do you do now?
• You can’t just plug the jack in the mic slot!
• You’ll need an audio interface of some sort
• e.g., USB audio interface with XLR/3.5mm inputs
• Interface ports then available as a system “capture”
• What to capture depends on what you need
• e.g., straight from the cable vs. already processed for electric guitar
• Acoustic guitars sometimes recorded from multiple sources at the same time
Capturing an instrument to make some noise
• You have your guitar/bass and your laptop, what do you do now?
• You can’t just plug the jack in the mic slot!
• You’ll need an audio interface of some sort
• e.g., USB audio interface with XLR/3.5mm inputs
• Interface ports then available as a system “capture”
• What to capture depends on what you need
• e.g., straight from the cable vs. already processed for electric guitar
• Acoustic guitars sometimes recorded from multiple sources at the same time
The one I personally use (note: cat not included)
Audio interface + instrument + JACK
Audio interface + instrument + JACK
Audio interface + instrument + JACK
Audio interface + instrument + JACK
Audio interface + instrument + JACK
Guitar/bass processing: Guitarix
https://guitarix.org/
Guitar/bass processing: Guitarix
Guitar/bass processing: Rakarrack
https://rakarrack.sourceforge.net/
Guitar/bass processing: Rakarrack
Why not both at the same time?
What if we want to record it, now?
• Any recording application that can act as a JACK sink will do
• e.g., Audacity, GStreamer, etc.
• Good chances are you want to work within a “project”, though
• Multiple tracks for different instruments
• Ability to add filters to work on tracks dynamically
• That’s where a DAW can help!
• Digital Audio Workstation
• Conceived to record, edit and produce audio files of different kinds
• Modular nature adds support for filters, EQ, compression, etc.
What if we want to record it, now?
• Any recording application that can act as a JACK sink will do
• e.g., Audacity, GStreamer, etc.
• Good chances are you want to work within a “project”, though
• Multiple tracks for different instruments
• Ability to add filters to work on tracks dynamically
• That’s where a DAW can help!
• Digital Audio Workstation
• Conceived to record, edit and produce audio files of different kinds
• Modular nature adds support for filters, EQ, compression, etc.
What if we want to record it, now?
• Any recording application that can act as a JACK sink will do
• e.g., Audacity, GStreamer, etc.
• Good chances are you want to work within a “project”, though
• Multiple tracks for different instruments
• Ability to add filters to work on tracks dynamically
• That’s where a DAW can help!
• Digital Audio Workstation
• Conceived to record, edit and produce audio files of different kinds
• Modular nature adds support for filters, EQ, compression, etc.
The one I personally use: Ardour
https://ardour.org/
That’s a lot of connections!
Adding drums (without a drummer!)
• Let’s assume we have bass and guitars, now: what about drums?
• Unless you have a “real” one, that is!
• First good example of “virtual instrument”
• We’ll need to “write” the drum parts
• Something will then need to “sequence” them (drum sounds)
• While you can write MIDI manually, patterns are easier to work with
• Rhythmic parts can be repeated, with some variations
• Percussive nature of instrument helps too
Adding drums (without a drummer!)
• Let’s assume we have bass and guitars, now: what about drums?
• Unless you have a “real” one, that is!
• First good example of “virtual instrument”
• We’ll need to “write” the drum parts
• Something will then need to “sequence” them (drum sounds)
• While you can write MIDI manually, patterns are easier to work with
• Rhythmic parts can be repeated, with some variations
• Percussive nature of instrument helps too
Adding drums (without a drummer!)
• Let’s assume we have bass and guitars, now: what about drums?
• Unless you have a “real” one, that is!
• First good example of “virtual instrument”
• We’ll need to “write” the drum parts
• Something will then need to “sequence” them (drum sounds)
• While you can write MIDI manually, patterns are easier to work with
• Rhythmic parts can be repeated, with some variations
• Percussive nature of instrument helps too
An excellent pattern based drum machine: Hydrogen
http://hydrogen-music.org/
Multichannel drums composition: DrumGizmo
https://drumgizmo.org/
Hydrogen + DrumGizmo
What about other virtual instruments?
• We added guitars, bass, even drums, but we may want more
• Maybe a keyboard background...
• ... or a piano/synth solo ...
• ... or even a full orchestra!
• Just as with drums, this is where MIDI helps
• We’ll have information on which notes to play, and how
• Something will then turn that to “sounds” (e.g., a trumpet)
• Notes can come from different places
• Hardware keyboards often have USB MIDI support (a source in JACK)
• Or we might simply want to write the parts ourselves instead
What about other virtual instruments?
• We added guitars, bass, even drums, but we may want more
• Maybe a keyboard background...
• ... or a piano/synth solo ...
• ... or even a full orchestra!
• Just as with drums, this is where MIDI helps
• We’ll have information on which notes to play, and how
• Something will then turn that to “sounds” (e.g., a trumpet)
• Notes can come from different places
• Hardware keyboards often have USB MIDI support (a source in JACK)
• Or we might simply want to write the parts ourselves instead
What about other virtual instruments?
• We added guitars, bass, even drums, but we may want more
• Maybe a keyboard background...
• ... or a piano/synth solo ...
• ... or even a full orchestra!
• Just as with drums, this is where MIDI helps
• We’ll have information on which notes to play, and how
• Something will then turn that to “sounds” (e.g., a trumpet)
• Notes can come from different places
• Hardware keyboards often have USB MIDI support (a source in JACK)
• Or we might simply want to write the parts ourselves instead
You don’t need that many keys to have fun!
Using soundfonts (SF2): Fluidsynth/Qsynth
https://qsynth.sourceforge.io/
Using soundfonts (SF2): Fluidsynth/Qsynth
Using a more complex synth: Yoshimi
https://yoshimi.sourceforge.io/
Using a more complex synth: Yoshimi
Using Sforzando format (SFZ): sfizz
https://sfz.tools/sfizz/
Using Sforzando format (SFZ): sfizz
Using Windows VSTs: LinVST (e.g., via Carla)
https://github.com/osxmidi/LinVst
Using Windows VSTs: LinVST (e.g., via Carla)
Writing music as if you were programming: Lilypond
https://lilypond.org/
A simpler WYSIWYG approach: MuseScore
https://musescore.org/
Don’t know music notation? Piano rolls to the rescue!
Your song’s ready: what now?
• Many places where you could upload it to
• e.g., Soundcloud, Jamendo, Youtube/Peertube, etc.
• Bandcamp good option to try and monetize your music
• Spotify, Apple Music, etc. need intermediary (e.g., Distrokid)
• ... but they’re only worth it if you want to “be there”
• Royalties per play are beyond ridicolous
• Make sure you engage the community for feedback and learning!
• https://linuxmusicians.com/viewforum.php?f=9
• https://discourse.ardour.org/c/community/made-with-ardour/13
Your song’s ready: what now?
• Many places where you could upload it to
• e.g., Soundcloud, Jamendo, Youtube/Peertube, etc.
• Bandcamp good option to try and monetize your music
• Spotify, Apple Music, etc. need intermediary (e.g., Distrokid)
• ... but they’re only worth it if you want to “be there”
• Royalties per play are beyond ridicolous
• Make sure you engage the community for feedback and learning!
• https://linuxmusicians.com/viewforum.php?f=9
• https://discourse.ardour.org/c/community/made-with-ardour/13
Your song’s ready: what now?
• Many places where you could upload it to
• e.g., Soundcloud, Jamendo, Youtube/Peertube, etc.
• Bandcamp good option to try and monetize your music
• Spotify, Apple Music, etc. need intermediary (e.g., Distrokid)
• ... but they’re only worth it if you want to “be there”
• Royalties per play are beyond ridicolous
• Make sure you engage the community for feedback and learning!
• https://linuxmusicians.com/viewforum.php?f=9
• https://discourse.ardour.org/c/community/made-with-ardour/13
“All I want for Christmas is Odin”
https://www.youtube.com/watch?v=hxjwb8mzDQQ
https://peertube.tv/w/jGRAueDQFvhhNC2y1CYdKE
“Can WebRTC help musicians?”
https://fosdem.org/2021/schedule/event/webrtc_musicians/
Thanks! Questions? Comments?
Contacts
• https://lminiero.bandcamp.com
• https://soundcloud.com/lminiero
• https://fosstodon.org/@lminiero
• https://twitter.com/elminiero

More Related Content

Similar to Become a rockstar using FOSS!

How to Begin Music Recording
How to Begin Music RecordingHow to Begin Music Recording
How to Begin Music Recordingwilliamlindberg
 
COMP 4010 Lecture5 VR Audio and Tracking
COMP 4010 Lecture5 VR Audio and TrackingCOMP 4010 Lecture5 VR Audio and Tracking
COMP 4010 Lecture5 VR Audio and TrackingMark Billinghurst
 
Deep dive into Android’s audio latency problem
Deep dive into Android’s audio latency problemDeep dive into Android’s audio latency problem
Deep dive into Android’s audio latency problemSirawat Pitaksarit
 
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")Leif Bloomquist
 
introduction to audio formats - Multimedia Students
introduction to audio formats - Multimedia Studentsintroduction to audio formats - Multimedia Students
introduction to audio formats - Multimedia StudentsSEO SKills
 
Music in the Metaverse
Music in the MetaverseMusic in the Metaverse
Music in the MetaverseRichard Elen
 
Digital audio formats
Digital audio formatsDigital audio formats
Digital audio formatsamels_john
 
The challenges of hybrid meetings @ CommCon 2023
The challenges of hybrid meetings @ CommCon 2023The challenges of hybrid meetings @ CommCon 2023
The challenges of hybrid meetings @ CommCon 2023Lorenzo Miniero
 
Logic audio ideas - Introduction
Logic audio ideas - IntroductionLogic audio ideas - Introduction
Logic audio ideas - IntroductionSteven Ene
 
Janus + Audio @ Open Source World
Janus + Audio @ Open Source WorldJanus + Audio @ Open Source World
Janus + Audio @ Open Source WorldLorenzo Miniero
 
Podcasting Gear 101: A Beginners Guide to Podcasting Technology
Podcasting Gear 101: A Beginners Guide to Podcasting TechnologyPodcasting Gear 101: A Beginners Guide to Podcasting Technology
Podcasting Gear 101: A Beginners Guide to Podcasting TechnologyKyle Bondo
 
Spatial Sound 3: Audio Rendering and Ambisonics
Spatial Sound 3: Audio Rendering and AmbisonicsSpatial Sound 3: Audio Rendering and Ambisonics
Spatial Sound 3: Audio Rendering and AmbisonicsRichard Elen
 
Audio Production
Audio ProductionAudio Production
Audio Productionptcentrum
 
The Ultimate Guide to Podcasting
The Ultimate Guide to PodcastingThe Ultimate Guide to Podcasting
The Ultimate Guide to Podcastingpriya mehta
 
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBandLearn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBandSt. Petersburg College
 

Similar to Become a rockstar using FOSS! (20)

How to Begin Music Recording
How to Begin Music RecordingHow to Begin Music Recording
How to Begin Music Recording
 
COMP 4010 Lecture5 VR Audio and Tracking
COMP 4010 Lecture5 VR Audio and TrackingCOMP 4010 Lecture5 VR Audio and Tracking
COMP 4010 Lecture5 VR Audio and Tracking
 
Deep dive into Android’s audio latency problem
Deep dive into Android’s audio latency problemDeep dive into Android’s audio latency problem
Deep dive into Android’s audio latency problem
 
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
 
introduction to audio formats - Multimedia Students
introduction to audio formats - Multimedia Studentsintroduction to audio formats - Multimedia Students
introduction to audio formats - Multimedia Students
 
Call audio
Call audioCall audio
Call audio
 
Podcasting101
Podcasting101Podcasting101
Podcasting101
 
Music in the Metaverse
Music in the MetaverseMusic in the Metaverse
Music in the Metaverse
 
Digital audio formats
Digital audio formatsDigital audio formats
Digital audio formats
 
The challenges of hybrid meetings @ CommCon 2023
The challenges of hybrid meetings @ CommCon 2023The challenges of hybrid meetings @ CommCon 2023
The challenges of hybrid meetings @ CommCon 2023
 
Logic audio ideas - Introduction
Logic audio ideas - IntroductionLogic audio ideas - Introduction
Logic audio ideas - Introduction
 
Speech Recognition System
Speech Recognition SystemSpeech Recognition System
Speech Recognition System
 
Janus + Audio @ Open Source World
Janus + Audio @ Open Source WorldJanus + Audio @ Open Source World
Janus + Audio @ Open Source World
 
Podcasting Gear 101: A Beginners Guide to Podcasting Technology
Podcasting Gear 101: A Beginners Guide to Podcasting TechnologyPodcasting Gear 101: A Beginners Guide to Podcasting Technology
Podcasting Gear 101: A Beginners Guide to Podcasting Technology
 
Spatial Sound 3: Audio Rendering and Ambisonics
Spatial Sound 3: Audio Rendering and AmbisonicsSpatial Sound 3: Audio Rendering and Ambisonics
Spatial Sound 3: Audio Rendering and Ambisonics
 
Audio Production
Audio ProductionAudio Production
Audio Production
 
The Ultimate Guide to Podcasting
The Ultimate Guide to PodcastingThe Ultimate Guide to Podcasting
The Ultimate Guide to Podcasting
 
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBandLearn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
 
Wiki's and Podcasts
Wiki's and PodcastsWiki's and Podcasts
Wiki's and Podcasts
 
Mit21 m 380s12_complecnot
Mit21 m 380s12_complecnotMit21 m 380s12_complecnot
Mit21 m 380s12_complecnot
 

More from Lorenzo Miniero

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Getting AV1/SVC to work in the Janus WebRTC Server
Getting AV1/SVC to work in the Janus WebRTC ServerGetting AV1/SVC to work in the Janus WebRTC Server
Getting AV1/SVC to work in the Janus WebRTC ServerLorenzo Miniero
 
WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023Lorenzo Miniero
 
Real-Time Text and WebRTC @ Kamailio World 2023
Real-Time Text and WebRTC @ Kamailio World 2023Real-Time Text and WebRTC @ Kamailio World 2023
Real-Time Text and WebRTC @ Kamailio World 2023Lorenzo Miniero
 
Janus SFU cascading @ IIT-RTC 2022
Janus SFU cascading @ IIT-RTC 2022Janus SFU cascading @ IIT-RTC 2022
Janus SFU cascading @ IIT-RTC 2022Lorenzo Miniero
 
SIP transfer with Janus/WebRTC @ OpenSIPS 2022
SIP transfer with Janus/WebRTC @ OpenSIPS 2022SIP transfer with Janus/WebRTC @ OpenSIPS 2022
SIP transfer with Janus/WebRTC @ OpenSIPS 2022Lorenzo Miniero
 
WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022Lorenzo Miniero
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021Lorenzo Miniero
 
Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021Lorenzo Miniero
 
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDScaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDLorenzo Miniero
 
Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Lorenzo Miniero
 
Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Lorenzo Miniero
 
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSVirtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSLorenzo Miniero
 
Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020Lorenzo Miniero
 
Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Lorenzo Miniero
 
Janus Workshop @ ClueCon 2020
Janus Workshop @ ClueCon 2020Janus Workshop @ ClueCon 2020
Janus Workshop @ ClueCon 2020Lorenzo Miniero
 
Turning live events to virtual with Janus
Turning live events to virtual with JanusTurning live events to virtual with Janus
Turning live events to virtual with JanusLorenzo Miniero
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Lorenzo Miniero
 
Janus workshop @ RTC2019 Beijing
Janus workshop @ RTC2019 BeijingJanus workshop @ RTC2019 Beijing
Janus workshop @ RTC2019 BeijingLorenzo Miniero
 

More from Lorenzo Miniero (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Getting AV1/SVC to work in the Janus WebRTC Server
Getting AV1/SVC to work in the Janus WebRTC ServerGetting AV1/SVC to work in the Janus WebRTC Server
Getting AV1/SVC to work in the Janus WebRTC Server
 
WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023WebRTC Broadcasting @ TADSummit 2023
WebRTC Broadcasting @ TADSummit 2023
 
BWE in Janus
BWE in JanusBWE in Janus
BWE in Janus
 
Real-Time Text and WebRTC @ Kamailio World 2023
Real-Time Text and WebRTC @ Kamailio World 2023Real-Time Text and WebRTC @ Kamailio World 2023
Real-Time Text and WebRTC @ Kamailio World 2023
 
Janus SFU cascading @ IIT-RTC 2022
Janus SFU cascading @ IIT-RTC 2022Janus SFU cascading @ IIT-RTC 2022
Janus SFU cascading @ IIT-RTC 2022
 
SIP transfer with Janus/WebRTC @ OpenSIPS 2022
SIP transfer with Janus/WebRTC @ OpenSIPS 2022SIP transfer with Janus/WebRTC @ OpenSIPS 2022
SIP transfer with Janus/WebRTC @ OpenSIPS 2022
 
WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022WHIP WebRTC Broadcasting @ FOSDEM 2022
WHIP WebRTC Broadcasting @ FOSDEM 2022
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021
 
Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021
 
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONEDScaling WebRTC deployments with multicast @ IETF 110 MBONED
Scaling WebRTC deployments with multicast @ IETF 110 MBONED
 
Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021Janus Workshop pt.2 @ ClueCon 2021
Janus Workshop pt.2 @ ClueCon 2021
 
Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021
 
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSVirtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
 
Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020
 
Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020Insertable Streams and E2EE @ ClueCon2020
Insertable Streams and E2EE @ ClueCon2020
 
Janus Workshop @ ClueCon 2020
Janus Workshop @ ClueCon 2020Janus Workshop @ ClueCon 2020
Janus Workshop @ ClueCon 2020
 
Turning live events to virtual with Janus
Turning live events to virtual with JanusTurning live events to virtual with Janus
Turning live events to virtual with Janus
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
Janus workshop @ RTC2019 Beijing
Janus workshop @ RTC2019 BeijingJanus workshop @ RTC2019 Beijing
Janus workshop @ RTC2019 Beijing
 

Recently uploaded

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 

Recently uploaded (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 

Become a rockstar using FOSS!

  • 1. Become a rockstar using FOSS! (Or at least use FOSS to write and share music for fun!) Lorenzo Miniero @lminiero@fosstodon.org FOSDEM 2023, Open Media devroom 4th February 2023, Brussels
  • 2. Clickbait title alert: not a rockstar!
  • 3. But that doesn’t mean you can just have fun
  • 4. A few words about me Lorenzo Miniero • WebRTC developer (Janus) • Hobbyist musician • Love metal & orchestral! Let’s keep in touch! • lminiero@gmail.com • https://fosstodon.org/@lminiero • https://lminiero.bandcamp.com • https://soundcloud.com/lminiero
  • 5. A barebones TOC • We’ll talk about (not necessarily in this order...) • The FOSS music ecosystem • How you can write some music (composition and orchestration) • Different ways of rendering virtual instruments • Recording and/or processing real instruments • Putting it all together in a DAW (mixing and mastering) • How you can distribute the result (on demand vs. live) • Please notice we will only scratch the surface, though • There’s so much to talk about and so little time! • Besides, I’m no expert: there’s good chances I’ll say something wrong...
  • 6. A barebones TOC • We’ll talk about (not necessarily in this order...) • The FOSS music ecosystem • How you can write some music (composition and orchestration) • Different ways of rendering virtual instruments • Recording and/or processing real instruments • Putting it all together in a DAW (mixing and mastering) • How you can distribute the result (on demand vs. live) • Please notice we will only scratch the surface, though • There’s so much to talk about and so little time! • Besides, I’m no expert: there’s good chances I’ll say something wrong...
  • 7. FOSS music ecosystem is amazing! • Audio backends getting easier to use at low latencies • e.g., ALSA, JACK, Pipewire, etc. • Port-based approach helps avoiding monolithic applications • Different applications to deal with different requirements • They can then all connect to each other • Many existing alternatives for different requirements • Easy to find what works best for your needs • Different genres may require a different approach
  • 8. FOSS music ecosystem is amazing! • Audio backends getting easier to use at low latencies • e.g., ALSA, JACK, Pipewire, etc. • Port-based approach helps avoiding monolithic applications • Different applications to deal with different requirements • They can then all connect to each other • Many existing alternatives for different requirements • Easy to find what works best for your needs • Different genres may require a different approach
  • 9. FOSS music ecosystem is amazing! • Audio backends getting easier to use at low latencies • e.g., ALSA, JACK, Pipewire, etc. • Port-based approach helps avoiding monolithic applications • Different applications to deal with different requirements • They can then all connect to each other • Many existing alternatives for different requirements • Easy to find what works best for your needs • Different genres may require a different approach
  • 10. An important distinction before we start • Applications will work with audio and/or MIDI signals • Results may be similar, but they’re not the same “thing”! • Audio signals • Basically a waveform, an actual sound being captured/reproduced • What may come from a microphone, or what’s sent to your speakers • MIDI signals • Information about specific notes being played (e.g., on a keyboard) • Will often be translated to an audio signal itself (e.g., with virtual instruments) • Some applications will only work with one, others with both
  • 11. An important distinction before we start • Applications will work with audio and/or MIDI signals • Results may be similar, but they’re not the same “thing”! • Audio signals • Basically a waveform, an actual sound being captured/reproduced • What may come from a microphone, or what’s sent to your speakers • MIDI signals • Information about specific notes being played (e.g., on a keyboard) • Will often be translated to an audio signal itself (e.g., with virtual instruments) • Some applications will only work with one, others with both
  • 12. An important distinction before we start • Applications will work with audio and/or MIDI signals • Results may be similar, but they’re not the same “thing”! • Audio signals • Basically a waveform, an actual sound being captured/reproduced • What may come from a microphone, or what’s sent to your speakers • MIDI signals • Information about specific notes being played (e.g., on a keyboard) • Will often be translated to an audio signal itself (e.g., with virtual instruments) • Some applications will only work with one, others with both
  • 13. An important distinction before we start • Applications will work with audio and/or MIDI signals • Results may be similar, but they’re not the same “thing”! • Audio signals • Basically a waveform, an actual sound being captured/reproduced • What may come from a microphone, or what’s sent to your speakers • MIDI signals • Information about specific notes being played (e.g., on a keyboard) • Will often be translated to an audio signal itself (e.g., with virtual instruments) • Some applications will only work with one, others with both
  • 14. JACK Audio Connection Kit (JACK) https://jackaudio.org/
  • 15. One Pipewire to rule them all! https://pipewire.org/
  • 16. Capturing an instrument to make some noise • You have your guitar/bass and your laptop, what do you do now? • You can’t just plug the jack in the mic slot! • You’ll need an audio interface of some sort • e.g., USB audio interface with XLR/3.5mm inputs • Interface ports then available as a system “capture” • What to capture depends on what you need • e.g., straight from the cable vs. already processed for electric guitar • Acoustic guitars sometimes recorded from multiple sources at the same time
  • 17. Capturing an instrument to make some noise • You have your guitar/bass and your laptop, what do you do now? • You can’t just plug the jack in the mic slot! • You’ll need an audio interface of some sort • e.g., USB audio interface with XLR/3.5mm inputs • Interface ports then available as a system “capture” • What to capture depends on what you need • e.g., straight from the cable vs. already processed for electric guitar • Acoustic guitars sometimes recorded from multiple sources at the same time
  • 18. Capturing an instrument to make some noise • You have your guitar/bass and your laptop, what do you do now? • You can’t just plug the jack in the mic slot! • You’ll need an audio interface of some sort • e.g., USB audio interface with XLR/3.5mm inputs • Interface ports then available as a system “capture” • What to capture depends on what you need • e.g., straight from the cable vs. already processed for electric guitar • Acoustic guitars sometimes recorded from multiple sources at the same time
  • 19. The one I personally use (note: cat not included)
  • 20. Audio interface + instrument + JACK
  • 21. Audio interface + instrument + JACK
  • 22. Audio interface + instrument + JACK
  • 23. Audio interface + instrument + JACK
  • 24. Audio interface + instrument + JACK
  • 29. Why not both at the same time?
  • 30. What if we want to record it, now? • Any recording application that can act as a JACK sink will do • e.g., Audacity, GStreamer, etc. • Good chances are you want to work within a “project”, though • Multiple tracks for different instruments • Ability to add filters to work on tracks dynamically • That’s where a DAW can help! • Digital Audio Workstation • Conceived to record, edit and produce audio files of different kinds • Modular nature adds support for filters, EQ, compression, etc.
  • 31. What if we want to record it, now? • Any recording application that can act as a JACK sink will do • e.g., Audacity, GStreamer, etc. • Good chances are you want to work within a “project”, though • Multiple tracks for different instruments • Ability to add filters to work on tracks dynamically • That’s where a DAW can help! • Digital Audio Workstation • Conceived to record, edit and produce audio files of different kinds • Modular nature adds support for filters, EQ, compression, etc.
  • 32. What if we want to record it, now? • Any recording application that can act as a JACK sink will do • e.g., Audacity, GStreamer, etc. • Good chances are you want to work within a “project”, though • Multiple tracks for different instruments • Ability to add filters to work on tracks dynamically • That’s where a DAW can help! • Digital Audio Workstation • Conceived to record, edit and produce audio files of different kinds • Modular nature adds support for filters, EQ, compression, etc.
  • 33. The one I personally use: Ardour https://ardour.org/
  • 34. That’s a lot of connections!
  • 35. Adding drums (without a drummer!) • Let’s assume we have bass and guitars, now: what about drums? • Unless you have a “real” one, that is! • First good example of “virtual instrument” • We’ll need to “write” the drum parts • Something will then need to “sequence” them (drum sounds) • While you can write MIDI manually, patterns are easier to work with • Rhythmic parts can be repeated, with some variations • Percussive nature of instrument helps too
  • 36. Adding drums (without a drummer!) • Let’s assume we have bass and guitars, now: what about drums? • Unless you have a “real” one, that is! • First good example of “virtual instrument” • We’ll need to “write” the drum parts • Something will then need to “sequence” them (drum sounds) • While you can write MIDI manually, patterns are easier to work with • Rhythmic parts can be repeated, with some variations • Percussive nature of instrument helps too
  • 37. Adding drums (without a drummer!) • Let’s assume we have bass and guitars, now: what about drums? • Unless you have a “real” one, that is! • First good example of “virtual instrument” • We’ll need to “write” the drum parts • Something will then need to “sequence” them (drum sounds) • While you can write MIDI manually, patterns are easier to work with • Rhythmic parts can be repeated, with some variations • Percussive nature of instrument helps too
  • 38. An excellent pattern based drum machine: Hydrogen http://hydrogen-music.org/
  • 39. Multichannel drums composition: DrumGizmo https://drumgizmo.org/
  • 41. What about other virtual instruments? • We added guitars, bass, even drums, but we may want more • Maybe a keyboard background... • ... or a piano/synth solo ... • ... or even a full orchestra! • Just as with drums, this is where MIDI helps • We’ll have information on which notes to play, and how • Something will then turn that to “sounds” (e.g., a trumpet) • Notes can come from different places • Hardware keyboards often have USB MIDI support (a source in JACK) • Or we might simply want to write the parts ourselves instead
  • 42. What about other virtual instruments? • We added guitars, bass, even drums, but we may want more • Maybe a keyboard background... • ... or a piano/synth solo ... • ... or even a full orchestra! • Just as with drums, this is where MIDI helps • We’ll have information on which notes to play, and how • Something will then turn that to “sounds” (e.g., a trumpet) • Notes can come from different places • Hardware keyboards often have USB MIDI support (a source in JACK) • Or we might simply want to write the parts ourselves instead
  • 43. What about other virtual instruments? • We added guitars, bass, even drums, but we may want more • Maybe a keyboard background... • ... or a piano/synth solo ... • ... or even a full orchestra! • Just as with drums, this is where MIDI helps • We’ll have information on which notes to play, and how • Something will then turn that to “sounds” (e.g., a trumpet) • Notes can come from different places • Hardware keyboards often have USB MIDI support (a source in JACK) • Or we might simply want to write the parts ourselves instead
  • 44. You don’t need that many keys to have fun!
  • 45. Using soundfonts (SF2): Fluidsynth/Qsynth https://qsynth.sourceforge.io/
  • 46. Using soundfonts (SF2): Fluidsynth/Qsynth
  • 47. Using a more complex synth: Yoshimi https://yoshimi.sourceforge.io/
  • 48. Using a more complex synth: Yoshimi
  • 49. Using Sforzando format (SFZ): sfizz https://sfz.tools/sfizz/
  • 50. Using Sforzando format (SFZ): sfizz
  • 51. Using Windows VSTs: LinVST (e.g., via Carla) https://github.com/osxmidi/LinVst
  • 52. Using Windows VSTs: LinVST (e.g., via Carla)
  • 53. Writing music as if you were programming: Lilypond https://lilypond.org/
  • 54. A simpler WYSIWYG approach: MuseScore https://musescore.org/
  • 55. Don’t know music notation? Piano rolls to the rescue!
  • 56. Your song’s ready: what now? • Many places where you could upload it to • e.g., Soundcloud, Jamendo, Youtube/Peertube, etc. • Bandcamp good option to try and monetize your music • Spotify, Apple Music, etc. need intermediary (e.g., Distrokid) • ... but they’re only worth it if you want to “be there” • Royalties per play are beyond ridicolous • Make sure you engage the community for feedback and learning! • https://linuxmusicians.com/viewforum.php?f=9 • https://discourse.ardour.org/c/community/made-with-ardour/13
  • 57. Your song’s ready: what now? • Many places where you could upload it to • e.g., Soundcloud, Jamendo, Youtube/Peertube, etc. • Bandcamp good option to try and monetize your music • Spotify, Apple Music, etc. need intermediary (e.g., Distrokid) • ... but they’re only worth it if you want to “be there” • Royalties per play are beyond ridicolous • Make sure you engage the community for feedback and learning! • https://linuxmusicians.com/viewforum.php?f=9 • https://discourse.ardour.org/c/community/made-with-ardour/13
  • 58. Your song’s ready: what now? • Many places where you could upload it to • e.g., Soundcloud, Jamendo, Youtube/Peertube, etc. • Bandcamp good option to try and monetize your music • Spotify, Apple Music, etc. need intermediary (e.g., Distrokid) • ... but they’re only worth it if you want to “be there” • Royalties per play are beyond ridicolous • Make sure you engage the community for feedback and learning! • https://linuxmusicians.com/viewforum.php?f=9 • https://discourse.ardour.org/c/community/made-with-ardour/13
  • 59. “All I want for Christmas is Odin” https://www.youtube.com/watch?v=hxjwb8mzDQQ https://peertube.tv/w/jGRAueDQFvhhNC2y1CYdKE
  • 60. “Can WebRTC help musicians?” https://fosdem.org/2021/schedule/event/webrtc_musicians/
  • 61. Thanks! Questions? Comments? Contacts • https://lminiero.bandcamp.com • https://soundcloud.com/lminiero • https://fosstodon.org/@lminiero • https://twitter.com/elminiero