7 ms·
Bintracker: A chiptune audio workstation for the 21st century
- iFire 3y agoMIT LICENSE https://github.com/bintracker/bintracker/blob/master/LICENSE https://github.com/bintracker/bintracker/blob/master/LICENSE
- lagniappe 3y ago> macOS builds should be possible with some minor adjustments, though this is currently unsupported. Please get in touch if you manage to get a macOS build running. Has anyone built this on apple silicon yet?
- codetrotter 3y agoI was not able to install the sqlite3 Chicken scheme egg on macOS Ventura where I have Xcode version 15.0 beta 2 installed. building sqlite3 /opt/homebrew/Cellar/chicken/5.3.0_1/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /Users/user/.cache/chicken-install/sqlite3 -C -I/Users/user/.cache/chicken-install/sqlite3 -O2 -d1 -L -lsqlite3 sqlite3.scm -o /Users/user/.cache/chicken-install/sqlite3/sqlite3.so /Users/user/.cache/chicken-install/sqlite3/sqlite3.c:299:23: error: call to undeclared function 'sqlite3_enable_load_extension'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] C_r=C_int_to_num(&C_a,sqlite3_enable_load_extension(t0,t1)); ^ /Users/user/.cache/chicken-install/sqlite3/sqlite3.c:306:23: warning: 'sqlite3_enable_shared_cache' is deprecated: first deprecated in macOS 10.7 - Not supported [-Wdeprecated-declarations] C_r=C_int_to_num(&C_a,sqlite3_enable_shared_cache(t0)); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sqlite3.h:6656:16: note: 'sqlite3_enable_shared_cache' has been explicitly marked deprecated here SQLITE_API int sqlite3_enable_shared_cache(int); ^ 1 warning and 1 error generated. Error: shell command terminated with non-zero exit status 256: 'clang' '/Users/user/.cache/chicken-install/sqlite3/sqlite3.c' -o '/Users/user/.cache/chicken-install/sqlite3/sqlite3.o' -c -fno-strict-aliasing -fwrapv -fno-common -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/Users/user/.cache/chicken-install/sqlite3 -I/opt/homebrew/Cellar/chicken/5.3.0_1/include/chicken Error: shell command terminated with nonzero exit code 256 "sh /Users/user/.cache/chicken-install/sqlite3/sqlite3.build.sh" All other dependencies installed fine though.
- codetrotter 3y agoI opened a GitHub issue about it at https://github.com/bintracker/bintracker/issues/19 https://github.com/bintracker/bintracker/issues/19
- doublerabbit 3y agoTry compiling it with: -Wdeprecated-declarations
- diabllicseagull 3y agosame here apparently this didn't fix it? https://bugs.call-cc.org/ticket/1335 https://bugs.call-cc.org/ticket/1335
- akx 3y agoGetting there, but it doesn't quite work: https://github.com/bintracker/bintracker/issues/20 https://github.com/bintracker/bintracker/issues/20
- nylonstrung 3y agoVery cool. How does this differ from Renoise
- defensem3ch 3y agorenoise very much takes influence from modern daws, supports vst plugins and its own native effects and uses high quality samples. it's also full-fledged with tons of features, it's like the ableton live of trackers. bintracker is much more barebones and is still in pre-alpha, and it is primarily aimed to produce chiptune faithful to hardware.
- jefurii 3y agoIt has a ton of features but unfortunately resizable fonts is not one of them - the UI text is way too small.
- xcv123 3y agoThe only thing they share in common is they both have a tracker sequencer. Renoise generates audio using samples and VST/AudioUnit plugins. Bintracker generates audio using emulated sound chips. It is specifically for producing chiptunes on vintage arcade/console sound engines.
- davidpfarrell 3y agoWith the simple-ish ui, I thought for a second it was terminal based. With that idea in mind, I googled and found [0] Its the only terminal base tracker explicitly labeled as such on [1] Anyone know of others? [0] https://github.com/danfrz/PLEBTracker https://github.com/danfrz/PLEBTracker [1] https://linuxmusicians.com/viewtopic.php?t=20883 https://linuxmusicians.com/viewtopic.php?t=20883
- deleted 3y ago[deleted]
- wpwpwpw 3y agoJust wanted to say the interface is beautiful.
- codetrotter 3y ago> By using MAME as emulation backend, a vast array of 8- and 16-bit platforms are covered. That's genius!
- rob74 3y agoThey weren't the first ones to come up with the idea though: there is at least one music player (which I only heard of a few days ago thanks to another thread here) called UADE (http://zakalwe.fi/uade/uade.html http://zakalwe.fi/uade/uade.html) which runs UAE (an Amiga emulator) in the background, with the emulator running Eagleplayer (the "most comprehensive soundplayer for the Amiga"). I wonder how Bintracker gets around the requirement of having to write native code that actually plays the music on all the various platforms? But I guess that a stub that just "pipes" the data through to the emulated sound hardware is relatively easy to write.
- mhd 3y ago> I wonder how Bintracker gets around the requirement of having to write native code that actually plays the music on all the various platforms? But I guess that a stub that just "pipes" the data through to the emulated sound hardware is relatively easy to write. It looks that way. There's binary files for the MAME Bridge, which probably orchestrate the raw music data. If I remember correctly, that's rather common on the original platforms, too. On the C64, there were a few "music routines" that marshaled patterns of notes to the SID chip. One famous example being that of composer Rob Hubbard[1], whose "One Man and his Droid" still lives rent-free in my head. Chicken Scheme, Tk and MAME seem like a very cool tech stack for this. [1]: https://www.1xn.org/text/C64/rob_hubbards_music.txt https://www.1xn.org/text/C64/rob_hubbards_music.txt
- rob74 3y agoI wish somebody built a version of the article you linked where you can actually click on the tunes he mentions and play them. Talking about music without being able to hear it is a bit... dry (I never had a C64, I upgraded from the Atari 800 to the Amiga, so I'm not that into SID chiptunes).
- u844f7gitir 3y ago[dead]
- fuuhfr6yg 3y ago[flagged]
- codetrottr 3y agox
- ArekDymalski 3y agoJummbox being a web app is the most striking diffeence. Plus it doesn;t seem to be "emulating" different chipsets, just general chiptune style.
- webprofusion 3y agoCool but it doesn't look 21st century at all, it would be entirely at home in 1992. Retro is cool though.
- dvh 3y agoI thought 21st century means low contrast UI and single color icons
- hulitu 3y agoAnd hiding scrollbars and keyboard/mouse pointers, and huge icons eating screen space without any function, and tiny fonts, and hamburger menu ( preferably 2), and no settings, and ....
- livrem 3y agoAnd push a new minor update at least once a week that moves something in the UI around for no obvious reason.
- flohofwoe 3y agoA 1992 retro UI would use a silver-grey background with 3D bevels and rainbow color details in 320x200 or 320x256 pixels (e.g. https://en.wikipedia.org/wiki/Protracker#/media/File:Protracker_3.62_screenshot.png https://en.wikipedia.org/wiki/Protracker#/media/File:Protrac...)
- miika 3y agoCool. Gotta try if this compiles into wasm. Having this in a browser would be amazing.
- compilator1 3y agoHehe, news section is honest: * Loads of bugs
- deleted 3y ago[deleted]
- joebergeron 3y agoFantastic - I love seeing new tools in service of chipmusic, and this one looks real sleek. The platform agnosticism sort of feels like MML[0] but with a GUI, in that it has the appeal of "one tool, all platforms". I wonder -- what degree of control over platform-specific parameters does the software offer? Some of the greatest artists who have worked on particular platforms possess all sorts of arcane knowledge about the ins-and-outs of their platform, and know how to use (read: abuse) platform-specific quirks to their advantage. (For the curious, Phlogiston[1] is a good example for the 2A03; Trey Frey[2] for the DMG.) I love the generality of the idea, but would be concerned about the level of control I have over platform-specific features. Another thing that I would probably need in order to use this seriously is compilation down to native-compatible file formats for recording from hardware. Can I e.g., export an NSF for the 2A03, a .MED for Octamed playback, some sort of SAV or LSDSNG for the DMG, etc.? It's late here, so I haven't given this a spin yet, but will definitely play around with this soon - fantastic work!! :) [0]: https://www.nesdev.org/mck_guide_v1.0.txt https://www.nesdev.org/mck_guide_v1.0.txt [1]: https://phlogiston.bandcamp.com/album/nectar https://phlogiston.bandcamp.com/album/nectar [2]: https://treyfrey.bandcamp.com/album/refresh https://treyfrey.bandcamp.com/album/refresh
- katspaugh 3y ago> Bintracker is written in Scheme, using the CHICKEN Scheme implementation. The full power of Scheme is available at run-time, which means you can program Bintracker... in Bintracker. Amazing! Not only can I enjoy the gameboy sounds but also program them in Lisp!
- LeonidasXIV 3y agoExcept it doesn't support the Gameboy sound chip yet. In general the only sound chips supported are very old and limited, so unless you make 2600 chiptune this is only of limited utility.
- unixhero 3y agoExcept it is on mame, so THAT is subject to evolution of project
- vardump 3y agoChiptune audio workstation without support for the actual short [looped] sample based chiptunes? Looks like it only support SID, AY, FM, etc. tunes. Just chiptunes missing. Don't take me wrong, still interesting. But should really get terminology straight.
- deleted 3y ago[deleted]
- exDM69 3y agoIt uses emulated audio chips from Mame emulator. Some audio chip emulators are pretty damn good, the best thing you can get without having actual analog hardware in the loop. Not sure why you think samples are better.
- vardump 3y agoIt's not that I consider samples better, but what the term 'chiptune' actually means. I do appreciate nice SIDs, AYs etc. as well, being a kid of the eighties.
- flohofwoe 3y agoIsn't a "chiptune" specifically not using sample snippets (like Amiga MODs) but synthesized audio by a specialized audio chip (like a SID or AY) - and thus the name chiptune? I'm no retro-audio afficionado, but that's what I would think of when when hearing the term (of course there's a grey area like the Namco WSG audio chip which uses small wavetables usually stored in ROM with 32 4-bit samples each).
- vardump 3y agoModules that can be called chiptunes have samples that are just one waveform cycle, so the length counted in bytes, at most hundreds.
- actionfromafar 3y ago
- _8j50 3y agoThere needs to be like a chiptune piano with concerts and all.
- mhd 3y agoWell, there's the Chipophone: http://www.linusakesson.net/chipophone/index.php http://www.linusakesson.net/chipophone/index.php
- _8j50 3y agoI mean like a line of them people can buy and use them to compose/play.
- mrob 3y agoYou could get a MIDI controller (keyboard with MIDI output but not sound generation capabilities) and connect it to a suitable MIDI synthesizer. There are many MIDI synths available with real or emulated chip sounds.
- _8j50 3y agoI always wondered if you can use midi capable pianos to play chiptunes, even emulated tunes if not actual 8bit.
- joemi 3y agoDepending on what aspects of chiptunes you care about, the Polyend Tracker Mini (https://polyend.com/tracker-mini/ https://polyend.com/tracker-mini/) might be right. It's less like a portable hardware version of Bintracker and more like a portable hardware version of Renoise. So it's a hardware tracker device, and you could load up some lofi square and saw wave looping samples and some looping noise samples and make music with the tracker that many would consider chiptunes, but you don't get the chip emulation that Bintracker has.
- _8j50 3y ago
- matheusmoreira 3y agoFantastic project. For a second I thought it was a terminal application.
- Jolter 3y agoNo news updates since February. I hope it's not because the developer lost momentum. It's still in alpha, after all.
- rob74 3y agoIf you look at the activity on GitHub (https://github.com/bintracker/bintracker/graphs/contributors https://github.com/bintracker/bintracker/graphs/contributors), they have been working on the project since mid 2018, with almost continuous commits until mid 2021, and then some activity at the start of 2022, and considerably more at the start of 2023. So there seems to have been some loss of momentum, but I wouldn't give up hope yet. It's just unfortunate that there is basically just one contributor (I'm ignoring the two others that contributed just one commit each) - but I guess finding fellow LISP Jedi knights (referring to the XKCD comic someone else linked) to work on this project is not that easy. Aaaand I'm not sure if focusing on "lesser known systems" (quote from the GitHub readme) is the right strategy. Sure, there are already lots of players for e.g. Amiga MOD files, but there are also more people interested in that platform...
- woolion 3y agoCool! If you're on an arch-based distro, when following https://github.com/bintracker/bintracker/blob/master/docs/setup.md#compiling-from-source https://github.com/bintracker/bintracker/blob/master/docs/se... in the Makefile you have to replace csc by chicken-csc (csc is the Microsoft CSharp compiler), provided by the chicken package. Also not sure why the dependencies don't include mame, but make sure to install it before running.
- grawlinson 3y agoDo you have a PKGBUILD available? I'm currently running into this particular issue when installing the requisite chicken libs: building srfi-14 /usr/bin/chicken-csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /home/deploy/.cache/chicken-install/srfi-14 -C -I/home/deploy/.cache/chicken-install/srfi-14 -O3 -d0 srfi-14.scm -o /home/deploy/.cache/chicken-install/srfi-14/srfi-14.so /usr/bin/chicken-csc -regenerate-import-libraries -M -setup-mode -static -I /home/deploy/.cache/chicken-install/srfi-14 -emit-link-file /home/deploy/.cache/chicken-install/srfi-14/srfi-14.link -host -D compiling-extension -c -unit srfi-14 -D compiling-static-extension -C -I/home/deploy/.cache/chicken-install/srfi-14 -O3 -d0 srfi-14.scm -o /home/deploy/.cache/chicken-install/srfi-14/srfi-14.static.o /usr/bin/chicken-csc -setup-mode -s -host -I /home/deploy/.cache/chicken-install/srfi-14 -C -I/home/deploy/.cache/chicken-install/srfi-14 -O3 -d0 srfi-14.import.scm -o /home/deploy/.cache/chicken-install/srfi-14/srfi-14.import.so installing srfi-14 install: cannot create regular file '/usr/lib/chicken/11/srfi-14.o': Permission denied Error: shell command terminated with nonzero exit code 256
- woolion 3y agoNo, I just followed the instructions, I was wondering if I should make one. I also had the problem, but that is something for which you just need to run with sudo. Maybe there's a way to configure the path so that it can be run as an unprivileged user?
- makach 3y agoThis is so incredibly cool. It's such an amazing acknowledgement of this style of music, making it easier to create and consumer chip-styled music - it is also incredibly important that we all continue to support this by creating software so that we can access the legacy music in its original form. *
- pezz 3y agoIf you haven't heard of it, there's another cool tracker making great strides right now, Furnace: https://github.com/tildearrow/furnace https://github.com/tildearrow/furnace Allows you to compose tunes on several chips / platforms in the one song.
- johnnyworker 3y agoOh.. I am in love. And it can load Future Composer modules! Finally I can play one of my favorite tunes of all time in a tracker without an emulator. https://files.exotica.org.uk/modland/?file=pub/modules/Future%20Composer%201.4/Zetrix/arcane-theme.fc https://files.exotica.org.uk/modland/?file=pub/modules/Futur... The playback seems a bit off in places, or maybe my memory is, but since the program is still being developed I don't care. So happy right now. Thank you so much.
- fidotron 3y agoIs there a standard player for these things? Or is that too dependent on the chips being targeted? One of the strengths of the old Amiga mods was the number of libraries around for playback which made writing a player or dropping a mod in your game trivial.
- jefurii 3y agoLooks pretty awesome - kinda wish it had MIDI output...
- eole666 3y agoReally cool project! I think that the home page lacks some audio exemple produced with it or video captures of the software being used to get a better idea of what it's like.
- sim7c00 3y agoAwesome, I still work in Renoise tracker today :> trackers are amazing (Renoise support VST3 and other modern stuff - not a chiptune tracker but a full DAW based on fastTracker.). Love to see this though am definitely going to give it a whirl. epic!
- 0xbs0d 3y agoI've been a fan and user of trackers since Octamed on the Amiga :) Renoise is an amazing DAW and my favorite piece of music software.
- dinkleberg 3y agoThis is awesome. Also I think this is the first time I’ve seen something actually built in scheme (not that I’ve been actively looking, I’m sure there are plenty).
- diimdeep 3y agoVery nice ImGui showcase
- sitzkrieg 3y agoimpressive use of chicken scheme