Musicbox

Start dit hoofdstuk met een nieuwe reservekopie van de Basisimage.

Natuurlijk kan je zelf voor muziek zorgen, maar wie wat testmateriaal nodig heeft, kan musicbox.zip downloaden.

Als je de gelukkige eigenaar van een Raspberry Pi bent, maak je toch gewoon je eigen streaming-audiosysteem? Je sluit je Pi eenvoudigweg op je luidsprekers en op het netwerk aan, waarna je het minicomputertje muziek van internet of van je lokale netwerk streamt. Je audiosysteem stuur je draadloos aan via je smartphone, tablet of browser.

Geluidsweergave testen en aanpassen

Na het aansluiten van de audio-uitgang op een versterker, hoofdtelefoon, monitor, enz., test je de geluidsweergave met de opdracht:

pi@raspberrypi:~ $ aplay /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

De geluidsweergave werkt als je een stem Front Center hoort zeggen.

Je kunt de geluidsweergave bij de System Options configureren met de opdracht:

pi@raspberrypi:~ $ sudo raspi-config

Of deze rechtstreeks aanpassen via het snelmenu van het luidsprekerknopje in het systeemvak. Soms staat het analoge volume niet hoog genoeg, schakel om het analoge volume te verhogen, even naar HDMI en terug naar Analoog. Je kunt het analoge volume (Headphone) ook aanpassen met de terminal opdracht alsamixer.

Mopidy

Om een MusicBox te maken, gebruiken we Mopidy, een uitbreidbare muziek server geschreven in Python. Standaard speelt Modipy muziek vanaf een lokale schijf of radio streams, via uitbreidingen heeft Modify toegang tot Spotify, SoundCloud, Google Play Music, enz. Je kunt de afspeellijst aanpassen vanaf een smartphone, tablet of computer met behulp van MPD- en web clients.

Mopidy is een Python applicatie die in de opdrachtregel (terminal) of in de achtergrond werkt op Linux en MacOS die met een netwerk verbonden zijn en een audio-uitgang hebben. Strikt gezien is Mopidy een MPD en HTTP server. Extra bedieningsmogelijkheden kunnen via extensies toegevoegd worden.

Modipy's uitbreidingen ondersteunen Python, JSON-RPC en JavaScript-API's waardoor Mopidy geschikt is om eigen projecten mee te bouwen.

Mopidy installatie

Zoals altijd zorgen we dat het besturingssysteem up to date is.

pi@raspberrypi:~ $ sudo apt update && sudo apt upgrade -y
Geraakt:1 http://security.debian.org/debian-security bullseye-security InRelease
Geraakt:2 http://deb.debian.org/debian bullseye InRelease                                                
Geraakt:3 http://deb.debian.org/debian bullseye-updates InRelease                                        
Geraakt:4 http://archive.raspberrypi.org/debian bullseye InRelease                                       
Pakketlijsten worden ingelezen... Klaar                                          
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
Alle pakketten zijn up-to-date.
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
Opwaardering wordt doorgerekend... Klaar
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.

En installeren we Mopidy:

pi@raspberrypi:~ $ sudo apt install mopidy
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
De volgende extra pakketten zullen geïnstalleerd worden:
  fonts-font-awesome fonts-lato gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio
  gstreamer1.0-tools libopencore-amrnb0 libopencore-amrwb0 libsidplay1v5 python3-gst-1.0 python3-pykka python3-tornado
  sphinx-rtd-theme-common
Voorgestelde pakketten:
  sidplay-base mopidy-doc python3-pycurl python-tornado-doc python3-twisted
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
  fonts-font-awesome fonts-lato gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio
  gstreamer1.0-tools libopencore-amrnb0 libopencore-amrwb0 libsidplay1v5 mopidy python3-gst-1.0 python3-pykka python3-tornado
  sphinx-rtd-theme-common
0 opgewaardeerd, 15 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 10,6 MB aan archieven opgehaald worden.
Na deze bewerking zal er 25,4 MB extra schijfruimte gebruikt worden.
Wilt u doorgaan? [J/n] 
Ophalen:1 http://security.debian.org/debian-security bullseye-security/main arm64 gir1.2-gst-plugins-base-1.0 arm64 1.18.4-2+deb11u1 [1.436 kB]
Ophalen:2 http://deb.debian.org/debian bullseye/main arm64 fonts-lato all 2.0-2.1 [2.696 kB]                                          
Ophalen:3 http://archive.raspberrypi.org/debian bullseye/main arm64 gstreamer1.0-pulseaudio arm64 1.18.4-2+deb11u2+rpt1 [1.361 kB]    
...
Ophalen:13 http://deb.debian.org/debian bullseye/main arm64 sphinx-rtd-theme-common all 0.5.1+dfsg-1 [995 kB]
Ophalen:14 http://deb.debian.org/debian bullseye/main arm64 python3-pykka all 2.0.3-1 [89,1 kB]
Ophalen:15 http://deb.debian.org/debian bullseye/main arm64 mopidy all 3.1.1-1 [104 kB]   
10,6 MB opgehaald in 1s (7.683 kB/s)                                              
Voorconfigureren van pakketten ...
Voorheen niet geselecteerd pakket fonts-lato wordt geselecteerd.
(Database wordt ingelezen ... 96925 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../00-fonts-lato_2.0-2.1_all.deb wordt voorbereid...
Bezig met uitpakken van fonts-lato (2.0-2.1) ...
...
Voorheen niet geselecteerd pakket mopidy wordt geselecteerd.
Uitpakken van .../14-mopidy_3.1.1-1_all.deb wordt voorbereid...
Bezig met uitpakken van mopidy (3.1.1-1) ...
Instellen van python3-tornado (6.1.0-1+b1) ...
Instellen van gir1.2-gstreamer-1.0:arm64 (1.18.4-2.1) ...
...
Instellen van python3-pykka (2.0.3-1) ...
Instellen van mopidy (3.1.1-1) ...
Bezig met afhandelen van triggers voor fontconfig (2.13.1-4.2) ...
Bezig met afhandelen van triggers voor desktop-file-utils (0.26-1) ...
Bezig met afhandelen van triggers voor gnome-menus (3.36.0-1) ...
Bezig met afhandelen van triggers voor libc-bin (2.31-13+rpt2+rpi1+deb11u5) ...
Bezig met afhandelen van triggers voor man-db (2.9.4-2) ...
Bezig met afhandelen van triggers voor mailcap (3.69) ...

Mopidy MusicBox Webclient

Aangezien Mopidy enkel een server is, hebben we nog een client nodig om de server te bedienen, m.a.w. muziek af te kunnen spelen. Uit de vele clients installeren we de populaire Mopidy-MusicBox-Webclient:

pi@raspberrypi:~ $ sudo pip3 install Mopidy-MusicBox-Webclient
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting Mopidy-MusicBox-Webclient
  Downloading https://www.piwheels.org/simple/mopidy-musicbox-webclient/Mopidy_MusicBox_Webclient-3.1.0-py3-none-any.whl (1.4 MB)
     |████████████████████████████████| 1.4 MB 1.2 MB/s 
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from Mopidy-MusicBox-Webclient) (52.0.0)
Requirement already satisfied: Pykka>=2.0.1 in /usr/lib/python3/dist-packages (from Mopidy-MusicBox-Webclient) (2.0.3)
Requirement already satisfied: Mopidy>=3.0.0 in /usr/lib/python3/dist-packages (from Mopidy-MusicBox-Webclient) (3.1.1)
Installing collected packages: Mopidy-MusicBox-Webclient
Successfully installed Mopidy-MusicBox-Webclient-3.1.0

Mopidy starten en stoppen

Start Mopidy:

pi@raspberrypi:~ $ python3 /usr/bin/mopidy &
[1] 2641
pi@raspberrypi:~ $ INFO     2023-08-30 16:27:33,089 [2641:MainThread] mopidy.__main__
  Starting Mopidy 3.1.1
INFO     2023-08-30 16:27:33,173 [2641:MainThread] mopidy.config
  Loading config from builtin defaults
INFO     2023-08-30 16:27:33,176 [2641:MainThread] mopidy.config
  Loading config from command line options
INFO     2023-08-30 16:27:33,186 [2641:MainThread] mopidy.internal.path
  Creating dir file:///home/pi/.cache/mopidy
INFO     2023-08-30 16:27:33,187 [2641:MainThread] mopidy.internal.path
  Creating dir file:///home/pi/.config/mopidy
INFO     2023-08-30 16:27:33,188 [2641:MainThread] mopidy.internal.path
  Creating dir file:///home/pi/.local/share/mopidy
INFO     2023-08-30 16:27:33,190 [2641:MainThread] mopidy.config
  Loading config from builtin defaults
INFO     2023-08-30 16:27:33,192 [2641:MainThread] mopidy.config
  Loading config from command line options
INFO     2023-08-30 16:27:33,212 [2641:MainThread] mopidy.internal.path
  Creating file file:///home/pi/.config/mopidy/mopidy.conf
INFO     2023-08-30 16:27:33,213 [2641:MainThread] mopidy.__main__
  Initialized file:///home/pi/.config/mopidy/mopidy.conf with default config
INFO     2023-08-30 16:27:33,596 [2641:MainThread] mopidy.__main__
  Enabled extensions: musicbox_webclient, m3u, http, softwaremixer, file, stream
INFO     2023-08-30 16:27:33,596 [2641:MainThread] mopidy.__main__
  Disabled extensions: none
INFO     2023-08-30 16:27:33,821 [2641:MainThread] mopidy.commands
  Starting Mopidy mixer: SoftwareMixer
INFO     2023-08-30 16:27:33,825 [2641:MainThread] mopidy.commands
  Starting Mopidy audio
INFO     2023-08-30 16:27:33,829 [2641:MainThread] mopidy.commands
  Starting Mopidy backends: FileBackend, M3UBackend, StreamBackend
INFO     2023-08-30 16:27:33,841 [2641:MainThread] mopidy.internal.path
  Creating dir file:///home/pi/.local/share/mopidy/m3u
INFO     2023-08-30 16:27:33,853 [2641:Audio-2] mopidy.audio.actor
  Audio output set to "autoaudiosink"
INFO     2023-08-30 16:27:33,871 [2641:MainThread] mopidy.commands
  Starting Mopidy core
INFO     2023-08-30 16:27:33,884 [2641:MainThread] mopidy.commands
  Starting Mopidy frontends: HttpFrontend
INFO     2023-08-30 16:27:33,886 [2641:HttpFrontend-8] mopidy.http.actor
  HTTP server running at [::ffff:127.0.0.1]:6680
INFO     2023-08-30 16:27:33,886 [2641:MainThread] mopidy.commands
  Starting GLib mainloop
INFO     2023-08-30 16:27:33,894 [2641:HttpServer] mopidy.internal.path
  Creating dir file:///home/pi/.local/share/mopidy/http
^C

Het &-teken na de mopidy opdracht zorgt ervoor dat mopidy op de achtergrond als server start, waardoor we verder opdrachten kunnen intypen en uitvoeren. Merk op dat de prompt verschijnt voor mopidy klaar is met het op het scherm plaatsen van informatie. Als je daar niet op let, kan je denken dat de terminal nog niet klaar is om een volgende opdracht te ontvangen. Druk Ctrl+c (^C in de voorbeeld hierboven) om de prompt terug weer te geven.

Mopidy stop je met de volgende opdracht:

pi@raspberrypi:~ $ pkill -f mopidy
INFO     2023-08-30 16:32:02,032 [2641:MainThread] mopidy.commands
  GLib mainloop got SIGTERM. Exiting...
pi@raspberrypi:~ $ INFO     2023-08-30 16:32:02,034 [2641:MainThread] mopidy.commands
  Stopping Mopidy frontends
INFO     2023-08-30 16:32:02,041 [2641:MainThread] mopidy.commands
  Stopping Mopidy core
INFO     2023-08-30 16:32:02,043 [2641:MainThread] mopidy.commands
  Stopping Mopidy backends
INFO     2023-08-30 16:32:02,045 [2641:MainThread] mopidy.commands
  Stopping Mopidy audio
INFO     2023-08-30 16:32:02,047 [2641:MainThread] mopidy.commands
  Stopping Mopidy mixer
^C
[1]+  Klaar                   python3 /usr/bin/mopidy

Lokale muziek afspelen

Zorg op de Raspberry Pi voor muziek in de Music map. Bijvoorbeeld door musicbox.zip te downloaden en uit te pakken. Verplaats de vier mappen met muziek na het uitpakken naar de Music map. Telkens je nieuwe muziek aan jouw muziekmap hebt toegevoegd, moet je Mopidy daarvan op de hoogte brengen.

Opnieuw installeren we daarvoor een Mopidy uitbreiding:

pi@raspberrypi:~ $ sudo pip3 install Mopidy-Local
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting Mopidy-Local
  Downloading https://www.piwheels.org/simple/mopidy-local/Mopidy_Local-3.2.1-py3-none-any.whl (30 kB)
Collecting uritools>=1.0
  Downloading https://www.piwheels.org/simple/uritools/uritools-4.0.1-py3-none-any.whl (10 kB)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from Mopidy-Local) (52.0.0)
Requirement already satisfied: Pykka>=2.0.1 in /usr/lib/python3/dist-packages (from Mopidy-Local) (2.0.3)
Requirement already satisfied: Mopidy>=3.0.0 in /usr/lib/python3/dist-packages (from Mopidy-Local) (3.1.1)
Installing collected packages: uritools, Mopidy-Local
Successfully installed Mopidy-Local-3.2.1 uritools-4.0.1

Eerst kijken we welke muziek er bij kwam:

pi@raspberrypi:~ $ python3 /usr/bin/mopidy local scan
INFO     2023-08-30 16:46:10,585 [3329:MainThread] mopidy.__main__
  Starting Mopidy 3.1.1
INFO     2023-08-30 16:46:10,685 [3329:MainThread] mopidy.config
  Loading config from builtin defaults
INFO     2023-08-30 16:46:10,689 [3329:MainThread] mopidy.config
  Loading config from file:///home/pi/.config/mopidy/mopidy.conf
INFO     2023-08-30 16:46:10,690 [3329:MainThread] mopidy.config
  Loading config from command line options
INFO     2023-08-30 16:46:10,989 [3329:MainThread] mopidy.__main__
  Enabled extensions: http, local, file, softwaremixer, stream, m3u, musicbox_webclient
INFO     2023-08-30 16:46:10,989 [3329:MainThread] mopidy.__main__
  Disabled extensions: none
INFO     2023-08-30 16:46:11,204 [3329:MainThread] mopidy.internal.path
  Creating dir file:///home/pi/.local/share/mopidy/local
INFO     2023-08-30 16:46:11,205 [3329:MainThread] mopidy_local.commands
  Finding files in file:///home/pi/Music ...
INFO     2023-08-30 16:46:11,238 [3329:MainThread] mopidy_local.commands
  Found 42 files in file:///home/pi/Music
INFO     2023-08-30 16:46:11,239 [3329:MainThread] mopidy_local.schema
  Creating SQLite database schema v7
INFO     2023-08-30 16:46:11,341 [3329:MainThread] mopidy_local.commands
  Checking 0 tracks from library
INFO     2023-08-30 16:46:11,342 [3329:MainThread] mopidy_local.commands
  Removing 0 missing tracks
INFO     2023-08-30 16:46:11,349 [3329:MainThread] mopidy_local.commands
  Found 34 tracks which need to be updated
INFO     2023-08-30 16:46:11,349 [3329:MainThread] mopidy_local.commands
  Scanning...
INFO     2023-08-30 16:46:11,415 [3329:MainThread] mopidy_local.storage
  Creating file file:///home/pi/.local/share/mopidy/local/images/137aabfbce939e8a2e5923a5ccd3af05-400x400.jpeg
INFO     2023-08-30 16:46:11,419 [3329:MainThread] mopidy_local.storage
  Creating file file:///home/pi/.local/share/mopidy/local/images/1d53721aa6f2bf45dc8002409e75ea3b-460x460.jpeg
WARNING  2023-08-30 16:46:12,013 [3329:MainThread] mopidy_local.commands
  Failed scanning file:///home/pi/Music/Danielle%20Helena%20-%20Like%20Sunrise%20-%20158365%20---%20Jamendo%20-%20MP3/playlist.m3u: gst-stream-error-quark: This appears to be a text file (5)
INFO     2023-08-30 16:46:12,052 [3329:MainThread] mopidy_local.storage
  Creating file file:///home/pi/.local/share/mopidy/local/images/94f2c130d9353ad4d93dc6119b1722de-400x400.jpeg
INFO     2023-08-30 16:46:12,054 [3329:MainThread] mopidy_local.storage
  Creating file file:///home/pi/.local/share/mopidy/local/images/8e74551994342dde3778e72263b6989b-600x600.jpeg
WARNING  2023-08-30 16:46:12,311 [3329:MainThread] mopidy_local.commands
  Failed scanning file:///home/pi/Music/Oleg%20Fokin%20-%20JAZZZ%20-%20159770%20---%20Jamendo%20-%20MP3/playlist.m3u: gst-stream-error-quark: This appears to be a text file (5)
INFO     2023-08-30 16:46:12,340 [3329:MainThread] mopidy_local.storage
  Creating file file:///home/pi/.local/share/mopidy/local/images/0197d2906af9de072acf865a87596030-400x400.jpeg
INFO     2023-08-30 16:46:12,342 [3329:MainThread] mopidy_local.storage
  Creating file file:///home/pi/.local/share/mopidy/local/images/9d1a645427c5070bbc715ad080446142-1200x1078.jpeg
WARNING  2023-08-30 16:46:12,610 [3329:MainThread] mopidy_local.commands
  Failed scanning file:///home/pi/Music/Pascalb%20_%20Pascal%20Boiseau%20-%20Dans%20le%20vent%20-%20160174%20---%20Jamendo%20-%20MP3/playlist.m3u: gst-stream-error-quark: This appears to be a text file (5)
INFO     2023-08-30 16:46:12,641 [3329:MainThread] mopidy_local.storage
  Creating file file:///home/pi/.local/share/mopidy/local/images/a35baf389a50d2f1bc86372f8d16ffb1-400x400.jpeg
INFO     2023-08-30 16:46:12,643 [3329:MainThread] mopidy_local.storage
  Creating file file:///home/pi/.local/share/mopidy/local/images/3139df363b2d77b5cf3f24600857af20-600x600.jpeg
WARNING  2023-08-30 16:46:12,755 [3329:MainThread] mopidy_local.commands
  Failed scanning file:///home/pi/Music/Re-Lab%20-%20J.S.Bach_%20BWV584%20-%20159624%20---%20Jamendo%20-%20MP3/playlist.m3u: gst-stream-error-quark: This appears to be a text file (5)
INFO     2023-08-30 16:46:12,755 [3329:MainThread] mopidy_local.commands
  Scanned 34 of 34 files in 1.406s.
INFO     2023-08-30 16:46:12,755 [3329:MainThread] mopidy_local.commands
  Done scanning
INFO     2023-08-30 16:46:12,819 [3329:MainThread] mopidy_local.storage
  Cleaning up image directory

Tijdens het scannen werden enkele tekstbestanden gevonden, dit zijn uiteraard geen muziekbestanden, waardoor de modipy scanner deze niet kan verwerken en je daarvan op hoogte brengt. Om de scanresultaten of andere veranderingen aan Mopidy door te geven, herstart je Mopidy. Daar Mopidy reeds gestopt was, start je Mopidy terug op.

Mopidy bedienen

Radio 1 Radio 2 Antwerpen Radio 2 Limburg Radio 2 Oost-Vlaanderen Radio 2 Vlaams Brabant Radio 2 West-Vlaanderen Klara Klara continuo Studio Brussel MNM MNM Hits Ketnet Hits NWS

Zorg voor grafische toegang tot uw Raspberry Pi (RDP, VNC of scherm, toetsenbord en muis). Start de browser en surf naar http://localhost:6680. Klik op de koppeling naar de musicbox_webclient.

Lokale muziek speel je af door ernaar te bladeren (Browse > Local media). Open een muziekmap en klik op een song om deze af te spelen. Na het beëindigen van de song wordt de volgende song afgespeeld.

Internetradio en andere streams beluister je via de knop Streams. In het tekstvak URI typ je het URI-adres van het te beluisteren station, voor CROOZE.fm: http://streams.crooze.fm:8000. In het tekstvak Name typ je de naam van het station. Klik op Play om het station te beluisteren. Informatie over de muziek verschijnt in de balk onderaan het scherm. Sla het station met bijhorende URI op in Mopidy met de knop Save.

Met de Fullscreen maak je van je Raspberry Pi een echte MusicBox. Waarop een volumeregelaar niet ontbreekt.

MusicBox Streams

Mopidy configureren

Je kunt de huidige configuratie opvragen met:

pi@raspberrypi:~ $ python3 /usr/bin/mopidy config
[core]
cache_dir = $XDG_CACHE_DIR/mopidy
config_dir = $XDG_CONFIG_DIR/mopidy
data_dir = $XDG_DATA_DIR/mopidy
max_tracklist_length = 10000
restore_state = false

[logging]
verbosity = 0
format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n  %(message)s
color = true
config_file =

[audio]
mixer = software
mixer_volume = 
output = autoaudiosink
buffer_time = 

[proxy]
scheme = 
hostname = 
port = 
username = 
password = 

[musicbox_webclient]
enabled = true
musicbox = false
websocket_host = 
websocket_port = 
on_track_click = PLAY_ALL

[local]
enabled = true
max_search_results = 100
media_dir = $XDG_MUSIC_DIR
scan_timeout = 1000
scan_flush_threshold = 100
scan_follow_symlinks = false
included_file_extensions = 
excluded_file_extensions = 
  .cue
  .directory
  .html
  .jpeg
  .jpg
  .log
  .nfo
  .pdf
  .png
  .txt
  .zip
directories = 
  Albums                  local:directory?type=album
  Artists                 local:directory?type=artist
  Composers               local:directory?type=artist&role=composer
  Genres                  local:directory?type=genre
  Performers              local:directory?type=artist&role=performer
  Release Years           local:directory?type=date&format=%25Y
  Tracks                  local:directory?type=track
  Last Week's Updates     local:directory?max-age=604800
  Last Month's Updates    local:directory?max-age=2592000
timeout = 10
use_artist_sortname = false
album_art_files = 
  *.jpg
  *.jpeg
  *.png

[file]
enabled = true
media_dirs = 
  $XDG_MUSIC_DIR|Music
  ~/|Home
excluded_file_extensions = 
  .directory
  .html
  .jpeg
  .jpg
  .log
  .nfo
  .pdf
  .png
  .txt
  .zip
show_dotfiles = false
follow_symlinks = false
metadata_timeout = 1000

[http]
enabled = true
hostname = 127.0.0.1
port = 6680
zeroconf = Mopidy HTTP server on $hostname
allowed_origins = 
csrf_protection = true
default_app = mopidy

[m3u]
enabled = true
base_dir = $XDG_MUSIC_DIR
default_encoding = latin-1
default_extension = .m3u8
playlists_dir =

[softwaremixer]
enabled = true

[stream]
enabled = true
protocols = 
  http
  https
  mms
  rtmp
  rtmps
  rtsp
metadata_blacklist = 
timeout = 5000

Eigenlijk zou het wel handig zijn om Mopidy vanaf elke computer, laptop, tablet of smartphone te bedienen. Standaard kan je Mopidy enkel vanaf de Raspberry Pi bedienen, dit is veiliger, maar niet zo gebruiksvriendelijk. Daarvoor moeten we zelf een configuratiebestand aanmaken met eigen voorkeuren. Dit configuratiebestand moet in de map ~/.config/mopidy staan. Het ~ teken staat voor de gebruikersmap (verkorte notatie). De Mopidy configuratiemap maak je met:

pi@raspberrypi:~ $ mkdir ~/.config/mopidy
mkdir: kan map ‘/home/pi/.config/mopidy’ niet aanmaken: Bestand bestaat al

De opdracht meldt dat de map reeds bestaat. Lees steeds de uitvoer van opdrachten, meestal wordt enkel getoond wat uw aandacht verdiend. Nu we weten dat configuratiemap reeds bestaat kunnen we het configuratiebestand aanmaken of aanpassen met:

pi@raspberrypi:~ $ nano -B ~/.config/mopidy/mopidy.conf

Als je Raspberry Pi is aangesloten aan een HDMI-scherm wordt het geluid automatisch via HDMI digitaal naar het beeldscherm gestuurd. Heeft uw scherm echter geen luidsprekers, dan moet je het geluid omleiden naar de audio jack aansluiting. Daarvoor pas je in de sectie [audio] de optie output aan van autoaudiosink naar alsasink. Zolang er een # voor deze optie staat is deze inactief, m.a.w. verwijder het # voor de output optie.

In de sectie [http] staat de optie hostname. Schakel deze optie in door het # voor de regel te verwijderen. De optie hostname kan de volgende waarden hebben:

Mopidy browser
127.0.0.1
Ook wel localhost of loopback genoemd. Je hebt enkel toegang vanaf de Raspberry Pi zelf. De veiligste instelling en dus standaard.
::1
Localhost voor IPv6. Dus terug enkel toegang vanaf de Raspberry Pi zelf.
0.0.0.0
Toegang vanaf alle IPv4 adressen.
::
Toegang vanaf alle IPv4 en IPv6 adressen.

Na het herstarten van Mopidy kan je vanaf elke computer naar Mopidy op de Raspberry Pi surfen.

Praktijk opdracht
  1. Daar de bediening van Mopidy via een webspeler uitbreiding loopt, kan je deze eenvoudig aanpassen door een andere webspeler te installeren.
    1. Installeer op dezelfde manier als de Mopidy-MusicBox-Webclient de Mopidy-Iris uitbreiding.
      pi@raspberrypi:~ $ sudo pip3 install Mopidy-Iris
    2. Test na het herstarten van Mopidy de nieuwe webspeler.
      Mopidy Iris
    3. Maak het browservenster smaller om te testen of deze webspeler ook goed op een smartphone kan gebruikt worden.
  2. Mopidy TuneIn Radio luisteren met TuneIn:
    1. Installeer de Mopidy-TuneIn uitbreiding.
    2. Zorg dat Mopidy de Mopidy-TuneIn uitbreiding gebruikt.
    3. Als je TuneIn test, wees dan geduldig, sommige zenders zijn soms overbelast en reageren dan zeer traag. Luister voor de test naar een Lokale zender (Browse > TuneIn > By Location > Europe > Belgium > Bruges) zoals JoeFM, deze reageren namelijk een stuk sneller.
    4. Voor een overzicht van alle Mopidy uitbreidingen kan je terecht op M Extensions.
  3. Streaming naar Bluetooth luidsprekers, hoofdtelefoon of oortjes.
    1. Zorg dat je Bluetooth apparaat niet gekoppeld is, aan een ander apparaat (smartphone, enz.).
    2. Activeer het Bluetooth menu en start de opdracht Add Device....
    3. Zorg dat je Bluetooth apparaat zichtbaar is voor de Raspberry Pi.
    4. Selecteer uw Bluetooth apparaat en klik op de knop Pair.
    5. Bevestig het succcesvol koppelen van de Raspberry Pi met jouw Bluetooth apparaat.
    6. Klik met de rechter muisknop op het Luidspreker knopje in de taakbalk en selecteer jouw Bluetooth apparaat.
    7. Herstart voor de zekerheid Mopidy en test het geluid via het Bluetooth apparaat.
  4. Nu Mopidy goed werkt, kunnen we dit bij het starten van de Raspberry Pi automatisch laten uitvoeren.
    1. Dit doen we door in de verborgen configuratiemap een autostart map aan te maken:
      pi@raspberrypi:~ $ mkdir .config/autostart
    2. Alle in deze map geplaatste startbestanden (.desktop bestanden) worden automatisch bij het opstarten van de Raspberry Pi uitgevoerd. Het autostart mopidy.desktop bestand maken we aan met nano:
      pi@raspberrypi:~ $ nano -B .config/autostart/mopidy.desktop
    3. Met de volgende inhoud:
      [Desktop Entry]
      Type=Application
      Exec=python3 /usr/bin/mopidy
      
    4. Herstart de Raspberry Pi en controleer of Mopidy nu automatisch opstart.
  5. Android gebruikers hebben de app Mopidy Mobile. Dit is eigenlijk een webpagina in een app. iOS gebruikers kunnen dezelfde interface krijgen door de Mopidy-Mobile uitbreiding in Mopidy te installeren. Met deze uitbreiding surf je dan naar de Raspberry Pi met Mopidy en maak je er een websitesymbool op het beginscherm plaatsen om er ook een schermvullende app van te maken. Deze methode werkt ook op Android apparaten.
    Mopidy Mobile
  6. Wie nog verder wil gaan, kan meer informatie en handleidingen vinden op de website van Mopidy. Mopidy kan je verder nog combineren met andere software om bijvoorbeeld een Multi-room (Snapcast, Shoutcast) systeem te bouwen.
  7. Een andere aanpak zien we bij Volumio Audiophile Music Player. Deze Audio speler bestaat uit een volledig besturingssysteem met de nodige software. Het voordeel is duidelijk, sneller van start gaan. Maar heeft ook nadelen, namelijk afhankelijkheid van de producent en minder vrijheid om deze speler te combineren met andere projecten.
    1. Om het meest recente Volumio besturingssysteem op de SD kaart te schrijven, gebruik je Raspberry Pi Imager:
      1. Klik op de knop .
      2. Klik op de categorie Media player OS.
      3. Scroll naar de subcategorie Volumio en klik erop.
      4. Klik op het item Volumio (The Audiophile Music Player and Streamer).
      5. Klik op de knop en klik op het item met jouw SD kaart.
      6. Klik op de knop .
      7. Lees de waarschuwing en klik op de knop om het Volumio OS besturingssysteem op de SD kaart te schrijven.
    2. Verwijder de SD-kaart veilig uit de computer.
    3. Start de Raspberry Pi met de Volumio SD-kaart.
    4. De eenvoudigste manier om Volumio in het netwerk op te nemen, is een netwerkkabel aansluiten. Indien Volumio opstart zonder netwerkkabel, maakt Volumio een Wireless Acces Point aan. Om Volumio te configureren, moet je dus eerst jouw computer koppelen aan het Volumio WiFi Station. Het Volumio WiFi Station gebruikt geen wachtwoord.
      Volumio WAP
    5. Volumio configureer en bedien je via een webpagina. We kunnen die bereiken via de standaard hostname volumio.local (of kortweg volumio) of het IP adres van de Raspberry Pi.
    6. Surf naar jouw Volumio Player.
      Volumio configuratie
    7. Selecteer en bevestig jouw taalkeuze.
    8. Inloggen met een account is enkel nodig voor extra diensten, voor de oefening mag je klikken.
    9. Kies een unieke netwerknaam voor de Volumio speler.
    10. Controleer en pas indien nodig de Audio Uitvoer aan.
    11. Koppel indien je geen netwerkkabel gebruikt de Volumio speler aan jouw eigen WiFi Netwerk.
    12. De muziek gaan we straks via een USB Stick aanbieden. Het scheiden van het systeem met de software (Volumio) en de gebruikersgegevens (de muziek) is een gekende methode om het onderhoud van zowel het systeem en de muziekbibliotheek te vereenvoudigen. Daarenboven kunnen zo verschillende gezinsleden elk hun eigen muziekverzameling eenvoudig aanbieden.
    13. Schakel de automatische updates in en klik .
    14. Accepteer na het lezen en akkoord gaan de algemene voorwaarden.
    15. Plaats op een USB Stick muziek (bijvoorbeeld de 4 mappen uit musicbox.zip).
    16. Verwijder de USB Stick veilig en sluit deze aan op de Volumio Player.
    17. Speel via de knop Bladeren > Muziekbibliotheek een lied van de USB Stick af.
    18. Verken de Volumio Speler en bepaal hoe je het volume (knop Zones en uitgangen) kunt regelen en een lied aan een afspeellijst kunt toevoegen. Om alle mogelijkheden van Volumio te ontdekken, raadpleeg je best de handleiding.
      Volumio
    19. Luister naar jouw favoriete VRT radiozender.
    20. Laat Volumio naar Media Servers in het netwerk scannen. Luister indien aanwezig naar de muziek die door gevonden Media Servers wordt aangeboden.
    21. De Volumio Speler kan ook bediend worden via een Android of iOS app.
      Volumio app
    22. Sluit de Volumio Player en de Raspberry Pi af via de webpagina. De handleiding van Volumio vermeld nergens hoe je het standaard wachtwoord kunt aanpassen. Dit is op zich een veiligheidsprobleem, hoewel dit in een veilig thuisnetwerk wel beperkt is.
  8. De moOde audio player gebruikt standaard Raspberry Pi OS, maar biedt de software aan in een kant en klaar image bestand. Ook deze keer kunnen we snel van start gaan. En kunnen we daarenboven de moOde speler combineren met andere projecten, want de basis is Raspberry Pi OS.
    1. Om het meest recente moOde besturingssysteem op de SD kaart te schrijven, gebruik je Raspberry Pi Imager:
      1. Klik op de knop .
      2. Klik op de categorie Media player OS.
      3. Scroll naar de subcategorie moOde audio player en klik erop.
      4. Klik op het item moOde audio player 8.3.5 (64-bit).
      5. Klik op de knop en klik op het item met jouw SD kaart.
      6. Aangezien moOdle gebaseerd is op Rapberry Pi OS kunnen we moOde nu reeds configureren. Klik op de knop met het tandwiel om de Geavanceerde instellingen te openen.
      7. Geef jouw moOde een passende hostnaam. In de cursus gebruiken we de standaard hostnaam moode.local door het vinkje niet te activeren.
      8. Activeer de optie SSH inschakelen en zorg dat SSH gebruik maakt van wachtwoord authentificatie.
      9. Maak een gebruiker aan met:
        • Een Gebruikersnaam: in de cursus gebruiken we pi.
        • En een bijhorend Wachtwoord: zorg dat je dit wachtwoord straks nog weet, schrijf het desnoods op.
      10. Indien je geen netwerkkabel gebruikt, activeer je de optie Wifi instellen en vul je de SSID (WiFi naam), bijhorende Wachtwoord en Wifi land in.
      11. Activeer de optie Regio instellingen en vul de Tijdzone in waarin je woont. Selecteer de door jouw gebruikte Toetsenbord indeling.
      12. Klik op de knop .
      13. Klik op de knop .
      14. Lees de waarschuwing en klik op de knop om het moOde besturingssysteem op de SD kaart te schrijven.
    2. Verwijder de SD-kaart veilig uit de computer.
    3. Start de Raspberry Pi (4 aansluiten op HDMI0) met de moOde SD-kaart.
    4. Ook moOde configureer en bedien je via een webpagina. We kunnen die bereiken via de hostname moode.local (of kortweg moode) of het IP adres van de Raspberry Pi.
    5. Surf met behulp van het gevonden IP adres of de hostnaam (http://moode/) naar jouw moOde Player.
    6. In de linkerkolom met muziekbronnen, selecteren we het testgeluid LR Channel And Phase (allerlaatste item).
    7. Klik op de Play knop (driehoek) om de Stereo Test af te spelen. Boven de Play knop zien we een tijdlijn in een cirkel. De onderste cirkel is het volume, klik op de plus/min tekens om het volume te regelen.
      Moode Test
    8. Als je niets hoort, open je rechts bovenaan het moOde menu en start je de opdracht Configure.
    9. Activeer het onderdeel Audio en zet de Output device op de correcte uitgang. De moOde speler ondersteunt verschrikkelijk veel audio uitbreidingskaarten (HAT's). Vergeet niet op de Set knop te klikken om de aanpassing te activeren.
    10. Hardware aanpassingen vragen meestal een herstart via het moOde menu en de opdracht Power > Restart.
    11. Indien je op de Raspberry Pi geen beeld hebt, open je rechts bovenaan het moOde menu en start je de opdracht Configure.
    12. Activeer het onderdeel System en activeer Local Display.
    13. Luister naar een standaard radiostream naar keuze.
    14. Regel het volume.
    15. Verander bij Configuration Settings > System de unieke naam voor jouw systeem naar moodeVooNaa (waarbij Voo de eerste drie letters van jouw voornaam zijn, Naa de eerste drie letters van jouw naam).
    16. En het toetsenbord naar een Belgisch toetsenbord.
    17. Herstart moode en controleer de juist uitgevoerde configuraties.
    18. Om terug de startpagina van moOde weer te geven, klik onderaan op de afspeelbalk naast de knoppen of op de knop met het huisje.
    19. Om de inhoud van een USB stick af te spelen, moeten we Moode toegang geven tot USB opslagapparaten:
      1. Activeer bij Configuration Settings > Library de optie Auto-update database (USB drive).
      2. Plaats een USB Stick met muziek in de Raspberry Pi.
      3. Open de moOde bestandsbeheerder (klik op de cover op de startpagina).
      4. Vernieuw indien nodig de inhoud.
      5. Speel een lied op de USB Stick af.
    20. Een voorbeeld van hoe je de weergave kunt aanpassen:
      1. Open de moOde bestandsbeheerder (klik op de cover op de startpagina).
      2. Selecteer met de keuzelijst Library (links bovenaan) Radio.
      3. Gebruik het tandwielknopje om de radio's te sorteren en te groeperen op Genre.
      4. Na een klik op de knop kom je terug bij het overzicht met radio's. Om de nieuwe instelling te activeren, moet je soms vernieuwen.
      5. Zoek en luister naar een Jazz radio.
    21. Zoek en luister naar een VRT zender naar keuze.
    22. moOde
    23. Je kunt muziek die lokaal (bijv. op USB opslag) beschikbaar is voor moOde ook delen in het netwerk. Dit gaat als volgt:
      1. Activeer bij Configuration Settings > Library op het tabblad Renderers de optie DLNA Media Server Service.
      2. Even geduld terwijl de Database wordt opgebouwd.
      3. Start op jouw computer een DLNA compatibele Media speler zoals Windows Media Player of VLC.
      4. Laten we als voorbeeld VLC starten.
      5. Activeer via het menu Weergave de Afspeellijst.
      6. Activeer in de linkerkolom (met schuifbalk) bij Lokaal netwerk de categorie Universele Plug'n'Play. Indien jouw systeem een firewall gebruikt, zal deze de muziek afkomstig van een ander apparaat blokkeren. In Windows krijg je dan een melding, reageer gepast (zie afbeelding).
        Windows Firewall
      7. Open in het rechterpaneel de map Moode DLNA, navigeer naar de muziek en speel een song af.
    24. VLC DLNA
    25. Ook het omgekeerde kan, luisteren naar muziek in gedeelde netwerkmappen zoals op een NAS:
      1. Activeer in de Configuration Settings het onderdeel Library.
      2. Klik op de knop CREATE om een nieuwe muziekbron toe te voegen.
      3. Klik op de knop SCAN om in het netwerk naar gedeelde mappen met muziek te zoeken.
      4. Open de keuzelijst Path om een server te selecteren. Vul Path aan met een gedeelde map op die server.
      5. Voor onbeveiligde bronnen gebruik je het Userid Guest zonder wachtwoord.
      6. Geef de nieuwe muziekbron een naam (Name) en bevestig met de Save knop.
      7. Speel indien mogelijk een lied in een gedeelde netwerkmap af
  9. Bekijk ook alternatieven zoals piCorePlayer.

Raspberry Pi Bluetooth Audio Receiver

Op de website van Plugable staat mooi beschreven hoe je van jouw Raspberry Pi een Audio receiver maakt. De uitleg maakt gebruik van een aparte Bluetooth dongle, maar dat hoeft niet, met de ingebouwde Bluetooth ontvanger werkt het ook. In zijn meest eenvoudige vorm, gaat het als volgt:

  1. Zet een up to date en geconfigureerd Raspberry Pi OS op een SD kaart (Basisimage).
  2. Bekabel en start de Raspberry pi.
  3. Start een terminal.
  4. Download het project met de opdracht:
    pi@raspberrypi:~ $ wget -q https://github.com/nicokaiser/rpi-audio-receiver/archive/main.zip
  5. Pak het gedownloade ZIP-archief uit met de opdracht:
    pi@raspberrypi:~ $ unzip main.zip
    Archive:  main.zip
    db0ef633122728212d066695220c7d76d5425b0a
       creating: rpi-audio-receiver-main/
     extracting: rpi-audio-receiver-main/.gitignore  
      inflating: rpi-audio-receiver-main/LICENSE  
      inflating: rpi-audio-receiver-main/README.md  
      inflating: rpi-audio-receiver-main/enable-hifiberry.sh  
      inflating: rpi-audio-receiver-main/install-bluetooth.sh  
      inflating: rpi-audio-receiver-main/install-shairport.sh  
      inflating: rpi-audio-receiver-main/install-spotify.sh  
      inflating: rpi-audio-receiver-main/install.sh
  6. Nu het ZIP-archief is uitgepakt, kunnen we het verwijderen:
    pi@raspberrypi:~ $ rm main.zip
  7. Open de uitgepakte map:
    pi@raspberrypi:~ $ cd rpi-audio-receiver-main
  8. De volgende stap houdt een risico in. Je gaat namelijk een installatiescript als systeembeheerder (root) uitvoeren dat afkomstig is van het internet. Iemand met slechte bedoelingen kan zo veel schade aanrichten. Doe dit dus enkel als je de aanbieder vertrouwt. Veel projecten zijn open source, waardoor je de broncode kunt bekijken (controleren) en zelf compileren. Voor de begeleide installatie moeten we sudo (Super User Do) gebruiken:
    pi@raspberrypi:~/rpi-audio-receiver-main $ sudo ./install.sh
    Hostname [raspberrypi]: Soundwave
    Pretty hostname [Raspberry Pi]: Soundwave
    De Hostname is de naam van ons apparaat zelf, en de Pretty hostname is wat we daadwerkelijk zullen zien in onze Bluetooth-lijst wanneer we onze apparaten proberen te verbinden. De Pretty hostname mag verschillen van de hostname als je dat wilt. In dit voorbeeld houden we het op Soundwave als Hostname en Pretty hostname. Zodra je je namen hebt gekozen, begint de installatie.
    Updating packages
    Geraakt:1 http://deb.debian.org/debian bullseye InRelease
    Ophalen:2 http://deb.debian.org/debian bullseye-updates InRelease [44,1 kB]                               
    Ophalen:3 http://security.debian.org/debian-security bullseye-security InRelease [48,4 kB]                
    Ophalen:4 http://archive.raspberrypi.org/debian bullseye InRelease [23,6 kB]                              
    Ophalen:5 http://archive.raspberrypi.org/debian bullseye/main arm64 Packages [308 kB]
    Ophalen:6 http://archive.raspberrypi.org/debian bullseye/main armhf Packages [314 kB]
    645 kB opgehaald in 2s (412 kB/s)                        
    Pakketlijsten worden ingelezen... Klaar
    Boom van vereisten wordt opgebouwd... Klaar
    De statusinformatie wordt gelezen... Klaar 
    Alle pakketten zijn up-to-date.
    Pakketlijsten worden ingelezen... Klaar
    Boom van vereisten wordt opgebouwd... Klaar
    De statusinformatie wordt gelezen... Klaar 
    Opwaardering wordt doorgerekend... Klaar
    0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
    Installing PulseAudio
    Pakketlijsten worden ingelezen... Klaar
    Boom van vereisten wordt opgebouwd... Klaar
    De statusinformatie wordt gelezen... Klaar 
    pulseaudio is reeds de nieuwste versie (14.2-2+rpt1).
    pulseaudio staat ingesteld op handmatig geïnstalleerd.
    0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
    Created symlink /etc/systemd/system/multi-user.target.wants/pulseaudio.service → /etc/systemd/system/pulseaudio.service.
    Created symlink /etc/systemd/user/pulseaudio.socket → /dev/null.
    Installing components
  9. Geweldig, alles is goed ingesteld! Installeer Bluetooth Audio (PulseAudio) - dit moet worden geïnstalleerd. Voer y in voor ja.
    Do you want to install Bluetooth Audio (PulseAudio)? [y/N] y
    Pakketlijsten worden ingelezen... Klaar
    Boom van vereisten wordt opgebouwd... Klaar
    De statusinformatie wordt gelezen... Klaar 
    pulseaudio-module-bluetooth is reeds de nieuwste versie (14.2-2+rpt1).
    pulseaudio-module-bluetooth staat ingesteld op handmatig geïnstalleerd.
    Aanbevolen pakketten:
      bluez-obexd
    De volgende NIEUWE pakketten zullen geïnstalleerd worden:
      bluez-tools
    0 opgewaardeerd, 1 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
    Er moeten 136 kB aan archieven opgehaald worden.
    Na deze bewerking zal er 1.055 kB extra schijfruimte gebruikt worden.
    Ophalen:1 http://deb.debian.org/debian bullseye/main arm64 bluez-tools arm64 2.0~20170911.0.7cb788c-4 [136 kB]
    136 kB opgehaald in 0s (1.903 kB/s)
    Voorheen niet geselecteerd pakket bluez-tools wordt geselecteerd.
    (Database wordt ingelezen ... 96925 bestanden en mappen momenteel geïnstalleerd.)
    Uitpakken van .../bluez-tools_2.0~20170911.0.7cb788c-4_arm64.deb wordt voorbereid...
    Bezig met uitpakken van bluez-tools (2.0~20170911.0.7cb788c-4) ...
    Instellen van bluez-tools (2.0~20170911.0.7cb788c-4) ...
    Bezig met afhandelen van triggers voor man-db (2.9.4-2) ...
    Created symlink /etc/systemd/system/multi-user.target.wants/bt-agent@hci0.service → /etc/systemd/system/bt-agent@.service.
  10. De optionele Shairport Sync Airplay 1 Audio Receiver installeren we niet. Dit is enkel nodig om met Apple apparaten of iTunes software te gebruiken.
    Do you want to install Shairport Sync AirPlay 2 Audio Receiver (shairport-sync v4.2)? [y/N] N
  11. Ook de Spotify Connect installatie voeren we niet uit:
    Do you want to install Spotify Connect (Raspotify)? [y/N] N
  12. Als je een HiFiBerry Hat uitbreiding hebt, voer je de volgende installatie uit, anders niet:
    Do you want to enable HiFiBerry device tree overlay and ALSA configuration? [y/N] N
  13. Om alle geïnstalleerde onderdelen te activeren, herstart je de Raspberry Pi:
    pi@raspberrypi:~/rpi-audio-receiver-main $ sudo shutdown -r now
  14. Hoewel het volgende ook grafische kan, gaan we toch verder met opdrachten in de terminal. De volgende bluetoothctl opdrachten schakelen Bluetooth in, maken de Raspberry Pi zichtbaar voor andere apparaten, zorgt dat andere apparaten kunnen koppelen met de Raspberry Pi en sluit uiteindelijk de Bluetooth controller software af. De Bluetooth instellingen blijven daarbij wel actief.
    pi@Soundwave:~ $ sudo bluetoothctl
    Agent registered
    [DEL] Device F8:DF:15:A5:CD:CC F8-DF-15-A5-CD-CC
    [bluetooth]# power on
    Changing power on succeeded
    [bluetooth]# discoverable on
    Changing discoverable on succeeded
    [bluetooth]# pairable on
    Changing pairable on succeeded
    [bluetooth]# exit
  15. Koppel een ander apparaat aan de Raspberry Pi en speel muziek af. De muziek moet je nu horen via de Raspberry Pi. De afbeeldingen tonen een gekoppelde Android apparaat en een Linux Desktop. Opgelet: Je kunt maart één toestel koppelen met de Raspberry Pi. Om een ander apparaat te koppelen, moet je dus het eerste apparaat ontkoppelen (verwijderen) en pas na een tijdje proberen het nieuwe apparaat te koppelen.
    Android Bluetooth
    Linux KDE Bluetooth
  16. Wie op een plezante manier wil leren programmeren, kan dit muzikaal met Sonic Pi in de grafische omgeving van Raspberry Pi OS.
    1. Zet een up to date en geconfigureerd Raspberry Pi OS op een SD kaart (Basisimage).
    2. Bekabel en start de Raspberry pi.
    3. Installeer de software sonic-pi.
    4. Start via het Startmenu > Programmeren de toepassing Sonic Pi.
    5. Dit programma heeft wat tijd nodig om te starten, wees dus geduldig.
    6. Sluit het venster Welkom bij Sonic Pi.
      Sonic Pi
    7. In het onderste linker deelvenster staat voorbeelden, je kunt deze kopiëren naar het editor deelvenster en ontdek hoe je al programmerend muziek kunt maken.
    8. Wie liever met een online leerboek werkt, kan de Sonic Pi - Tutorial gebruiken.

Openbare reacties op deze pagina (kunnen door alle bezoekers gelezen worden)

, vrijdag 2 juni 2023 19:28