Raspberry Pi - A credit card sized, linux based mini-computer for $30

Message Bookmarked
Bookmark Removed
Not all messages are displayed: show all messages (271 of them)

Temporary failure is just the prelude to permanent success!

—Steve Jobs

direct to consumer online mattress brand (silby), Saturday, 24 February 2018 06:14 (six years ago) link

I could track it down, but I had a cheap dac that was pretty darn good connected to a pi for quite a while. As in, purchased on alibaba and available in bulk cheap. I don’t remember any playback issues but I was playing music and not short clips

mh, Saturday, 24 February 2018 21:55 (six years ago) link

is it only happening on starting and finishing an audio clip? maybe keep the audio engaged by playing an infinite silent stream simultaneously so there's never a start/stop?

Philip Nunez, Saturday, 24 February 2018 22:05 (six years ago) link

Philip i did run across a proposed solution along those lines, and i'm going to give that a shot. plan B (actually more like Plan Z-42 at this point) is going with an audio DAC. i'm also going to try to see if there are any maker-oriented physical stores in the Chicago area.

i also want to look into boosting the processing power - i'm kind of wary to overclock because my normally-clocked unit is having issues with power (if i have a USB microphone connected and then run chromium at the same time, the pi crashes). but there might also be ways to use all 4 cores of the pi rather than just one (this thread has several ideas along these lines: https://www.raspberrypi.org/forums/viewtopic.php?t=198425)

i was super bummed about this the other night but now i'm back in the saddle.

i remember the corned beef of my childhood (Karl Malone), Sunday, 25 February 2018 17:13 (six years ago) link

thanks for the ideas and help, by the way! really appreciate it.

i remember the corned beef of my childhood (Karl Malone), Sunday, 25 February 2018 17:13 (six years ago) link

are you playing back audio through the HDMI or headphone jack?

i tried the headphone jack again, this time by just right-clicking the desktop GUI sound icon and changing it to Analog. It worked! At the moment it's not cutting off any text, and isn't taking too long to process the TTS either.

i'm going back to the voice recognition (via eSpeak) part again tonight, only this time my plan is to use a pretty limited dictionary/language model (around 500 words) rather than trying to attempt to recognize everything in English. i think that might have been the source of the slow processing speed (it was taking about 6 seconds to process 2 seconds of audio).

i remember the corned beef of my childhood (Karl Malone), Monday, 26 February 2018 02:28 (six years ago) link

Is it feasible to use the Pi as a client and offload the speech-to-text to a faster computer over the network? I can well imagine it being hard to get low-latency speech to text performance on any cheapo device.

― direct to consumer online mattress brand (silby),

silby, i'm a fool. i think this could work! i wanted to avoid dependence on the internet because i didn't want some sort of uncontrollable network connection issue to break it. but a friend just explained to me that it's possible to my computer as the server, the raspberry pi's as clients, and a local modem to transmit the wi-fi signal, without my computer needing to be connected to the internet itself. right? i'm a noob in pretty much everything i'm doing here so i might be way off, but it seems like the only possible connection issue would be the building's wi-fi interfering with the local wi-fi between my laptop and the RPIs, and even that would be avoidable by just using a unique port (or something) on my router?

with all that said, i'm viewing all of that as a backup option, and i'd still rather figure out a way to get these devices working together without any network, as fully independent links in the chain. but if i'm not able to do it, it'll be great to have the server/client processing as an option.

a minor victory today! i didn't realize that time.time() is so consistent and precise between UNIX devices. when i call it on either my laptop or pi, they return the same exact value (in seconds since jan 1, 1970..siiiick). i can run the following bit of code on two different devices, and they'll both play the sound at the exact same time, independently.


import time
import subprocess

def Launch():
print ("unit initialization time: ", time.time())
print("waiting for next 18-second cycle to begin...")
while time.time() % 18 > abs(.005):
time.sleep(.001)

def Cycle():
while True:
print("new cycle: ", time.time())
subprocess.call('afplay test.wav', shell=True)
while time.time() % 18 > abs(.005):
time.sleep(.001)

Launch()
Cycle()

the way i'm making it wait for 18 second intervals is a little hacky but it works.

what's nice is that i can start up one device and then wait as long as i want to start the second, and they'll both sync up as soon as the start of the next 18-second cycle comes around. to me, this is exciting because it means i can define various events in an endless 18-second loop (play a message, record a message, choose a new phrase and play it back, etc), and even if the processing speeds for the various events vary from unit to unit, i can still specify exact times in the cycle for the events to happen so that they stay in sync. plus, it means that the entire chain of devices can be modular, constrained only by the cost of buying all the equipment and the size of the room.

while time.time() % 18 > abs(.005):

why abs() on a constant positive value?

koogs, Tuesday, 6 March 2018 10:00 (six years ago) link

positive or negative, it basically sets a range of .010, centered on 0, as a kind of buffer. i tried setting it at exactly 0 but realized that the granularity of time.sleep is only around 1ms or so, whereas time is measured down to 7 decimal places (the current time is 1520489816.0669749, in seconds since january 1, 1970), which means that it's very unlikely for the time to every hit exactly 0.0000000. so i'm basically establishing a trigger zone for the time rather than requiring an exact value. it seems to work - the output is showing me that i'm triggering new events within thousandth of a second of the "real" time, and it works with multiple, independent units in perfect sync. pretty trippy tbh!

actually i guess time's not going to be negative, so you're right koogs, just positive! but either way the principle is kinda the same, it's just establishing a buffer/trigger zone.

you don't have a buffer there, the absolute value of .005 will always be .005

if you have a variable in there and it could be either .005 or - .005 it'd always return the positive value

mh, Thursday, 8 March 2018 14:27 (six years ago) link

absolute value is math shorthand for "drop the negative sign if there is one"

mh, Thursday, 8 March 2018 14:28 (six years ago) link

Ok, including absolute value was a silly goof (it can just be > .005) but it still manages to do the job of waiting to start the next cycle until the remainder is between 0 and 0.005, which is the “buffer” I’m blabbing about. Part of my problem in life is I just loosely use terminology that actually has specific meaning in the discipline I’m flailing in atm

You might be able to reduce the number of Pis in favor of cheap radios using something like this:
https://www.youtube.com/watch?v=NdjQw6P0HLA

Also, does the behavior change if you do something like this?:


print ("unit initialization time: ", time.time())
print("waiting for next 18-second cycle to begin...")
while True:
time.sleep(18 - (time.time() % 18))
print("new cycle: ", time.time())
subprocess.call('afplaytestest.wav', shell=True)

Philip Nunez, Thursday, 8 March 2018 20:10 (six years ago) link

should be .wav',shell=True not wavhell=True unless it's some kind of black metal track

Philip Nunez, Thursday, 8 March 2018 20:12 (six years ago) link

Also, does the behavior change if you do something like this?

it does work! and it does simplify the code a bit, too. t's funny though, because it slightly decreases the precision of the cycle starts. here's the log for time.sleep(5 - (time.time() % 5)):


launch time: 1520541567.056979
waiting for next 5 -second cycle to begin...
new cycle: 1520541575.004256
new cycle: 1520541580.005019
new cycle: 1520541584.999948
new cycle: 1520541590.005019
new cycle: 1520541595.004566
new cycle: 1520541600.0001438
new cycle: 1520541605.000339
new cycle: 1520541610.0040052

which is great! accurate to the ms unit, for the most part. but then here's the log for the while time.time() % 5 > 0.005 approach:


launch time: 1520541896.142796
waiting for next 5-second cycle to begin...
new cycle: 1520541900.000105
new cycle: 1520541905.000193
new cycle: 1520541910.001322
new cycle: 1520541915.000451
new cycle: 1520541920.000237
new cycle: 1520541925.000406
new cycle: 1520541930.0009248
new cycle: 1520541935.000673

accurate to another degree, for some reason. anyway, it doesn't really matter since all of that is way more precise than i actually need it to be.

the fm transmitter idea is really cool! i'm not sure i can really use it for this because i want each unit to have both a speaker and a microphone. each one needs to be capable of recording audio using a microphone, translating to text, converting that back to speech (TTS), then playing it over the speaker. i've already got a working version with all of that, it just needs to be tweaked quite a bit (mostly with the speech recognition side - optimizing dictionary and language models in particular) . i've been so busy the last week or two but i need to just go ahead and order the other units + cheap but good USB microphones + cheap speakers so that i can do the tweaking with the real units.
i've been so busy the last week with various things so i haven't been

i meant to say though, i can think of all sorts of things you could do with the FM transmitter setup, though, as a separate project. i feel like there's all sorts of untapped potential in these things.

of course, the day after i buy 4 new raspberry pis, they announce a newer, better, faster version, at the same price:

https://www.raspberrypi.org/blog/raspberry-pi-3-model-bplus-sale-now-35/

Karl Malone, Friday, 16 March 2018 00:11 (six years ago) link

two years pass...

i am thinking of getting one of these for me and my son as a project, initially for video game emulation. anyone use one for that purpose?

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 16:05 (four years ago) link

i haven't personally, but i think several people in this thread have before! and plus, out of all raspberry pi project ideas, the emulation one is probably the most popular and has many online guides you can use to walk you through the process. i think it's a fantastic project idea for you and your son, because it's complicated enough to be interesting and show you some of the possibilities of the device, but also you have like a 99.5% chance of succeeding within a reasonable time frame.

let me be your friend on the other end! (Karl Malone), Sunday, 3 May 2020 16:07 (four years ago) link

I have one hooked up to my TV that I use as a video game emulator (classic arcade + consoles). Works really well, running RetroPie. Connected to the TV via HDMI and the built-in bluetooth pairs with a wireless Nintendo Pro controller.

avellano medio inglés (f. hazel), Sunday, 3 May 2020 16:15 (four years ago) link

xp to KM yeah! ive been looking at some of the youtube tutorials for it. i guess im sold on getting one, but not sure if want to spend a little extra to get the 4GB ram on the pi 4 or be low budget and get a 3B+. i guess i dont want to mess with several hundred gigs of games and will probably stick to older consoles (maybe up to N64/PS1?)

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 17:05 (four years ago) link

Pro Switch controller ?

Joey Corona (Euler), Sunday, 3 May 2020 17:05 (four years ago) link

Xp

Joey Corona (Euler), Sunday, 3 May 2020 17:05 (four years ago) link

fhazel which pi model do you have?

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 17:05 (four years ago) link

I have a pi3 and it plays ps1 games fine. Haven't tested n64

lumen (esby), Sunday, 3 May 2020 17:08 (four years ago) link

be sure to toss super bonk on there!

lumen (esby), Sunday, 3 May 2020 17:11 (four years ago) link

I'm using a Pi 3 Model B (not B+) for my emulator, and the controller is actually a Wii U Pro controller, but I bet a Switch controller would work too. With the HDMI cable, case, and power supply it cost about $50 (I already had the controller).

avellano medio inglés (f. hazel), Sunday, 3 May 2020 17:25 (four years ago) link

I've heard that the 4 has overheating issues and often needs a fan attached, which for me is a hard pass.

avellano medio inglés (f. hazel), Sunday, 3 May 2020 17:35 (four years ago) link

ive read that as well

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 17:36 (four years ago) link

i def want to minimize the amount of parts to have to install and keep a relatively low electrical

what size sd card do yall use?

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 17:38 (four years ago) link

*relatively low electrical footprint

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 17:39 (four years ago) link

Those old 8 bit arcade games are like 40kb each, you can get literally thousands into the smallest SD card and they play on even on a pi2b+. I've a couple of SNES games on the too but haven't stress tested them. Retropie.

I've also got a pi zero music server using volumio and that was also a doddle to set up but the mini usb connectors are a bit strange.

koogs, Sunday, 3 May 2020 17:39 (four years ago) link

yeah, I only have ROMs for classic arcade and home consoles up to the 16-bit era... once games are disc-based, they take up a lot of storage space. The SD card in my Pi is a 32GB one. Has thousands of arcade ROMs, plus the (mostly) complete libraries of about a dozen home console systems.

avellano medio inglés (f. hazel), Sunday, 3 May 2020 18:22 (four years ago) link

just ordered the pi 4 starter kit which includes a case with a built-in fan to address the heating issue. in the end, the 2gb upgrade seemed worth it considering it wasn't much more expensive and retropie has released a pi4-compatible image.

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 19:33 (four years ago) link

excellent! I've heard that the newer video chip on the Pi 4 can do N64 emulation (which is problematic on even high-end PCs, honestly) much better than the Pi 3. Dreamcast too.

avellano medio inglés (f. hazel), Sunday, 3 May 2020 21:09 (four years ago) link

yeah, im at least gonna check it out. i got the 2gb ram version bc i was trying to keep it under 100 for budget (incl controllers).

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 21:31 (four years ago) link

i picked up 2 ps2-style controllers since i figured those could handle both ps1/n64 configs, although the C buttons could be weird (maybe use the right analog stick?)

methinks dababy doth bop shit too much (m bison), Sunday, 3 May 2020 21:35 (four years ago) link

I have a version 3 running retropie with two cheapo USB SNES controllers and it's great. It was like $70 all in with an SD card and case and easy if you're comfortable with formatting drives and linux at all.

I've only used it for nes and snes games and it's great, my kid and i have been playing Super Mario 2 and 3, Donkey Kong Country and Super Mario World pretty regularly during lockdown. I've never played anything past the PS1 so it all feels awesome still. I do kind of want to get wireless controllers though

joygoat, Monday, 4 May 2020 18:12 (four years ago) link

honestly, i've never been able to reliably emulate anything from N64 on. definitely not playstation and up, but even the N64 roms i have are always messing up. maybe i'm just a really bad emulator (openEMU)?

but anyway, just throwing out there because if you notice later generation games don't work well on the Raspberry Pi, keep in mind they might not work well in general.

let me be your friend on the other end! (Karl Malone), Monday, 4 May 2020 18:33 (four years ago) link

this is what ive gathered from various youtube tutorials and my limited experience emulating n64 stuff on my old pc laptop. some games would run, but would be laggy. one was just bizarre looking (mario tennis) but still mostly functional. i wasnt clocking fps or anything like that, though.

methinks dababy doth bop shit too much (m bison), Monday, 4 May 2020 18:37 (four years ago) link

assuming the executive branch changes hands, anyone—be they R or D or a serious media person just delivering Hard Truths—who suggests that we really have to tighten our belts what with all this deficit should be immediately and in no uncertain terms be told to [ redacted] themselves immediately. and anyone who gives this advice one iota of thought other than to point and laugh and shame should also be written off forever. period.

A-B-C. A-Always, B-Be, C-Chooglin (will), Monday, 4 May 2020 19:17 (four years ago) link

god damn it. rong thread

A-B-C. A-Always, B-Be, C-Chooglin (will), Monday, 4 May 2020 19:17 (four years ago) link

otm though

let me be your friend on the other end! (Karl Malone), Monday, 4 May 2020 19:20 (four years ago) link

I guess i phrased it wrong - in actual real life, I've only ever played up to the N64 and PS1 and have never used any xbox, ps2+, switch, wii, etc. so my video game literacy ends in the late 90s. I've only ever tried emulating through the SNES on my pi

joygoat, Monday, 4 May 2020 20:46 (four years ago) link

the wii was the last system i owned when it was current-gen

methinks dababy doth bop shit too much (m bison), Monday, 4 May 2020 21:06 (four years ago) link

we have this now and the kid is having a blast, so mission accomplished.

re: n64 emulation, its really hit or miss. mario 64 seems to run okay, mario kart 64 runs but has choppy sound, others are completely unplayable. psone games are much larger files but i dl'ed marvel v capcom 2 and it ran like a dream. he's probably enjoying the snes and GBA games the most at this point.

methinks dababy doth bop shit too much (m bison), Sunday, 10 May 2020 21:23 (four years ago) link

i also got the simpsons arcade game which i dont know that i ever beat as a kid, but it kind of loses the drama without the limitation of chuck e cheese tokens.

methinks dababy doth bop shit too much (m bison), Sunday, 10 May 2020 21:26 (four years ago) link

also i learned what a chaotic person my son is by playing nba jam with him bc his favorite shot is a full court heave. he takes like 15 of these and makes at least 3 a game which only emboldens him further despite the fact that we routinely lose games by 10 or more points. he's like a coked out trae young.

methinks dababy doth bop shit too much (m bison), Sunday, 10 May 2020 21:33 (four years ago) link


You must be logged in to post. Please either login here, or if you are not registered, you may register here.