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!

Digital audio formats
Digital audio formatsDigital audio formats
Digital audio formats
amels_john
 
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
Kyle Bondo
 

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

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

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Recently uploaded (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 

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